Example model XML Schema conversion rule extensions implemented in ShapeChange

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 Copyright © 2011 Open Geospatial Consortium 13 while for target version 3.3, the same feature attribute is converted to element name=att1 type=gml:ReferenceType

6.3.4 Association classes

The GML 3.3 association class encoding rule has been implemented in ShapeChange. Figure 5 – Association class example The model shown in the figure above is converted in XML Schema to: element name=AssociationClass substitutionGroup=gml:AbstractGML type=t:AssociationClassType