XML Schema "coordinateOperations.xsd"
Target Namespace:
Version:
3.2.1.2
Defined Components:
elements (39 global), complexTypes (27)
Default Namespace-Qualified Form:
Local Elements: qualified; Local Attributes: unqualified
Schema Location:
http://schemas.opengis.net/gml/3.2.1/coordinateOperations.xsd; see XML source
Imports Schemas (1):
Includes Schemas (3):
Included in Schemas (1):
Annotation
See ISO/DIS 19136 13.6. The spatial or temporal coordinate operations schema components can be divided into five logical parts, which define elements and types for XML encoding of the definitions of: - Multiple abstract coordinate operations - Multiple concrete types of coordinate operations, including Transformations and Conversions - Abstract and concrete parameter values and groups - Operation methods - Abstract and concrete operation parameters and groups These schema component encodes the Coordinate Operation package of the UML Model for ISO 19111 Clause 11. GML is an OGC Standard. Copyright (c) 2007,2010 Open Geospatial Consortium. To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
All Element Summary
gml:AbstractCoordinateOperation is a mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system.
Type:
Content:
complex, 1 attribute, 12 elements
Abstract:
(may not be used directly in instance XML documents)
Subst.Gr:
affiliated to substitution group gml:Definition; may be substituted with 4 elements
Defined:
globally; see XML source
Used:
gm:AbstractGeneralConversion is an abstract operation on coordinates that does not include any change of datum.
Type:
Content:
complex, 1 attribute, 9 elements
Abstract:
(may not be used directly in instance XML documents)
Subst.Gr:
affiliated to substitution group gml:AbstractOperation; may be substituted with 1 element
Defined:
globally; see XML source
Used:
gml:GeneralOperationParameter is the abstract definition of a parameter or group of parameters used by an operation method.
Type:
Content:
complex, 1 attribute, 7 elements
Abstract:
(may not be used directly in instance XML documents)
Subst.Gr:
affiliated to substitution group gml:Definition; may be substituted with 2 elements
Defined:
globally; see XML source
Used:
gml:AbstractGeneralParameterValue is an abstract parameter value or group of parameter values.
Type:
Content:
empty
Abstract:
(may not be used directly in instance XML documents)
Subst.Gr:
affiliated to substitution group gml:AbstractObject; may be substituted with 2 elements
Defined:
globally; see XML source
Used:
gml:AbstractGeneralTransformation is an abstract operation on coordinates that usually includes a change of Datum.
Type:
Content:
complex, 1 attribute, 12 elements
Abstract:
(may not be used directly in instance XML documents)
Subst.Gr:
affiliated to substitution group gml:AbstractOperation; may be substituted with 1 element
Defined:
globally; see XML source
Used:
gml:AbstractSingleOperation is a single (not concatenated) coordinate operation.
Type:
Content:
complex, 1 attribute, 12 elements
Abstract:
(may not be used directly in instance XML documents)
Subst.Gr:
affiliated to substitution group gml:AbstractCoordinateOperation; may be substituted with 3 elements
Defined:
globally; see XML source
Used:
gml:booleanValue is a boolean value of an operation parameter.
Type:
boolean
Content:
simple
Defined:
globally; see XML source
Used:
Type:
Content:
complex, 2 attributes, 13 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
gml:Conversion is a concrete operation on coordinates that does not include any change of Datum.
Type:
Content:
complex, 1 attribute, 11 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
gml:coordinateOperationAccuracy is an association role to a DQ_PositionalAccuracy object as encoded in ISO/TS 19139, either referencing or containing the definition of that positional accuracy.
Type:
anonymous complexType
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
gml:coordOperation is an association role to a coordinate operation.
Type:
Content:
complex, 9 attributes, 1 element
Subst.Gr:
may be substituted with 2 elements
Defined:
globally; see XML source
Used:
gml:formula Formula(s) or procedure used by an operation method.
Type:
Content:
simple, 1 attribute
Subst.Gr:
may be substituted with 1 element
Defined:
globally; see XML source
Used:
gml:formulaCitation provides a reference to a publication giving the formula(s) or procedure used by an coordinate operation method.
Type:
anonymous complexType
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
gml:group is an association role to the operation parameter group for which this element provides parameter values.
Type:
Content:
complex, 9 attributes, 1 element
Subst.Gr:
may be substituted with 1 element
Defined:
globally; see XML source
Used:
gml:integerValue is a positive integer value of an operation parameter, usually used for a count.
Type:
positiveInteger
Content:
simple
Defined:
globally; see XML source
Used:
gml:integerValueList is an ordered sequence of two or more integer values of an operation parameter list, usually used for counts.
Type:
Content:
simple
Defined:
globally; see XML source
Used:
gml:maximumOccurs is the maximum number of times that values for this parameter group may be included.
Type:
positiveInteger
Content:
simple
Defined:
globally; see XML source
Used:
gml:method is an association role to the operation method used by a coordinate operation.
Type:
Content:
complex, 9 attributes, 1 element
Subst.Gr:
may be substituted with 1 element
Defined:
globally; see XML source
Used:
gml:minimumOccurs is the minimum number of times that values for this parameter group or parameter are required.
Type:
nonNegativeInteger
Content:
simple
Defined:
globally; see XML source
Used:
gml:modifiedCoordinate is a positive integer defining a position in a coordinate tuple.
Type:
positiveInteger
Content:
simple
Defined:
globally; see XML source
Used:
gml:OperationMethod is a method (algorithm or procedure) used to perform a coordinate operation.
Type:
Content:
complex, 1 attribute, 11 elements
Subst.Gr:
may substitute for elements: gml:Definition, gml:AbstractGML, gml:AbstractObject
Defined:
globally; see XML source
Used:
gml:operationParameter is an association role to the operation parameter of which this is a value.
Type:
Content:
complex, 9 attributes, 1 element
Subst.Gr:
may be substituted with 1 element
Defined:
globally; see XML source
Used:
gml:OperationParameter is the definition of a parameter used by an operation method.
Type:
Content:
complex, 1 attribute, 7 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
gml:OperationParameterGroup is the definition of a group of parameters used by an operation method.
Type:
Content:
complex, 1 attribute, 9 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
gml:operationVersion is the version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters).
Type:
string
Content:
simple
Defined:
globally; see XML source
Used:
gml:parameter is an association to an operation parameter or parameter group.
Type:
Content:
complex, 9 attributes, 1 element
Subst.Gr:
may be substituted with 3 elements
Defined:
globally; see XML source
Used:
gml:parameterValue is a composition association to a parameter value or group of parameter values used by a coordinate operation.
Type:
Content:
complex, 1 element
Subst.Gr:
may be substituted with 2 elements
Defined:
globally; see XML source
Used:
gml:ParameterValue is a parameter value, an ordered sequence of values, or a reference to a file of parameter values.
Type:
Content:
complex, 9 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
never
gml:ParameterValueGroup is a group of related parameter values.
Type:
Content:
complex, 2 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
never
gml:PassThroughOperation is a pass-through operation specifies that a subset of a coordinate tuple is subject to a specific coordinate operation.
Type:
Content:
complex, 2 attributes, 14 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
gml:sourceCRS is an association role to the source CRS (coordinate reference system) of this coordinate operation.
Type:
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Used:
gml:sourceDimensions is the number of dimensions in the source CRS of this operation method.
Type:
positiveInteger
Content:
simple
Defined:
globally; see XML source
Used:
gml:stringValue is a character string value of an operation parameter.
Type:
string
Content:
simple
Defined:
globally; see XML source
Used:
gml:targetCRS is an association role to the target CRS (coordinate reference system) of this coordinate operation.
Type:
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Used:
gml:targetDimensions is the number of dimensions in the target CRS of this operation method.
Type:
positiveInteger
Content:
simple
Defined:
globally; see XML source
Used:
gml:Transformation is a concrete object element derived from gml:GeneralTransformation (13.6.2.13).
Type:
Content:
complex, 1 attribute, 14 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
gml:value is a numeric value of an operation parameter, with its associated unit of measure.
Type:
Content:
simple, 1 attribute
Defined:
globally; see XML source
Used:
gml:valueFile is a reference to a file or a part of a file containing one or more parameter values, each numeric value with its associated unit of measure.
Type:
anyURI
Content:
simple
Defined:
globally; see XML source
Used:
gml:valueList is an ordered sequence of two or more numeric values of an operation parameter list, where each value has the same associated unit of measure.
Type:
Content:
simple, 1 attribute
Defined:
globally; see XML source
Used:
Complex Type Summary
Content:
complex, 1 attribute, 12 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 6 elements
Used:
Content:
complex, 1 attribute, 9 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 9 elements
Used:
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.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 7 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
gml:AbstractGeneralParameterValuePropertyType is a property type for inline association roles to a parameter value or group of parameter values, always containing the values.
Content:
complex, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
empty
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Defined:
globally; see XML source
Used:
Content:
complex, 1 attribute, 12 elements
Abstract:
(cannot be assigned directly to elements used in instance XML documents)
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 12 elements
Used:
gml:ConcatenatedOperationPropertyType is a property type for association roles to a concatenated operation, either referencing or containing the definition of that concatenated operation.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
gml:ConcatenatedOperation is an ordered sequence of two or more coordinate operations.
Content:
complex, 2 attributes, 13 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
gml:ConversionPropertyType is a property type for association roles to a concrete general-purpose conversion, either referencing or containing the definition of that conversion.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 11 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
gml:CoordinateOperationPropertyType is a property type for association roles to a coordinate operation, either referencing or containing the definition of that coordinate operation.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
gml:GeneralConversionPropertyType is a property type for association roles to a general conversion, either referencing or containing the definition of that conversion.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
gml:GeneralTransformationPropertyType is a property type for association roles to a general transformation, either referencing or containing the definition of that transformation.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
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.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 11 elements
Defined:
globally; see XML source
Includes:
definitions of 5 elements
Used:
gml:OperationParameterPropertyType is a property type for association roles to an operation parameter group, either referencing or containing the definition of that parameter group.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 9 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
gml:OperationParameterPropertyType is a property type for association roles to an operation parameter, either referencing or containing the definition of that parameter.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 7 elements
Defined:
globally; see XML source
Used:
Content:
complex, 2 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
Content:
complex, 9 elements
Defined:
globally; see XML source
Includes:
definitions of 9 elements
Used:
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.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 2 attributes, 14 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
gml:SingleOperationPropertyType is a property type for association roles to a single operation, either referencing or containing the definition of that single operation.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
gml:TransformationPropertyType is a property type for association roles to a transformation, either referencing or containing the definition of that transformation.
Content:
complex, 9 attributes, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 1 attribute, 14 elements
Defined:
globally; see XML source
Includes:
definitions of 2 elements
Used:
XML Source
<?xml version="1.0" encoding="UTF-8"?>
<schema elementFormDefault="qualified" targetNamespace="http://www.opengis.net/gml/3.2" version="3.2.1.2" xml:lang="en" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2">
<annotation>
<appinfo source="urn:x-ogc:specification:gml:schema-xsd:coordinateOperations:3.2.1">coordinateOperations.xsd</appinfo>
<documentation>
See ISO/DIS 19136 13.6.
The spatial or temporal coordinate operations schema components can be divided into five logical parts, which define elements and types for XML encoding of the definitions of:
- Multiple abstract coordinate operations
- Multiple concrete types of coordinate operations, including Transformations and Conversions
- Abstract and concrete parameter values and groups
- Operation methods
- Abstract and concrete operation parameters and groups
These schema component encodes the Coordinate Operation package of the UML Model for ISO 19111 Clause 11.

GML is an OGC Standard.
Copyright (c) 2007,2010 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</documentation>
</annotation>
<include schemaLocation="gml.xsd"/>
<include schemaLocation="referenceSystems.xsd"/>
<include schemaLocation="measures.xsd"/>
<element abstract="true" name="AbstractCoordinateOperation" substitutionGroup="gml:Definition" type="gml:AbstractCoordinateOperationType">
<annotation>
<documentation>
gml:AbstractCoordinateOperation is a mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system. Many but not all coordinate operations (from CRS A to CRS B) also uniquely define the inverse operation (from CRS B to CRS A). In some cases, the operation method algorithm for the inverse operation is the same as for the forward algorithm, but the signs of some operation parameter values shall be reversed. In other cases, different algorithms are required for the forward and inverse operations, but the same operation parameter values are used. If (some) entirely different parameter values are needed, a different coordinate operation shall be defined.
The optional coordinateOperationAccuracy property elements provide estimates of the impact of this coordinate operation on point position accuracy.
</documentation>
</annotation>
</element>
<complexType abstract="true" name="AbstractCoordinateOperationType">
<complexContent>
<extension base="gml:IdentifiedObjectType">
<sequence>
<element minOccurs="0" ref="gml:domainOfValidity"/>
<element maxOccurs="unbounded" ref="gml:scope"/>
<element minOccurs="0" ref="gml:operationVersion"/>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:coordinateOperationAccuracy"/>
<element minOccurs="0" ref="gml:sourceCRS"/>
<element minOccurs="0" ref="gml:targetCRS"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="operationVersion" type="string">
<annotation>
<documentation>
gml:operationVersion is the version of the coordinate transformation (i.e., instantiation due to the stochastic nature of the parameters). Mandatory when describing a transformation, and should not be supplied for a conversion.
</documentation>
</annotation>
</element>
<annotation>
<documentation>
gml:coordinateOperationAccuracy is an association role to a DQ_PositionalAccuracy object as encoded in ISO/TS 19139, either referencing or containing the definition of that positional accuracy. That object contains an estimate of the impact of this coordinate operation on point accuracy. That is, it gives position error estimates for the target coordinates of this coordinate operation, assuming no errors in the source coordinates.
</documentation>
</annotation>
<complexType>
<sequence minOccurs="0"> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
</element>
<element name="sourceCRS" type="gml:CRSPropertyType">
<annotation>
<documentation>
gml:sourceCRS is an association role to the source CRS (coordinate reference system) of this coordinate operation.
</documentation>
</annotation>
</element>
<element name="targetCRS" type="gml:CRSPropertyType">
<annotation>
<documentation>
gml:targetCRS is an association role to the target CRS (coordinate reference system) of this coordinate operation.
</documentation>
</annotation>
</element>
<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.
</documentation>
</annotation>
<sequence minOccurs="0">
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element abstract="true" name="AbstractSingleOperation" substitutionGroup="gml:AbstractCoordinateOperation" type="gml:AbstractCoordinateOperationType">
<annotation>
<documentation>
gml:AbstractSingleOperation is a single (not concatenated) coordinate operation.
</documentation>
</annotation>
</element>
<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>
<element abstract="true" name="AbstractGeneralConversion" substitutionGroup="gml:AbstractOperation" type="gml:AbstractGeneralConversionType">
<annotation>
<documentation>
gm:AbstractGeneralConversion is an abstract operation on coordinates that does not include any change of datum. The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived. Note that some conversions have no parameters. The operationVersion, sourceCRS, and targetCRS elements are omitted in a coordinate conversion.
This abstract complex type is expected to be extended for well-known operation methods with many Conversion instances, in GML Application Schemas that define operation-method-specialized element names and contents. This conversion uses an operation method, usually with associated parameter values. However, operation methods and parameter values are directly associated with concrete subtypes, not with this abstract type. All concrete types derived from this type shall extend this type to include a "usesMethod" element that references the "OperationMethod" element. Similarly, all concrete types derived from this type shall extend this type to include zero or more elements each named "uses...Value" that each use the type of an element substitutable for the "AbstractGeneralParameterValue" element.
</documentation>
</annotation>
</element>
<complexType abstract="true" name="AbstractGeneralConversionType">
<complexContent>
<restriction base="gml:AbstractCoordinateOperationType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:metaDataProperty"/>
<element minOccurs="0" ref="gml:description"/>
<element minOccurs="0" ref="gml:descriptionReference"/>
<element ref="gml:identifier"/>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:name"/>
<element minOccurs="0" ref="gml:remarks"/>
<element minOccurs="0" ref="gml:domainOfValidity"/>
<element maxOccurs="unbounded" ref="gml:scope"/>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:coordinateOperationAccuracy"/>
</sequence>
<attribute ref="gml:id" use="required"/>
</restriction>
</complexContent>
</complexType>
<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">
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element abstract="true" name="AbstractGeneralTransformation" substitutionGroup="gml:AbstractOperation" type="gml:AbstractGeneralTransformationType">
<annotation>
<documentation>
gml:AbstractGeneralTransformation is an abstract operation on coordinates that usually includes a change of Datum. The parameters of a coordinate transformation are empirically derived from data containing the coordinates of a series of points in both coordinate reference systems. This computational process is usually "over-determined", allowing derivation of error (or accuracy) estimates for the transformation. Also, the stochastic nature of the parameters may result in multiple (different) versions of the same coordinate transformation. The operationVersion, sourceCRS, and targetCRS proeprty elements are mandatory in a coordinate transformation.
This abstract complex type is expected to be extended for well-known operation methods with many Transformation instances, in Application Schemas that define operation-method-specialized value element names and contents. This transformation uses an operation method with associated parameter values. However, operation methods and parameter values are directly associated with concrete subtypes, not with this abstract type. All concrete types derived from this type shall extend this type to include a "usesMethod" element that references one "OperationMethod" element. Similarly, all concrete types derived from this type shall extend this type to include one or more elements each named "uses...Value" that each use the type of an element substitutable for the "AbstractGeneralParameterValue" element.
</documentation>
</annotation>
</element>
<complexType abstract="true" name="AbstractGeneralTransformationType">
<complexContent>
<restriction base="gml:AbstractCoordinateOperationType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:metaDataProperty"/>
<element minOccurs="0" ref="gml:description"/>
<element minOccurs="0" ref="gml:descriptionReference"/>
<element ref="gml:identifier"/>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:name"/>
<element minOccurs="0" ref="gml:remarks"/>
<element minOccurs="0" ref="gml:domainOfValidity"/>
<element maxOccurs="unbounded" ref="gml:scope"/>
<element ref="gml:operationVersion"/>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:coordinateOperationAccuracy"/>
<element ref="gml:sourceCRS"/>
<element ref="gml:targetCRS"/>
</sequence>
<attribute ref="gml:id" use="required"/>
</restriction>
</complexContent>
</complexType>
<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">
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<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>
<annotation>
<documentation>
gml:coordOperation is an association role to a coordinate operation.
</documentation>
</annotation>
</element>
<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.
</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:ConcatenatedOperation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<annotation>
<documentation>
gml:PassThroughOperation is a pass-through operation specifies that a subset of a coordinate tuple is subject to a specific coordinate operation.
The modifiedCoordinate property elements are an ordered sequence of positive integers defining the positions in a coordinate tuple of the coordinates affected by this pass-through operation. The AggregationAttributeGroup should be used to specify that the modifiedCoordinate elements are ordered.
</documentation>
</annotation>
</element>
<complexType name="PassThroughOperationType">
<complexContent>
<extension base="gml:AbstractCoordinateOperationType">
<sequence>
<element maxOccurs="unbounded" ref="gml:modifiedCoordinate"/>
<element ref="gml:coordOperation"/>
</sequence>
<attributeGroup ref="gml:AggregationAttributeGroup"/>
</extension>
</complexContent>
</complexType>
<element name="modifiedCoordinate" type="positiveInteger">
<annotation>
<documentation>
gml:modifiedCoordinate is a positive integer defining a position in a coordinate tuple.
</documentation>
</annotation>
</element>
<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>
<element name="Conversion" substitutionGroup="gml:AbstractGeneralConversion" type="gml:ConversionType">
<annotation>
<documentation>
gml:Conversion is a concrete operation on coordinates that does not include any change of Datum. The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived. Note that some conversions have no parameters.
This concrete complex type can be used without using a GML Application Schema that defines operation-method-specialized element names and contents, especially for methods with only one Conversion instance.
The usesValue property elements are an unordered list of composition associations to the set of parameter values used by this conversion operation.
</documentation>
</annotation>
</element>
<complexType name="ConversionType">
<complexContent>
<extension base="gml:AbstractGeneralConversionType">
<sequence>
<element ref="gml:method"/>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:parameterValue"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="method" type="gml:OperationMethodPropertyType">
<annotation>
<documentation>
gml:method is an association role to the operation method used by a coordinate operation.
</documentation>
</annotation>
</element>
<annotation>
<documentation>
gml:parameterValue is a composition association to a parameter value or group of parameter values used by a coordinate operation.
</documentation>
</annotation>
</element>
<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.
</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:Conversion"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="Transformation" substitutionGroup="gml:AbstractGeneralTransformation" type="gml:TransformationType">
<annotation>
<documentation>
gml:Transformation is a concrete object element derived from gml:GeneralTransformation (13.6.2.13).
This concrete object can be used for all operation methods, without using a GML Application Schema that defines operation-method-specialized element names and contents, especially for methods with only one Transformation instance.
The parameterValue elements are an unordered list of composition associations to the set of parameter values used by this conversion operation.
</documentation>
</annotation>
</element>
<complexType name="TransformationType">
<complexContent>
<extension base="gml:AbstractGeneralTransformationType">
<sequence>
<element ref="gml:method"/>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:parameterValue"/>
</sequence>
</extension>
</complexContent>
</complexType>
<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.
</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:Transformation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element abstract="true" name="AbstractGeneralParameterValue" substitutionGroup="gml:AbstractObject" type="gml:AbstractGeneralParameterValueType">
<annotation>
<documentation>
gml:AbstractGeneralParameterValue is an abstract parameter value or group of parameter values.
This abstract complexType is expected to be extended and restricted for well-known operation methods with many instances, in Application Schemas that define operation-method-specialized element names and contents. Specific parameter value elements are directly contained in concrete subtypes, not in this abstract type. All concrete types derived from this type shall extend this type to include one "...Value" element with an appropriate type, which should be one of the element types allowed in the ParameterValueType. In addition, all derived concrete types shall extend this type to include a "operationParameter" property element that references one element substitutable for the "OperationParameter" object element.
</documentation>
</annotation>
</element>
<complexType abstract="true" name="AbstractGeneralParameterValueType">
<sequence/>
</complexType>
<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.
</documentation>
</annotation>
<sequence>
</sequence>
</complexType>
<element name="ParameterValue" substitutionGroup="gml:AbstractGeneralParameterValue" type="gml:ParameterValueType">
<annotation>
<documentation>
gml:ParameterValue is a parameter value, an ordered sequence of values, or a reference to a file of parameter values. This concrete complex type may be used for operation methods without using an Application Schema that defines operation-method-specialized element names and contents, especially for methods with only one instance. This complex type may be used, extended, or restricted for well-known operation methods, especially for methods with many instances.
</documentation>
</annotation>
</element>
<complexType name="ParameterValueType">
<complexContent>
<extension base="gml:AbstractGeneralParameterValueType">
<sequence>
<choice>
<element ref="gml:value"/>
<element ref="gml:dmsAngleValue"/>
<element ref="gml:stringValue"/>
<element ref="gml:integerValue"/>
<element ref="gml:booleanValue"/>
<element ref="gml:valueList"/>
<element ref="gml:integerValueList"/>
<element ref="gml:valueFile"/>
</choice>
<element ref="gml:operationParameter"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="value" type="gml:MeasureType">
<annotation>
<documentation>
gml:value is a numeric value of an operation parameter, with its associated unit of measure.
</documentation>
</annotation>
</element>
<element name="stringValue" type="string">
<annotation>
<documentation>
gml:stringValue is a character string value of an operation parameter. A string value does not have an associated unit of measure.
</documentation>
</annotation>
</element>
<element name="integerValue" type="positiveInteger">
<annotation>
<documentation>
gml:integerValue is a positive integer value of an operation parameter, usually used for a count. An integer value does not have an associated unit of measure.
</documentation>
</annotation>
</element>
<element name="booleanValue" type="boolean">
<annotation>
<documentation>
gml:booleanValue is a boolean value of an operation parameter. A Boolean value does not have an associated unit of measure.
</documentation>
</annotation>
</element>
<element name="valueList" type="gml:MeasureListType">
<annotation>
<documentation>
gml:valueList is an ordered sequence of two or more numeric values of an operation parameter list, where each value has the same associated unit of measure. An element of this type contains a space-separated sequence of double values.
</documentation>
</annotation>
</element>
<element name="integerValueList" type="gml:integerList">
<annotation>
<documentation>
gml:integerValueList is an ordered sequence of two or more integer values of an operation parameter list, usually used for counts. These integer values do not have an associated unit of measure. An element of this type contains a space-separated sequence of integer values.
</documentation>
</annotation>
</element>
<element name="valueFile" type="anyURI">
<annotation>
<documentation>
gml:valueFile is a reference to a file or a part of a file containing one or more parameter values, each numeric value with its associated unit of measure. When referencing a part of a file, that file shall contain multiple identified parts, such as an XML encoded document. Furthermore, the referenced file or part of a file may reference another part of the same or different files, as allowed in XML documents.
</documentation>
</annotation>
</element>
<annotation>
<documentation>
gml:operationParameter is an association role to the operation parameter of which this is a value.
</documentation>
</annotation>
</element>
<annotation>
<documentation>
gml:ParameterValueGroup is a group of related parameter values. The same group can be repeated more than once in a Conversion, Transformation, or higher level ParameterValueGroup, if those instances contain different values of one or more parameterValues which suitably distinquish among those groups. This concrete complex type can be used for operation methods without using an Application Schema that defines operation-method-specialized element names and contents. This complex type may be used, extended, or restricted for well-known operation methods, especially for methods with only one instance.
The parameterValue elements are an unordered set of composition association roles to the parameter values and groups of values included in this group.
</documentation>
</annotation>
</element>
<complexType name="ParameterValueGroupType">
<complexContent>
<extension base="gml:AbstractGeneralParameterValueType">
<sequence>
<element maxOccurs="unbounded" minOccurs="2" ref="gml:parameterValue"/>
<element ref="gml:group"/>
</sequence>
</extension>
</complexContent>
</complexType>
<annotation>
<documentation>
gml:group is an association role to the operation parameter group for which this element provides parameter values.
</documentation>
</annotation>
</element>
<element name="OperationMethod" substitutionGroup="gml:Definition" type="gml:OperationMethodType">
<annotation>
<documentation>
gml:OperationMethod is a method (algorithm or procedure) used to perform a coordinate operation. Most operation methods use a number of operation parameters, although some coordinate conversions use none. Each coordinate operation using the method assigns values to these parameters.
The parameter elements are an unordered list of associations to the set of operation parameters and parameter groups used by this operation method.
</documentation>
</annotation>
</element>
<complexType name="OperationMethodType">
<complexContent>
<extension base="gml:IdentifiedObjectType">
<sequence>
<choice>
<element ref="gml:formulaCitation"/>
<element ref="gml:formula"/>
</choice>
<element minOccurs="0" ref="gml:sourceDimensions"/>
<element minOccurs="0" ref="gml:targetDimensions"/>
<element maxOccurs="unbounded" minOccurs="0" ref="gml:parameter"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="formulaCitation">
<annotation>
<documentation>
gml:formulaCitation provides a reference to a publication giving the formula(s) or procedure used by an coordinate operation method.
</documentation>
</annotation>
<complexType>
<sequence minOccurs="0">
<element ref="gmd:CI_Citation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
</element>
<element name="formula" type="gml:CodeType">
<annotation>
<documentation>
gml:formula Formula(s) or procedure used by an operation method. The use of the codespace attribite has been deprecated. The property value shall be a character string.
</documentation>
</annotation>
</element>
<element name="sourceDimensions" type="positiveInteger">
<annotation>
<documentation>
gml:sourceDimensions is the number of dimensions in the source CRS of this operation method.
</documentation>
</annotation>
</element>
<element name="targetDimensions" type="positiveInteger">
<annotation>
<documentation>
gml:targetDimensions is the number of dimensions in the target CRS of this operation method.
</documentation>
</annotation>
</element>
<annotation>
<documentation>
gml:parameter is an association to an operation parameter or parameter group.
</documentation>
</annotation>
</element>
<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.
</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:OperationMethod"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element abstract="true" name="AbstractGeneralOperationParameter" substitutionGroup="gml:Definition" type="gml:AbstractGeneralOperationParameterType">
<annotation>
<documentation>
gml:GeneralOperationParameter is the abstract definition of a parameter or group of parameters used by an operation method.
</documentation>
</annotation>
</element>
<complexType abstract="true" name="AbstractGeneralOperationParameterType">
<complexContent>
<extension base="gml:IdentifiedObjectType">
<sequence>
<element minOccurs="0" ref="gml:minimumOccurs"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="minimumOccurs" type="nonNegativeInteger">
<annotation>
<documentation>
gml:minimumOccurs is the minimum number of times that values for this parameter group or parameter are required. If this attribute is omitted, the minimum number shall be one.
</documentation>
</annotation>
</element>
<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">
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<annotation>
<documentation>
gml:OperationParameter is the definition of a parameter used by an operation method. Most parameter values are numeric, but other types of parameter values are possible. This complex type is expected to be used or extended for all operation methods, without defining operation-method-specialized element names.
</documentation>
</annotation>
</element>
<complexType name="OperationParameterType">
<complexContent>
<extension base="gml:AbstractGeneralOperationParameterType">
<sequence/>
</extension>
</complexContent>
</complexType>
<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.
</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:OperationParameter"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<annotation>
<documentation>
gml:OperationParameterGroup is the definition of a group of parameters used by an operation method. This complex type is expected to be used or extended for all applicable operation methods, without defining operation-method-specialized element names.
The generalOperationParameter elements are an unordered list of associations to the set of operation parameters that are members of this group.
</documentation>
</annotation>
</element>
<complexType name="OperationParameterGroupType">
<complexContent>
<extension base="gml:AbstractGeneralOperationParameterType">
<sequence>
<element minOccurs="0" ref="gml:maximumOccurs"/>
<element maxOccurs="unbounded" minOccurs="2" ref="gml:parameter"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="maximumOccurs" type="positiveInteger">
<annotation>
<documentation>
gml:maximumOccurs is the maximum number of times that values for this parameter group may be included. If this attribute is omitted, the maximum number shall be one.
</documentation>
</annotation>
</element>
<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.
</documentation>
</annotation>
<sequence minOccurs="0">
<element ref="gml:OperationParameterGroup"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
</schema>

This XML schema documentation has been generated with DocFlex/XML 1.11 using DocFlex/XML XSDDoc 2.8.3 template set.
DocFlex/XML is a tool for programming and running highly sophisticated documentation and reports generators by the data obtained from any kind of XML files. The actual doc-generators are implemented in the form of special templates that are designed visually using a high-quality Template Designer GUI basing on the XML schema (or DTD) files describing the data source XML.
DocFlex/XML XSDDoc is a commercial template application of DocFlex/XML that implements a high-quality XML Schema documentation generator with simultaneous support of framed multi-file HTML, single-file HTML and RTF output formats. (More formats are planned in the future).
A commercial license for "DocFlex/XML XSDDoc" will allow you:
  • To configure the generated documentation so much as you want. Thanks to our template technology, it was possible to support > 400 template parameters, which work the same as "options" of ordinary doc-generators. The parameters are organized in nested groups, which form a parameter tree. Most of them have their default values calculated dynamically from a few primary parameters. So, you'll never need to specify all of them. That will give you swift and effective control over the generated content!
  • To use certain features disabled in the free mode (such as the full documenting of substitution groups).
  • To select only the initial, imported, included, redefined XML schemas to be documented or only those directly specified by name.
  • To include only XML schema components specified by name.
  • To document local element components both globally and locally (similar to attributes).
  • To allow/suppress unification of local elements by type.
  • To enable/disable reproducing of namespace prefixes.
  • To use PlainDoc.tpl main template to generate all the XML schema documentation in a signle-file form as both HTML and incredible quality RTF output.
  • To format your annotations with XHTML tags and reproduce that formatting both in HTML and RTF output.
  • To insert images in your annotations using XHTML <img> tags (supported both in HTML and RTF output).
  • To remove this very advertisement text!
Once having only such a license, you will be able to run the fully-featured XML schema documentation generator both with DocFlex/XML (Full Edition) and with DocFlex/XML RE, which is a reduced free edition containing only the template interpretor / output generator. No other licenses will be required!
But this is not all. In addition to it, a commercial license for "DocFlex/XML SDK" will allow you to modify the XSDDoc templates themselves as much as you want. You will be able to achieve whatever was impossible to do with the template parameters only. And, of course, you could develop any template applications by your own!
Please note that by purchasing a license for this software, you not only acquire a useful tool, you will also make an important investment in its future development, the results of which you could enjoy later by yourself. Every single your purchase matters and makes a difference for us!
To purchase a license, please follow this link: http://www.filigris.com/shop/