UML profile extensions for code lists and units of measurements

10 Copyright © 2011 Open Geospatial Consortium Table 2 – Tagged values for unit of measure value constraints Stereotype Model element Tagged Value Description schema or application Schema Package uomResourceURI Base URI of the units dictionary Example: http:metadata.ces.milmdrnsGSIPuom uomResourceValuePattern Access pattern for the unit, containing the following substitution points: {resource}: The base URI of the units dictionary, to be replaced by the tagged value uomResourceURI from the schema. {quantity}: The quantity type of the unit, to be replaced with the value of the tagged value physicalQuantity or the value ‘noncomparable’ from the property. {uom}: The local identifier of the unit in the units dictionary, to be replaced with the value of the tagged value recommendedMeasure or noncomparableMeasure from the property, or a valid value from the resource that represents the physicalQuantity. Default: {resource}{quantity}{uom}. uomResourceRepresentation MIME type indicating the units dictionary representation Currently, only one value is specified: applicationgml+xml;version=3.2 for a GML dictionary as currently used in the MDR Default: applicationgml+xml;version=3.2 - attribute physicalQuantity Physical quantity of the referenced unit Example: length recommendedMeasure Unit recommended for use with this property. The unit must be consistent with the physicalQuantity value. Example: metre noncomparableMeasure Valid non-comparable unit. Example: flightLevel Copyright © 2011 Open Geospatial Consortium 11

6.3 XML Schema conversion rule extensions implemented in ShapeChange

6.3.1 Example model

As an example we use the following UML model of a profile: Figure 4 - Test model for ISO 19115 profiles 12 Copyright © 2011 Open Geospatial Consortium

6.3.2 Tagged value suppress

A classifier that has the tagged value suppress with a value of true shall not be represented in the XML Schema, i.e. no object element, no type and no property type is created for this classifier. If this classifier is used as a value of a property, the property type of the direct or indirect, non-abstract supertype without this tagged value set to true shall be used as the property type of this type. In Figure 4 the type Type1r restriction is suppressed and thus no XML schema component for this type is defined as part of the profile schema, while the standard XML schema components are created for Type1e extension and Type1c combination. This shows the schema components created for Type1c: element name=Type1c substitutionGroup=b:Type1 type=p:Type1c_Type complexType name=Type1c_Type complexContent extension base=b:Type1_Type sequence element minOccurs=0 name=att5 type=gco:Integer_PropertyType element maxOccurs=unbounded minOccurs=0 name=rel type=p:Type2_PropertyType sequence extension complexContent complexType complexType name=Type1c_PropertyType sequence minOccurs=0 element ref=p:Type1c sequence attributeGroup ref=gco:ObjectReference attribute ref=gco:nilReason complexType

6.3.3 XML Schema encoding of code list properties of features

There are two options how to represent code list values in GML. One is the default GML 3.2 encoding of code list values gml:CodeType, the other is to already use the new recommended encoding with GML 3.3 gml:ReferenceType, i.e., an xlink:href to the value. In the ShapeChange implementation the parameter indicating the target GML version determines the code list encoding rule applied. For target version 3.2, a feature attribute att1 that is code-list-valued is converted to element name=att1 type=gml:CodeType