Application features are features

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 231

21.4.2.2 User-defined geometry property types

Furthermore, authors of application schemas may create their own geometry property types that encapsulate geometry types which are defined in Clause 10, 10.5.10 or Clause 11 or which they have defined in accordance with 21.4.2.1. They shall ensure that these properties follow the pattern used by gml:GeometryPropertyType for standard properties and gml:GeometryArrayPropertyType for array properties. The target type shall be a bona fide geometry object element. A geometry property type may be a restriction of gml:GeometryPropertyType, but this is not a requirement. Nevertheless, every geometry property shall follow the pattern of this type. An application schema may support the choice between an inline or a by-reference semantic or it may restrict the use to either inline prohibit the use of the Xlink attributes or by-reference prohibit the containment of the geometry in the feature. A geometry array property type may be a restriction of gml:GeometryArrayPropertyType, but this is not a requirement. Nevertheless, every geometry property shall follow the pattern of this type. All geometry elements in the array are contained inline in the containing object, only inline semantics is supported by array properties. EXAMPLE The following complex type definitions in an application schema define a ―standard‖ property type for a user- defined geometry type and an array property type for the same geometry type. complexType name=MyGeometryPropertyType sequence element ref=foo:PointWithBearingType minOccurs=0 sequence attributeGroup ref=gml:AssociationAttributeGroup attributeGroup ref=gml:OwnershipAttributeGroup complexType complexType name=MyGeometryArrayPropertyType sequence element ref=foo:PointWithBearingType minOccurs=0 maxOccurs=unbounded sequence complexType

21.5 Schemas defining spatial topologies

21.5.1 Import GML topology schema components

The application schema shall import the GML schema as described in 21.2.3. Any GML profile referenced from the application schema shall include at least the gml:AbstractTopology element and all schema components used by this element. NOTE Typically additional topology schema components are required besides those required by gml:AbstractTopology. In practice, especially concrete elements and types like gml:Edge and gml:DirectedEdgePropertyType will typically be part of the profile. EXAMPLE Import the GML schema for example as follows using a schema document of Annex C: import namespace=http:www.opengis.netgml3.2 schemaLocation=..gml.xsd