<complexType name="AbstractGeneralOperationParameterPropertyType">
<annotation>
<documentation>gml:AbstractGeneralOperationParameterPropertyType is a property type for association roles to an operation parameter or group, either referencing or containing the definition of that parameter or group.

<complexType name="AbstractGeneralParameterValuePropertyType">
<annotation>
<documentation>gml:AbstractGeneralParameterValuePropertyType is a property type for inline association roles to a parameter value or group of parameter values, always containing the values.

<complexType abstract="true" name="AbstractMemberType">
<annotation>
<documentation>To create a collection of GML Objects that are not all features, a property type shall be derived by extension from gml:AbstractMemberType.

<complexType abstract="true" name="AbstractMetadataPropertyType">
<annotation>
<documentation>To associate metadata described by any XML Schema with a GML object, a property element shall be defined whose content model is derived by extension from gml:AbstractMetadataPropertyType.

<complexType name="AbstractRingPropertyType">
<annotation>
<documentation>A property with the content model of gml:AbstractRingPropertyType encapsulates a ring to represent the surface boundary property of a surface.

<complexType name="AffineCSPropertyType">
<annotation>
<documentation>gml:AffineCSPropertyType is a property type for association roles to an affine coordinate system, either referencing or containing the definition of that coordinate system.

<simpleType name="booleanOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.

<complexType name="CartesianCSPropertyType">
<annotation>
<documentation>gml:CartesianCSPropertyType is a property type for association roles to a Cartesian coordinate system, either referencing or containing the definition of that coordinate system.

<complexType name="CompoundCRSPropertyType">
<annotation>
<documentation>gml:CompoundCRSPropertyType is a property type for association roles to a compound coordinate reference system, either referencing or containing the definition of that reference system.

<complexType name="ConcatenatedOperationPropertyType">
<annotation>
<documentation>gml:ConcatenatedOperationPropertyType is a property type for association roles to a concatenated operation, either referencing or containing the definition of that concatenated operation.

<complexType name="ConversionPropertyType">
<annotation>
<documentation>gml:ConversionPropertyType is a property type for association roles to a concrete general-purpose conversion, either referencing or containing the definition of that conversion.

<complexType name="CoordinateOperationPropertyType">
<annotation>
<documentation>gml:CoordinateOperationPropertyType is a property type for association roles to a coordinate operation, either referencing or containing the definition of that coordinate operation.

<complexType name="CoordinateSystemAxisPropertyType">
<annotation>
<documentation>gml:CoordinateSystemAxisPropertyType is a property type for association roles to a coordinate system axis, either referencing or containing the definition of that axis.

<complexType name="CoordinateSystemPropertyType">
<annotation>
<documentation>gml:CoordinateSystemPropertyType is a property type for association roles to a coordinate system, either referencing or containing the definition of that coordinate system.

<complexType name="CRSPropertyType">
<annotation>
<documentation>gml:CRSPropertyType is a property type for association roles to a CRS abstract coordinate reference system, either referencing or containing the definition of that CRS.

<simpleType name="CurveInterpolationType">
<annotation>
<documentation>gml:CurveInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema.

<complexType name="CurvePropertyType">
<annotation>
<documentation>A property that has a curve as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="CylindricalCSPropertyType">
<annotation>
<documentation>gml:CylindricalCSPropertyType is a property type for association roles to a cylindrical coordinate system, either referencing or containing the definition of that coordinate system.

<complexType name="DatumPropertyType">
<annotation>
<documentation>gml:DatumPropertyType is a property type for association roles to a datum, either referencing or containing the definition of that datum.

<complexType name="DerivedCRSPropertyType">
<annotation>
<documentation>gml:DerivedCRSPropertyType is a property type for association roles to a non-projected derived coordinate reference system, either referencing or containing the definition of that reference system.

<complexType name="DirectionDescriptionType">
<annotation>
<documentation>direction descriptions are specified by a compass point code, a keyword, a textual description or a reference to a description.

<complexType name="DirectPositionListType">
<annotation>
<documentation>posList instances (and other instances with the content model specified by DirectPositionListType) hold the coordinates for a sequence of direct positions within the same coordinate reference system (CRS).

<simpleType name="doubleOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.

<complexType name="EllipsoidalCSPropertyType">
<annotation>
<documentation>gml:EllipsoidalCSPropertyType is a property type for association roles to an ellipsoidal coordinate system, either referencing or containing the definition of that coordinate system.

<complexType name="EllipsoidPropertyType">
<annotation>
<documentation>gml:EllipsoidPropertyType is a property type for association roles to an ellipsoid, either referencing or containing the definition of that ellipsoid.

<complexType name="EngineeringCRSPropertyType">
<annotation>
<documentation>gml:EngineeringCRSPropertyType is a property type for association roles to an engineering coordinate reference system, either referencing or containing the definition of that reference system.

<complexType name="EngineeringDatumPropertyType">
<annotation>
<documentation>gml:EngineeringDatumPropertyType is a property type for association roles to an engineering datum, either referencing or containing the definition of that datum.

<complexType name="GeneralConversionPropertyType">
<annotation>
<documentation>gml:GeneralConversionPropertyType is a property type for association roles to a general conversion, either referencing or containing the definition of that conversion.

<complexType name="GeneralTransformationPropertyType">
<annotation>
<documentation>gml:GeneralTransformationPropertyType is a property type for association roles to a general transformation, either referencing or containing the definition of that transformation.

<complexType name="GeodeticCRSPropertyType">
<annotation>
<documentation>gml:GeodeticCRSPropertyType is a property type for association roles to a geodetic coordinate reference system, either referencing or containing the definition of that reference system.

<complexType name="GeodeticDatumPropertyType">
<annotation>
<documentation>gml:GeodeticDatumPropertyType is a property type for association roles to a geodetic datum, either referencing or containing the definition of that datum.

<complexType name="GeometricComplexPropertyType">
<annotation>
<documentation>A property that has a geometric complex as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="GeometricPrimitivePropertyType">
<annotation>
<documentation>A property that has a geometric primitive as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="GeometryPropertyType">
<annotation>
<documentation>A geometric property may either be any geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same or another document).

<complexType name="ImageCRSPropertyType">
<annotation>
<documentation>gml:ImageCRSPropertyType is a property type for association roles to an image coordinate reference system, either referencing or containing the definition of that reference system.

<complexType name="ImageDatumPropertyType">
<annotation>
<documentation>gml:ImageDatumPropertyType is a property type for association roles to an image datum, either referencing or containing the definition of that datum.

<simpleType name="integerOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.

<complexType name="LinearCSPropertyType">
<annotation>
<documentation>gml:LinearCSPropertyType is a property type for association roles to a linear coordinate system, either referencing or containing the definition of that coordinate system.

<complexType name="LinearRingPropertyType">
<annotation>
<documentation>A property with the content model of gml:LinearRingPropertyType encapsulates a linear ring to represent a component of a surface boundary.

<complexType name="MeasureType">
<annotation>
<documentation>gml:MeasureType supports recording an amount encoded as a value of XML Schema double, together with a units of measure indicated by an attribute uom, short for "units Of measure".

<complexType name="MultiCurvePropertyType">
<annotation>
<documentation>A property that has a collection of curves as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="MultiGeometryPropertyType">
<annotation>
<documentation>A property that has a geometric aggregate as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="MultiPointPropertyType">
<annotation>
<documentation>A property that has a collection of points as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="MultiSolidPropertyType">
<annotation>
<documentation>A property that has a collection of solids as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="MultiSurfacePropertyType">
<annotation>
<documentation>A property that has a collection of surfaces as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<simpleType name="NameOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.

<complexType name="OperationMethodPropertyType">
<annotation>
<documentation>gml:OperationMethodPropertyType is a property type for association roles to a concrete general-purpose operation method, either referencing or containing the definition of that method.

<complexType name="OperationParameterGroupPropertyType">
<annotation>
<documentation>gml:OperationParameterPropertyType is a property type for association roles to an operation parameter group, either referencing or containing the definition of that parameter group.

<complexType name="OperationParameterPropertyType">
<annotation>
<documentation>gml:OperationParameterPropertyType is a property type for association roles to an operation parameter, either referencing or containing the definition of that parameter.

<complexType name="PassThroughOperationPropertyType">
<annotation>
<documentation>gml:PassThroughOperationPropertyType is a property type for association roles to a pass through operation, either referencing or containing the definition of that pass through operation.

<complexType name="PointPropertyType">
<annotation>
<documentation>A property that has a point as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="PolarCSPropertyType">
<annotation>
<documentation>gml:PolarCSPropertyType is a property type for association roles to a polar coordinate system, either referencing or containing the definition of that coordinate system.

<complexType name="PrimeMeridianPropertyType">
<annotation>
<documentation>gml:PrimeMeridianPropertyType is a property type for association roles to a prime meridian, either referencing or containing the definition of that meridian.

<complexType name="ProjectedCRSPropertyType">
<annotation>
<documentation>gml:ProjectedCRSPropertyType is a property type for association roles to a projected coordinate reference system, either referencing or containing the definition of that reference system.

<complexType name="RelatedTimeType">
<annotation>
<documentation>gml:RelatedTimeType provides a content model for indicating the relative position of an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive.

<complexType name="SingleCRSPropertyType">
<annotation>
<documentation>gml:SingleCRSPropertyType is a property type for association roles to a single coordinate reference system, either referencing or containing the definition of that coordinate reference system.

<complexType name="SingleOperationPropertyType">
<annotation>
<documentation>gml:SingleOperationPropertyType is a property type for association roles to a single operation, either referencing or containing the definition of that single operation.

<complexType name="SolidPropertyType">
<annotation>
<documentation>A property that has a solid as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="SphericalCSPropertyType">
<annotation>
<documentation>gml:SphericalCSPropertyType is property type for association roles to a spherical coordinate system, either referencing or containing the definition of that coordinate system.

<simpleType name="stringOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.

<simpleType name="SurfaceInterpolationType">
<annotation>
<documentation>gml:SurfaceInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema.

<complexType name="SurfacePropertyType">
<annotation>
<documentation>A property that has a surface as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document).

<complexType name="TemporalCRSPropertyType">
<annotation>
<documentation>gml:TemporalCRSPropertyType is a property type for association roles to a temporal coordinate reference system, either referencing or containing the definition of that reference system.

<complexType name="TemporalDatumPropertyType">
<annotation>
<documentation>gml:TemporalDatumPropertyType is a property type for association roles to a temporal datum, either referencing or containing the definition of that datum.

<complexType name="TimeCSPropertyType">
<annotation>
<documentation>gml:TimeCSPropertyType is a property type for association roles to a time coordinate system, either referencing or containing the definition of that coordinate system.

<simpleType name="TimePositionUnion">
<annotation>
<documentation>The simple type gml:TimePositionUnion is a union of XML Schema simple types which instantiate the subtypes for temporal position described in ISO 19108.

<complexType name="TimePrimitivePropertyType">
<annotation>
<documentation>gml:TimePrimitivePropertyType provides a standard content model for associations between an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive and another object.

<complexType name="TransformationPropertyType">
<annotation>
<documentation>gml:TransformationPropertyType is a property type for association roles to a transformation, either referencing or containing the definition of that transformation.

<simpleType name="UomSymbol">
<annotation>
<documentation>This type specifies a character string of length at least one, and restricted such that it must not contain any of the following characters: ":" (colon), " " (space), (newline), (carriage return), (tab).

<simpleType name="UomURI">
<annotation>
<documentation>This type specifies a URI, restricted such that it must start with one of the following sequences: "#", "./", "../", or a string of characters followed by a ":".

<complexType name="UserDefinedCSPropertyType">
<annotation>
<documentation>gml:UserDefinedCSPropertyType is a property type for association roles to a user-defined coordinate system, either referencing or containing the definition of that coordinate system.

<complexType name="VerticalCRSPropertyType">
<annotation>
<documentation>gml:VerticalCRSPropertyType is a property type for association roles to a vertical coordinate reference system, either referencing or containing the definition of that reference system.

<complexType name="VerticalCSPropertyType">
<annotation>
<documentation>gml:VerticalCSPropertyType is a property type for association roles to a vertical coordinate system, either referencing or containing the definition of that coordinate system.

<complexType name="VerticalDatumPropertyType">
<annotation>
<documentation>gml:VerticalDatumPropertyType is property type for association roles to a vertical datum, either referencing or containing the definition of that datum.

ABSTRACTCOVERAGETYPE_TYPE

<complexType abstract="true" name="AbstractCoverageType">
<annotation>
<documentation>The base type for coverages is gml:AbstractCoverageType. The basic elements of a coverage can be seen in this content model: the coverage contains gml:domainSet and gml:rangeSet properties. The gml:domainSet property describes the domain of the coverage and the gml:rangeSet property describes the range of the coverage.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element ref="gml:domainSet"/>
<element ref="gml:rangeSet"/>
</sequence>
</extension>
</complexContent>
</complexType>

ABSTRACTCURVETYPE_TYPE

<complexType abstract="true" name="AbstractCurveType">
<annotation>
<documentation>gml:AbstractCurveType is an abstraction of a curve to support the different levels of complexity. The curve may always be viewed as a geometric primitive, i.e. is continuous.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType"/>
</complexContent>
</complexType>

ABSTRACTFEATUREMEMBERTYPE_TYPE

<complexType abstract="true" name="AbstractFeatureMemberType">
<annotation>
<documentation>To create a collection of GML features, a property type shall be derived by extension from gml:AbstractFeatureMemberType.
By default, this abstract property type does not imply any ownership of the features in the collection. The owns attribute of gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership of a feature in the collection. A collection shall not own a feature already owned by another object.</documentation>
</annotation>
<sequence/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

ABSTRACTFEATURETYPE_TYPE

<complexType abstract="true" name="AbstractFeatureType">
<annotation>
<documentation>The basic feature model is given by the gml:AbstractFeatureType.
The content model for gml:AbstractFeatureType adds two specific properties suitable for geographic features to the content model defined in gml:AbstractGMLType.
The value of the gml:boundedBy property describes an envelope that encloses the entire feature instance, and is primarily useful for supporting rapid searching for features that occur in a particular location.
The value of the gml:location property describes the extent, position or relative location of the feature.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractGMLType">
<sequence>
<element minOccurs="0" ref="gml:boundedBy"/>
<element minOccurs="0" ref="gml:location"/>
</sequence>
</extension>
</complexContent>
</complexType>

ABSTRACTGENERALOPERATIONPARAMETERPROPERTYTYPE_TYPE

public static final ComplexType ABSTRACTGENERALOPERATIONPARAMETERPROPERTYTYPE_TYPE

<complexType name="AbstractGeneralOperationParameterPropertyType">
<annotation>
<documentation>gml:AbstractGeneralOperationParameterPropertyType is a property type for association roles to an operation parameter or group, either referencing or containing the definition of that parameter or group.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractGeneralOperationParameter"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>

ABSTRACTGENERALOPERATIONPARAMETERTYPE_TYPE

public static final ComplexType ABSTRACTGENERALOPERATIONPARAMETERTYPE_TYPE

ABSTRACTGEOMETRICPRIMITIVETYPE_TYPE

<complexType abstract="true" name="AbstractGeometricPrimitiveType">
<annotation>
<documentation>gml:AbstractGeometricPrimitiveType is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractGeometryType"/>
</complexContent>
</complexType>

ABSTRACTGEOMETRYTYPE_TYPE

<complexType abstract="true" name="AbstractGeometryType">
<annotation>
<documentation>All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute (gml:id), one or more names (elements identifier and name) and a description (elements description and descriptionReference) . It may be associated with a spatial reference system (attribute group gml:SRSReferenceGroup).
The following rules shall be adhered to:
- Every geometry type shall derive from this abstract type.
- Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of AbstractGeometry.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractGMLType">
<attributeGroup ref="gml:SRSReferenceGroup"/>
</extension>
</complexContent>
</complexType>

ABSTRACTMEMBERTYPE_TYPE

<complexType abstract="true" name="AbstractMemberType">
<annotation>
<documentation>To create a collection of GML Objects that are not all features, a property type shall be derived by extension from gml:AbstractMemberType.
This abstract property type is intended to be used only in object types where software shall be able to identify that an instance of such an object type is to be interpreted as a collection of objects.
By default, this abstract property type does not imply any ownership of the objects in the collection. The owns attribute of gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership of an object in the collection. A collection shall not own an object already owned by another object.
</documentation>
</annotation>
<sequence/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

ABSTRACTMETADATAPROPERTYTYPE_TYPE

<complexType abstract="true" name="AbstractMetadataPropertyType">
<annotation>
<documentation>To associate metadata described by any XML Schema with a GML object, a property element shall be defined whose content model is derived by extension from gml:AbstractMetadataPropertyType.
The value of such a property shall be metadata. The content model of such a property type, i.e. the metadata application schema shall be specified by the GML Application Schema.
By default, this abstract property type does not imply any ownership of the metadata. The owns attribute of gml:OwnershipAttributeGroup may be used on a metadata property element instance to assert ownership of the metadata.
If metadata following the conceptual model of ISO 19115 is to be encoded in a GML document, the corresponding Implementation Specification specified in ISO/TS 19139 shall be used to encode the metadata information.
</documentation>
</annotation>
<sequence/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

ABSTRACTPARAMETRICCURVESURFACETYPE_TYPE

public static final ComplexType ABSTRACTPARAMETRICCURVESURFACETYPE_TYPE

ABSTRACTSOLIDTYPE_TYPE

<complexType name="AbstractSolidType">
<annotation>
<documentation>gml:AbstractSolidType is an abstraction of a solid to support the different levels of complexity. The solid may always be viewed as a geometric primitive, i.e. is contiguous.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType"/>
</complexContent>
</complexType>

ABSTRACTSURFACETYPE_TYPE

<complexType abstract="true" name="AbstractSurfaceType">
<annotation>
<documentation>gml:AbstractSurfaceType is an abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractGeometricPrimitiveType"/>
</complexContent>
</complexType>

AXISDIRECTION_TYPE

<simpleType name="AxisDirection">
<annotation>
<documentation>The value of a gml:AxisDirection indicates the incrementation order to be used on an axis of the grid.</documentation>
</annotation>
<restriction base="string">
<pattern value="[\+\-][1-9][0-9]*"/>
</restriction>
</simpleType>

AXISDIRECTIONLIST_TYPE

<simpleType name="AxisDirectionList">
<annotation>
<documentation>The different values in a gml:AxisDirectionList indicate the incrementation order to be used on all axes of the grid. Each axis shall be mentioned once and only once.</documentation>
</annotation>
<list itemType="gml:AxisDirection"/>
</simpleType>

CURVEPROPERTYTYPE_TYPE

<complexType name="CurvePropertyType">
<annotation>
<documentation>A property that has a curve as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractCurve"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

CODELISTTYPE_TYPE

<complexType name="CodeListType">
<annotation>
<documentation>gml:CodeListType provides for lists of terms. The values in an instance element shall all be valid according to the rules of the dictionary, classification scheme, or authority identified by the value of its codeSpace attribute.</documentation>
</annotation>
<simpleContent>
<extension base="gml:NameList">
<attribute name="codeSpace" type="anyURI"/>
</extension>
</simpleContent>
</complexType>

CODEORNILREASONLISTTYPE_TYPE

<complexType name="CodeOrNilReasonListType">
<annotation>
<documentation>gml:CodeOrNilReasonListType provides for lists of terms. The values in an instance element shall all be valid according to the rules of the dictionary, classification scheme, or authority identified by the value of its codeSpace attribute. An instance element may also include embedded values from NilReasonType. It is intended to be used in situations where a term or classification is expected, but the value may be absent for some reason.</documentation>
</annotation>
<simpleContent>
<extension base="gml:NameOrNilReasonList">
<attribute name="codeSpace" type="anyURI"/>
</extension>
</simpleContent>
</complexType>

CODETYPE_TYPE

<complexType name="CodeType">
<annotation>
<documentation>gml:CodeType is a generalized type to be used for a term, keyword or name.
It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term.</documentation>
</annotation>
<simpleContent>
<extension base="string">
<attribute name="codeSpace" type="anyURI"/>
</extension>
</simpleContent>
</complexType>

CONCATENATEDOPERATIONTYPE_TYPE

<complexType name="ConcatenatedOperationType">
<annotation>
<documentation>gml:ConcatenatedOperation is an ordered sequence of two or more coordinate operations. This sequence of operations is constrained by the requirement that the source coordinate reference system of step (n+1) must be the same as the target coordinate reference system of step (n). The source coordinate reference system of the first step and the target coordinate reference system of the last step are the source and target coordinate reference system associated with the concatenated operation. Instead of a forward operation, an inverse operation may be used for one or more of the operation steps mentioned above, if the inverse operation is uniquely defined by the forward operation.
The gml:coordOperation property elements are an ordered sequence of associations to the two or more operations used by this concatenated operation. The AggregationAttributeGroup should be used to specify that the coordOperation associations are ordered.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractCoordinateOperationType">
<sequence>
<element maxOccurs="unbounded" minOccurs="2" ref="gml:coordOperation"/>
</sequence>
<attributeGroup ref="gml:AggregationAttributeGroup"/>
</extension>
</complexContent>
</complexType>

CONVERSIONTOPREFERREDUNITTYPE_TYPE

<complexType name="ConversionToPreferredUnitType">
<annotation>
<documentation>The inherited attribute uom references the preferred unit that this conversion applies to. The conversion of a unit to the preferred unit for this physical quantity type is specified by an arithmetic conversion (scaling and/or offset). The content model extends gml:UnitOfMeasureType, which has a mandatory attribute uom which identifies the preferred unit for the physical quantity type that this conversion applies to. The conversion is specified by a choice of
- gml:factor, which defines the scale factor, or
- gml:formula, which defines a formula
by which a value using the conventional unit of measure can be converted to obtain the corresponding value using the preferred unit of measure.
The formula defines the parameters of a simple formula by which a value using the conventional unit of measure can be converted to the corresponding value using the preferred unit of measure. The formula element contains elements a, b, c and d, whose values use the XML Schema type double. These values are used in the formula y = (a + bx) / (c + dx), where x is a value using this unit, and y is the corresponding value using the base unit. The elements a and d are optional, and if values are not provided, those parameters are considered to be zero. If values are not provided for both a and d, the formula is equivalent to a fraction with numerator and denominator parameters.</documentation>
</annotation>
<complexContent>
<extension base="gml:UnitOfMeasureType">
<choice>
<element name="factor" type="double"/>
<element name="formula" type="gml:FormulaType"/>
</choice>
</extension>
</complexContent>
</complexType>

COORDINATESYSTEMAXISPROPERTYTYPE_TYPE

<complexType name="CoordinateSystemAxisPropertyType">
<annotation>
<documentation>gml:CoordinateSystemAxisPropertyType is a property type for association roles to a coordinate system axis, either referencing or containing the definition of that axis.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:CoordinateSystemAxis"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>

COORDINATESYSTEMAXISTYPE_TYPE

<complexType name="CoordinateSystemAxisType">
<complexContent>
<extension base="gml:IdentifiedObjectType">
<sequence>
<element ref="gml:axisAbbrev"/>
<element ref="gml:axisDirection"/>
<element minOccurs="0" ref="gml:minimumValue"/>
<element minOccurs="0" ref="gml:maximumValue"/>
<element minOccurs="0" ref="gml:rangeMeaning"/>
</sequence>
<attribute name="uom" type="gml:UomIdentifier" use="required">
<annotation>
<documentation>The uom attribute provides an identifier of the unit of measure used for this coordinate system axis. The value of this coordinate in a coordinate tuple shall be recorded using this unit of measure, whenever those coordinates use a coordinate reference system that uses a coordinate system that uses this axis.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>

COORDINATESTYPE_TYPE

<complexType name="CoordinatesType">
<annotation>
<documentation>This type is deprecated for tuples with ordinate values that are numbers.
CoordinatesType is a text string, intended to be used to record an array of tuples or coordinates.
While it is not possible to enforce the internal structure of the string through schema validation, some optional attributes have been provided in previous versions of GML to support a description of the internal structure. These attributes are deprecated. The attributes were intended to be used as follows:
Decimal symbol used for a decimal point (default="." a stop or period)
cs symbol used to separate components within a tuple or coordinate string (default="," a comma)
ts symbol used to separate tuples or coordinate strings (default=" " a space)
Since it is based on the XML Schema string type, CoordinatesType may be used in the construction of tables of tuples or arrays of tuples, including ones that contain mixed text and numeric values.</documentation>
</annotation>
<simpleContent>
<extension base="string">
<attribute default="." name="decimal" type="string"/>
<attribute default="," name="cs" type="string"/>
<attribute default=" " name="ts" type="string"/>
</extension>
</simpleContent>
</complexType>

DIRECTPOSITIONLISTTYPE_TYPE

<complexType name="DirectPositionListType">
<annotation>
<documentation>posList instances (and other instances with the content model specified by DirectPositionListType) hold the coordinates for a sequence of direct positions within the same coordinate reference system (CRS).
if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of, typically a geometric object like a point, curve, etc.
The optional attribute count specifies the number of direct positions in the list. If the attribute count is present then the attribute srsDimension shall be present, too.
The number of entries in the list is equal to the product of the dimensionality of the coordinate reference system (i.e. it is a derived value of the coordinate reference system definition) and the number of direct positions.</documentation>
</annotation>
<simpleContent>
<extension base="gml:doubleList">
<attributeGroup ref="gml:SRSReferenceGroup"/>
<attribute name="count" type="positiveInteger"/>
</extension>
</simpleContent>
</complexType>

DIRECTPOSITIONTYPE_TYPE

<complexType name="DirectPositionType">
<annotation>
<documentation>Direct position instances hold the coordinates for a position within some coordinate reference system (CRS). Since direct positions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the srsName attribute will in general be missing, if this particular direct position is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS.
if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of, typically a geometric object like a point, curve, etc.</documentation>
</annotation>
<simpleContent>
<extension base="gml:doubleList">
<attributeGroup ref="gml:SRSReferenceGroup"/>
</extension>
</simpleContent>
</complexType>

DIRECTIONDESCRIPTIONTYPE_TYPE

<complexType name="DirectionDescriptionType">
<annotation>
<documentation>direction descriptions are specified by a compass point code, a keyword, a textual description or a reference to a description.
A gml:compassPoint is specified by a simple enumeration.
In addition, thre elements to contain text-based descriptions of direction are provided.
If the direction is specified using a term from a list, gml:keyword should be used, and the list indicated using the value of the codeSpace attribute.
if the direction is decribed in prose, gml:direction or gml:reference should be used, allowing the value to be included inline or by reference.</documentation>
</annotation>
<choice>
<element name="compassPoint" type="gml:CompassPointEnumeration"/>
<element name="keyword" type="gml:CodeType"/>
<element name="description" type="string"/>
<element name="reference" type="gml:ReferenceType"/>
</choice>
</complexType>

GENERALCONVERSIONPROPERTYTYPE_TYPE

<complexType name="GeneralConversionPropertyType">
<annotation>
<documentation>gml:GeneralConversionPropertyType is a property type for association roles to a general conversion, either referencing or containing the definition of that conversion.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractGeneralConversion"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>

GENERALTRANSFORMATIONPROPERTYTYPE_TYPE

public static final ComplexType GENERALTRANSFORMATIONPROPERTYTYPE_TYPE

<complexType name="GeneralTransformationPropertyType">
<annotation>
<documentation>gml:GeneralTransformationPropertyType is a property type for association roles to a general transformation, either referencing or containing the definition of that transformation.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractGeneralTransformation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>

GEOMETRICCOMPLEXPROPERTYTYPE_TYPE

<complexType name="GeometricComplexPropertyType">
<annotation>
<documentation>A property that has a geometric complex as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<choice>
<element ref="gml:GeometricComplex"/>
<element ref="gml:CompositeCurve"/>
<element ref="gml:CompositeSurface"/>
<element ref="gml:CompositeSolid"/>
</choice>
</sequence>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>

GEOMETRICPRIMITIVEPROPERTYTYPE_TYPE

<complexType name="GeometricPrimitivePropertyType">
<annotation>
<documentation>A property that has a geometric primitive as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractGeometricPrimitive"/>
</sequence>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>

GEOMETRYARRAYPROPERTYTYPE_TYPE

<complexType name="GeometryArrayPropertyType">
<annotation>
<documentation>If a feature has a property which takes an array of geometry elements as its value, this is called a geometry array property. A generic type for such a geometry property is GeometryArrayPropertyType.
The elements are always contained inline in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported.</documentation>
</annotation>
<sequence maxOccurs="unbounded" minOccurs="0">
<element ref="gml:AbstractGeometry"/>
</sequence>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

GEOMETRYPROPERTYTYPE_TYPE

<complexType name="GeometryPropertyType">
<annotation>
<documentation>A geometric property may either be any geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same or another document). Note that either the reference or the contained element shall be given, but not both or none.
If a feature has a property that takes a geometry element as its value, this is called a geometry property. A generic type for such a geometry property is GeometryPropertyType.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractGeometry"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

IDENTIFIEDOBJECTTYPE_TYPE

<complexType abstract="true" name="IdentifiedObjectType">
<annotation>
<documentation>gml:IdentifiedObjectType provides identification properties of a CRS-related object. In gml:DefinitionType, the gml:identifier element shall be the primary name by which this object is identified, encoding the "name" attribute in the UML model.
Zero or more of the gml:name elements can be an unordered set of "identifiers", encoding the "identifier" attribute in the UML model. Each of these gml:name elements can reference elsewhere the object's defining information or be an identifier by which this object can be referenced.
Zero or more other gml:name elements can be an unordered set of "alias" alternative names by which this CRS related object is identified, encoding the "alias" attributes in the UML model. An object may have several aliases, typically used in different contexts. The context for an alias is indicated by the value of its (optional) codeSpace attribute.
Any needed version information shall be included in the codeSpace attribute of a gml:identifier and gml:name elements. In this use, the gml:remarks element in the gml:DefinitionType shall contain comments on or information about this object, including data source information.</documentation>
</annotation>
<complexContent>
<extension base="gml:DefinitionType"/>
</complexContent>
</complexType>

KNOTPROPERTYTYPE_TYPE

<complexType name="KnotPropertyType">
<annotation>
<documentation>gml:KnotPropertyType encapsulates a knot to use it in a geometric type.</documentation>
</annotation>
<sequence>
<element name="Knot" type="gml:KnotType">
<annotation>
<documentation>A knot is a breakpoint on a piecewise spline curve.
value is the value of the parameter at the knot of the spline (see ISO 19107:2003, 6.4.24.2).
multiplicity is the multiplicity of this knot used in the definition of the spline (with the same weight).
weight is the value of the averaging weight used for this knot of the spline.</documentation>
</annotation>
</element>
</sequence>
</complexType>

LENGTHTYPE_TYPE

<complexType name="LengthType">
<annotation>
<documentation>This is a prototypical definition for a specific measure type defined as a vacuous extension (i.e. aliases) of gml:MeasureType. In this case, the content model supports the description of a length (or distance) quantity, with its units. The unit of measure referenced by uom shall be suitable for a length, such as metres or feet.</documentation>
</annotation>
<simpleContent>
<extension base="gml:MeasureType"/>
</simpleContent>
</complexType>

LINESTRINGSEGMENTARRAYPROPERTYTYPE_TYPE

public static final ComplexType LINESTRINGSEGMENTARRAYPROPERTYTYPE_TYPE

MEASUREORNILREASONLISTTYPE_TYPE

<complexType name="MeasureOrNilReasonListType">
<annotation>
<documentation>gml:MeasureOrNilReasonListType provides for a list of quantities. An instance element may also include embedded values from NilReasonType. It is intended to be used in situations where a value is expected, but the value may be absent for some reason.</documentation>
</annotation>
<simpleContent>
<extension base="gml:doubleOrNilReasonList">
<attribute name="uom" type="gml:UomIdentifier" use="required"/>
</extension>
</simpleContent>
</complexType>

MEASURETYPE_TYPE

<complexType name="MeasureType">
<annotation>
<documentation>gml:MeasureType supports recording an amount encoded as a value of XML Schema double, together with a units of measure indicated by an attribute uom, short for "units Of measure". The value of the uom attribute identifies a reference system for the amount, usually a ratio or interval scale.</documentation>
</annotation>
<simpleContent>
<extension base="double">
<attribute name="uom" type="gml:UomIdentifier" use="required"/>
</extension>
</simpleContent>
</complexType>

MULTICURVEPROPERTYTYPE_TYPE

<complexType name="MultiCurvePropertyType">
<annotation>
<documentation>A property that has a collection of curves as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:MultiCurve"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

MULTIGEOMETRYPROPERTYTYPE_TYPE

<complexType name="MultiGeometryPropertyType">
<annotation>
<documentation>A property that has a geometric aggregate as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractGeometricAggregate"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

MULTIPOINTPROPERTYTYPE_TYPE

<complexType name="MultiPointPropertyType">
<annotation>
<documentation>A property that has a collection of points as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:MultiPoint"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

MULTISOLIDPROPERTYTYPE_TYPE

<complexType name="MultiSolidPropertyType">
<annotation>
<documentation>A property that has a collection of solids as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:MultiSolid"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

MULTISURFACEPROPERTYTYPE_TYPE

<complexType name="MultiSurfacePropertyType">
<annotation>
<documentation>A property that has a collection of surfaces as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:MultiSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

NAMEORNILREASON_TYPE

<simpleType name="NameOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
</annotation>
<union memberTypes="gml:NilReasonEnumeration Name anyURI"/>
</simpleType>

NILREASONTYPE_TYPE

<simpleType name="NilReasonType">
<annotation>
<documentation>gml:NilReasonType defines a content model that allows recording of an explanation for a void value or other exception.
gml:NilReasonType is a union of the following enumerated values:
- inapplicable there is no value
- missing the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist
- template the value will be available later
- unknown the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists
- withheld the value is not divulged
- other:text other brief explanation, where text is a string of two or more characters with no included spaces
and
- anyURI which should refer to a resource which describes the reason for the exception
A particular community may choose to assign more detailed semantics to the standard values provided. Alternatively, the URI method enables a specific or more complete explanation for the absence of a value to be provided elsewhere and indicated by-reference in an instance document.
gml:NilReasonType is used as a member of a union in a number of simple content types where it is necessary to permit a value from the NilReasonType union as an alternative to the primary type.</documentation>
</annotation>
<union memberTypes="gml:NilReasonEnumeration anyURI"/>
</simpleType>

PASSTHROUGHOPERATIONPROPERTYTYPE_TYPE

<complexType name="PassThroughOperationPropertyType">
<annotation>
<documentation>gml:PassThroughOperationPropertyType is a property type for association roles to a pass through operation, either referencing or containing the definition of that pass through operation.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:PassThroughOperation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>

POINTPROPERTYTYPE_TYPE

<complexType name="PointPropertyType">
<annotation>
<documentation>A property that has a point as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:Point"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

SEQUENCERULETYPE_TYPE

<complexType name="SequenceRuleType">
<annotation>
<documentation>The gml:SequenceRuleType is derived from the gml:SequenceRuleEnumeration through the addition of an axisOrder attribute. The gml:SequenceRuleEnumeration is an enumerated type. The rule names are defined in ISO 19123. If no rule name is specified the default is "Linear".</documentation>
</annotation>
<simpleContent>
<extension base="gml:SequenceRuleEnumeration">
<attribute name="order" type="gml:IncrementOrder">
<annotation>
<appinfo>deprecated</appinfo>
</annotation>
</attribute>
<attribute name="axisOrder" type="gml:AxisDirectionList"/>
</extension>
</simpleContent>
</complexType>

SINGLEOPERATIONPROPERTYTYPE_TYPE

<complexType name="SingleOperationPropertyType">
<annotation>
<documentation>gml:SingleOperationPropertyType is a property type for association roles to a single operation, either referencing or containing the definition of that single operation.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractSingleOperation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>

SOLIDPROPERTYTYPE_TYPE

<complexType name="SolidPropertyType">
<annotation>
<documentation>A property that has a solid as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractSolid"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

SURFACEPROPERTYTYPE_TYPE

<complexType name="SurfacePropertyType">
<annotation>
<documentation>A property that has a surface as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

TIMEINDETERMINATEVALUETYPE_TYPE

<simpleType name="TimeIndeterminateValueType">
<annotation>
<documentation>These values are interpreted as follows:
- "unknown" indicates that no specific value for temporal position is provided.
- "now" indicates that the specified value shall be replaced with the current temporal position whenever the value is accessed.
- "before" indicates that the actual temporal position is unknown, but it is known to be before the specified value.
- "after" indicates that the actual temporal position is unknown, but it is known to be after the specified value.
A value for indeterminatePosition may
- be used either alone, or
- qualify a specific value for temporal position.</documentation>
</annotation>
<restriction base="string">
<enumeration value="after"/>
<enumeration value="before"/>
<enumeration value="now"/>
<enumeration value="unknown"/>
</restriction>
</simpleType>

TIMEPOSITIONTYPE_TYPE

<complexType final="#all" name="TimePositionType">
<annotation>
<documentation>The method for identifying a temporal position is specific to each temporal reference system. gml:TimePositionType supports the description of temporal position according to the subtypes described in ISO 19108.
Values based on calendars and clocks use lexical formats that are based on ISO 8601, as described in XML Schema Part 2:2001. A decimal value may be used with coordinate systems such as GPS time or UNIX time. A URI may be used to provide a reference to some era in an ordinal reference system .
In common with many of the components modelled as data types in the ISO 19100 series of International Standards, the corresponding GML component has simple content. However, the content model gml:TimePositionType is defined in several steps.
Three XML attributes appear on gml:TimePositionType:
A time value shall be associated with a temporal reference system through the frame attribute that provides a URI reference that identifies a description of the reference system. Following ISO 19108, the Gregorian calendar with UTC is the default reference system, but others may also be used. Components for describing temporal reference systems are described in 14.4, but it is not required that the reference system be described in this, as the reference may refer to anything that may be indentified with a URI.
For time values using a calendar containing more than one era, the (optional) calendarEraName attribute provides the name of the calendar era.
Inexact temporal positions may be expressed using the optional indeterminatePosition attribute. This takes a value from an enumeration.</documentation>
</annotation>
<simpleContent>
<extension base="gml:TimePositionUnion">
<attribute default="#ISO-8601" name="frame" type="anyURI"/>
<attribute name="calendarEraName" type="string"/>
<attribute name="indeterminatePosition" type="gml:TimeIndeterminateValueType"/>
</extension>
</simpleContent>
</complexType>

TIMEPOSITIONUNION_TYPE

<simpleType name="TimePositionUnion">
<annotation>
<documentation>The simple type gml:TimePositionUnion is a union of XML Schema simple types which instantiate the subtypes for temporal position described in ISO 19108.
An ordinal era may be referenced via URI. A decimal value may be used to indicate the distance from the scale origin . time is used for a position that recurs daily (see ISO 19108:2002 5.4.4.2).
Finally, calendar and clock forms that support the representation of time in systems based on years, months, days, hours, minutes and seconds, in a notation following ISO 8601, are assembled by gml:CalDate</documentation>
</annotation>
<union memberTypes="gml:CalDate time dateTime anyURI decimal"/>
</simpleType>

TIMEPRIMITIVEPROPERTYTYPE_TYPE

<complexType name="TimePrimitivePropertyType">
<annotation>
<documentation>gml:TimePrimitivePropertyType provides a standard content model for associations between an arbitrary member of the substitution group whose head is gml:AbstractTimePrimitive and another object.</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:AbstractTimePrimitive"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
<attributeGroup ref="gml:OwnershipAttributeGroup"/>
</complexType>

TOPOSOLIDTYPE_TYPE

<complexType name="TopoSolidType">
<complexContent>
<extension base="gml:AbstractTopoPrimitiveType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0"
name="isolated" type="gml:NodeOrEdgePropertyType"/>
<element maxOccurs="unbounded" ref="gml:directedFace"/>
<element minOccurs="0" ref="gml:solidProperty"/>
</sequence>
<attributeGroup ref="gml:AggregationAttributeGroup"/>
<attribute default="false" name="universal" type="boolean" use="optional">
<annotation>
<documentation>A gml:TopoSolid must indicate whether it is a universal topo-solid or not, to ensure a lossless topology representation as defined by Kuijpers, et. al. (see OGC 05-102 Topology IPR). The optional universal attribute of type boolean is used to indicate this and the default is fault. NOTE The universal topo-solid is normally not part of any feature, and is used to represent the unbounded portion of the data set. Its interior boundary (it has no exterior boundary) would normally be considered the exterior boundary of the data set.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>

UOMSYMBOL_TYPE

<simpleType name="UomSymbol">
<annotation>
<documentation>This type specifies a character string of length at least one, and restricted such that it must not contain any of the following characters: ":" (colon), " " (space), (newline), (carriage return), (tab). This allows values corresponding to familiar abbreviations, such as "kg", "m/s", etc.
It is recommended that the symbol be an identifier for a unit of measure as specified in the "Unified Code of Units of Measure" (UCUM) (http://aurora.regenstrief.org/UCUM). This provides a set of symbols and a grammar for constructing identifiers for units of measure that are unique, and may be easily entered with a keyboard supporting the limited character set known as 7-bit ASCII. ISO 2955 formerly provided a specification with this scope, but was withdrawn in 2001. UCUM largely follows ISO 2955 with modifications to remove ambiguities and other problems.</documentation>
</annotation>
<restriction base="string">
<pattern value="[^: \n\r\t]+"/>
</restriction>
</simpleType>

UOMURI_TYPE

<simpleType name="UomURI">
<annotation>
<documentation>This type specifies a URI, restricted such that it must start with one of the following sequences: "#", "./", "../", or a string of characters followed by a ":". These patterns ensure that the most common URI forms are supported, including absolute and relative URIs and URIs that are simple fragment identifiers, but prohibits certain forms of relative URI that could be mistaken for unit of measure symbol .
NOTE It is possible to re-write such a relative URI to conform to the restriction (e.g. "./m/s").
In an instance document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a value corresponding to either
- a conventional unit of measure symbol,
- a link to a definition of a unit of measure that does not have a conventional symbol, or when it is desired to indicate a precise or variant definition.</documentation>
</annotation>
<restriction base="anyURI">
<pattern value="([a-zA-Z][a-zA-Z0-9\-\+\.]*:|\.\./|\./|#).*"/>
</restriction>
</simpleType>

VECTORTYPE_TYPE

<complexType name="VectorType">
<annotation>
<documentation>For some applications the components of the position may be adjusted to yield a unit vector.</documentation>
</annotation>
<simpleContent>
<restriction base="gml:DirectPositionType"/>
</simpleContent>
</complexType>

BOOLEANORNILREASON_TYPE

<simpleType name="booleanOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
</annotation>
<union memberTypes="gml:NilReasonEnumeration boolean anyURI"/>
</simpleType>

DOUBLEORNILREASON_TYPE

<simpleType name="doubleOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
</annotation>
<union memberTypes="gml:NilReasonEnumeration double anyURI"/>
</simpleType>

INTEGERORNILREASON_TYPE

<simpleType name="integerOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
</annotation>
<union memberTypes="gml:NilReasonEnumeration integer anyURI"/>
</simpleType>

STRINGORNILREASON_TYPE

<simpleType name="stringOrNilReason">
<annotation>
<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
</annotation>
<union memberTypes="gml:NilReasonEnumeration string anyURI"/>
</simpleType>