Changeset 7541 for RevitalizationWS


Ignore:
Timestamp:
29/09/10 11:11:54 (9 years ago)
Author:
mnagni
Message:

Now the distributionManagement tag points to triton.badc.rl.ac.uk's Maven repository

Location:
RevitalizationWS/schemas/gml/branches/3.2.1
Files:
5 added
1 deleted
31 edited

Legend:

Unmodified
Added
Removed
  • RevitalizationWS/schemas/gml/branches/3.2.1

    • Property svn:ignore
      •  

        old new  
        11.project 
         2 
         3target 
  • RevitalizationWS/schemas/gml/branches/3.2.1/pom.xml

    r7379 r7541  
    44        <groupId>ndg.services.schemas</groupId> 
    55        <artifactId>gml</artifactId> 
    6         <version>3.1.1</version> 
     6        <version>3.2.1</version> 
    77 
    88        <parent> 
     
    4343                                </executions> 
    4444                                <configuration> 
     45                                        <catalog>src/main/resources/catalog.cat</catalog> 
     46                                        <catalogResolver>org.jvnet.jaxb2.maven2.resolver.tools.ClasspathCatalogResolver</catalogResolver> 
    4547                                        <args> 
    4648                                                <arg>-httpproxy</arg> 
     
    4850                                        </args> 
    4951                                        <extension>true</extension> 
    50                                         <episode>true</episode>                                          
     52                                        <episode>true</episode> 
    5153                                </configuration> 
    5254                        </plugin> 
    5355                </plugins> 
    5456        </build> 
     57 
     58        <distributionManagement> 
     59                <repository> 
     60                        <id>triton.badc.rl.ac.uk</id> 
     61                        <name>triton.badc.rl.ac.uk-releases</name> 
     62                        <url>http://triton.badc.rl.ac.uk:8180/artifactory/libs-releases-local</url> 
     63                </repository> 
     64        </distributionManagement> 
    5565</project> 
  • RevitalizationWS/schemas/gml/branches/3.2.1/src/main/resources/basicTypes.xsd

    r7379 r7541  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <schema targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.1.1 2010-01-28"> 
    3   <annotation> 
    4     <appinfo source="urn:opengis:specification:gml:schema-xsd:basicTypes:3.1.1">basicTypes.xsd</appinfo> 
    5     <documentation> 
    6     Generic simpleContent components for use in GML 
    7      
    8     GML is an OGC Standard. 
    9     Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
    10     To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
    11     </documentation> 
    12   </annotation> 
    13   <!-- =========================================================== --> 
    14   <simpleType name="NullEnumeration"> 
    15     <annotation> 
    16       <documentation> Some common reasons for a null value:    
    17                          
    18         innapplicable - the object does not have a value 
    19         missing - The correct value is not readily available to the sender of this data.   
    20                            Furthermore, a correct value may not exist. 
    21         template - the value will be available later 
    22         unknown - The correct value is not known to, and not computable by, the sender of this data.  
    23                            However, a correct value probably exists. 
    24         withheld - the value is not divulged  
    25          
    26         other:reason - as indicated by "reason" string 
    27          
    28         Specific communities may agree to assign more strict semantics when these terms are used in a particular context.   
    29       </documentation> 
    30     </annotation> 
    31     <union> 
    32       <simpleType> 
    33         <restriction base="string"> 
    34           <enumeration value="inapplicable"/> 
    35           <enumeration value="missing"/> 
    36           <enumeration value="template"/> 
    37           <enumeration value="unknown"/> 
    38           <enumeration value="withheld"/> 
    39         </restriction> 
    40       </simpleType> 
    41       <simpleType> 
    42         <restriction base="string"> 
    43           <pattern value="other:\w{2,}"/> 
    44         </restriction> 
    45       </simpleType> 
    46     </union> 
    47   </simpleType> 
    48   <!-- =========================================================== --> 
    49   <simpleType name="NullType"> 
    50     <annotation> 
    51       <documentation>Utility type for null elements.  The value may be selected from one of the enumerated tokens, or may be a URI in which case this should identify a resource which describes the reason for the null. </documentation> 
    52     </annotation> 
    53     <union memberTypes="gml:NullEnumeration anyURI"/> 
    54   </simpleType> 
    55   <!-- =========================================================== --> 
    56   <element name="Null" type="gml:NullType"/> 
    57   <!-- ===================================================== --> 
    58   <simpleType name="SignType"> 
    59     <annotation> 
    60       <documentation>Utility type used in various places  
    61       - e.g. to indicate the direction of topological objects; 
    62       "+" for forwards, or "-" for backwards.</documentation> 
    63     </annotation> 
    64     <restriction base="string"> 
    65       <enumeration value="-"/> 
    66       <enumeration value="+"/> 
    67     </restriction> 
    68   </simpleType> 
    69   <!-- =========================================================== --> 
    70   <simpleType name="booleanOrNull"> 
    71     <annotation> 
    72       <documentation>Union of the XML Schema boolean type and the GML Nulltype.  An element which uses this type may have content which is either a boolean {0,1,true,false} or a value from Nulltype</documentation> 
    73     </annotation> 
    74     <union memberTypes="gml:NullEnumeration boolean anyURI"/> 
    75   </simpleType> 
    76   <!-- =========================================================== --> 
    77   <simpleType name="booleanOrNullList"> 
    78     <annotation> 
    79       <documentation>XML List based on the union type defined above.  An element declared with this type contains a space-separated list of boolean values {0,1,true,false} with null values interspersed as needed</documentation> 
    80     </annotation> 
    81     <list itemType="gml:booleanOrNull"/> 
    82   </simpleType> 
    83   <!-- =========================================================== --> 
    84   <simpleType name="booleanList"> 
    85     <annotation> 
    86       <documentation>XML List based on XML Schema boolean type.  An element of this type contains a space-separated list of boolean values {0,1,true,false}</documentation> 
    87     </annotation> 
    88     <list itemType="boolean"/> 
    89   </simpleType> 
    90   <!-- =========================================================== --> 
    91   <simpleType name="stringOrNull"> 
    92     <annotation> 
    93       <documentation>Union of the XML Schema string type and the GML Nulltype.  An element which uses this type may have content which is either a string or a value from Nulltype.  Note that a "string" may contain whitespace.  </documentation> 
    94     </annotation> 
    95     <union memberTypes="gml:NullEnumeration string anyURI"/> 
    96   </simpleType> 
    97   <!-- =========================================================== --> 
    98   <simpleType name="NameOrNull"> 
    99     <annotation> 
    100       <documentation>Union of the XML Schema Name type and the GML Nulltype.  An element which uses this type may have content which is either a Name or a value from Nulltype.  Note that a "Name" may not contain whitespace.  </documentation> 
    101     </annotation> 
    102     <union memberTypes="gml:NullEnumeration Name anyURI"/> 
    103   </simpleType> 
    104   <!-- =========================================================== --> 
    105   <simpleType name="NameOrNullList"> 
    106     <annotation> 
    107       <documentation>XML List based on the union type defined above.  An element declared with this type contains a space-separated list of Name values with null values interspersed as needed</documentation> 
    108     </annotation> 
    109     <list itemType="gml:NameOrNull"/> 
    110   </simpleType> 
    111   <!-- =========================================================== --> 
    112   <simpleType name="NameList"> 
    113     <annotation> 
    114       <documentation>XML List based on XML Schema Name type.  An element of this type contains a space-separated list of Name values</documentation> 
    115     </annotation> 
    116     <list itemType="Name"/> 
    117   </simpleType> 
    118   <!-- =========================================================== --> 
    119   <simpleType name="doubleOrNull"> 
    120     <annotation> 
    121       <documentation>Union of the XML Schema double type and the GML Nulltype.  An element which uses this type may have content which is either a double or a value from Nulltype</documentation> 
    122     </annotation> 
    123     <union memberTypes="gml:NullEnumeration double anyURI"/> 
    124   </simpleType> 
    125   <!-- =========================================================== --> 
    126   <simpleType name="doubleOrNullList"> 
    127     <annotation> 
    128       <documentation>XML List based on the union type defined above.  An element declared with this type contains a space-separated list of double values with null values interspersed as needed</documentation> 
    129     </annotation> 
    130     <list itemType="gml:doubleOrNull"/> 
    131   </simpleType> 
    132   <!-- =========================================================== --> 
    133   <simpleType name="doubleList"> 
    134     <annotation> 
    135       <documentation>XML List based on XML Schema double type.  An element of this type contains a space-separated list of double values</documentation> 
    136     </annotation> 
    137     <list itemType="double"/> 
    138   </simpleType> 
    139   <!-- =========================================================== --> 
    140   <simpleType name="integerOrNull"> 
    141     <annotation> 
    142       <documentation>Union of the XML Schema integer type and the GML Nulltype.  An element which uses this type may have content which is either an integer or a value from Nulltype</documentation> 
    143     </annotation> 
    144     <union memberTypes="gml:NullEnumeration integer anyURI"/> 
    145   </simpleType> 
    146   <!-- =========================================================== --> 
    147   <simpleType name="integerOrNullList"> 
    148     <annotation> 
    149       <documentation>XML List based on the union type defined above.  An element declared with this type contains a space-separated list of integer values with null values interspersed as needed</documentation> 
    150     </annotation> 
    151     <list itemType="gml:integerOrNull"/> 
    152   </simpleType> 
    153   <!-- =========================================================== --> 
    154   <simpleType name="integerList"> 
    155     <annotation> 
    156       <documentation>XML List based on XML Schema integer type.  An element of this type contains a space-separated list of integer values</documentation> 
    157     </annotation> 
    158     <list itemType="integer"/> 
    159   </simpleType> 
    160   <!-- =========================================================== --> 
    161   <complexType name="CodeType"> 
    162     <annotation> 
    163       <documentation>Name or code with an (optional) authority.  Text token.   
    164       If the codeSpace attribute is present, then its value should identify a dictionary, thesaurus  
    165       or authority for the term, such as the organisation who assigned the value,  
    166       or the dictionary from which it is taken.   
    167       A text string with an optional codeSpace attribute. </documentation> 
    168     </annotation> 
    169     <simpleContent> 
    170       <extension base="string"> 
    171         <attribute name="codeSpace" type="anyURI" use="optional"/> 
    172       </extension> 
    173     </simpleContent> 
    174   </complexType> 
    175   <!-- =========================================================== --> 
    176   <complexType name="CodeListType"> 
    177     <annotation> 
    178       <documentation>List of values on a uniform nominal scale.  List of text tokens.    
    179       In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string.    
    180       If a codeSpace attribute is present, then its value is a reference to  
    181       a Reference System for the value, a dictionary or code list.</documentation> 
    182     </annotation> 
    183     <simpleContent> 
    184       <extension base="gml:NameList"> 
    185         <attribute name="codeSpace" type="anyURI" use="optional"/> 
    186       </extension> 
    187     </simpleContent> 
    188   </complexType> 
    189   <!-- =========================================================== --> 
    190   <complexType name="CodeOrNullListType"> 
    191     <annotation> 
    192       <documentation>List of values on a uniform nominal scale.  List of text tokens.    
    193       In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string.   
    194       A member of the list may be a typed null.   
    195       If a codeSpace attribute is present, then its value is a reference to  
    196       a Reference System for the value, a dictionary or code list.</documentation> 
    197     </annotation> 
    198     <simpleContent> 
    199       <extension base="gml:NameOrNullList"> 
    200         <attribute name="codeSpace" type="anyURI" use="optional"/> 
    201       </extension> 
    202     </simpleContent> 
    203   </complexType> 
    204   <!-- =========================================================== --> 
    205   <complexType name="MeasureType"> 
    206     <annotation> 
    207       <documentation>Number with a scale.   
    208       The value of uom (Units Of Measure) attribute is a reference to a Reference System for the amount, either a ratio or position scale. </documentation> 
    209     </annotation> 
    210     <simpleContent> 
    211       <extension base="double"> 
    212         <attribute name="uom" type="anyURI" use="required"/> 
    213       </extension> 
    214     </simpleContent> 
    215   </complexType> 
    216   <!-- =========================================================== --> 
    217   <complexType name="MeasureListType"> 
    218     <annotation> 
    219       <documentation>List of numbers with a uniform scale.   
    220       The value of uom (Units Of Measure) attribute is a reference to  
    221       a Reference System for the amount, either a ratio or position scale. </documentation> 
    222     </annotation> 
    223     <simpleContent> 
    224       <extension base="gml:doubleList"> 
    225         <attribute name="uom" type="anyURI" use="required"/> 
    226       </extension> 
    227     </simpleContent> 
    228   </complexType> 
    229   <!-- =========================================================== --> 
    230   <complexType name="MeasureOrNullListType"> 
    231     <annotation> 
    232       <documentation>List of numbers with a uniform scale.   
    233       A member of the list may be a typed null.  
    234       The value of uom (Units Of Measure) attribute is a reference to  
    235       a Reference System for the amount, either a ratio or position scale. </documentation> 
    236     </annotation> 
    237     <simpleContent> 
    238       <extension base="gml:doubleOrNullList"> 
    239         <attribute name="uom" type="anyURI" use="required"/> 
    240       </extension> 
    241     </simpleContent> 
    242   </complexType> 
    243   <!-- =========================================================== --> 
    244   <complexType name="CoordinatesType"> 
    245     <annotation> 
    246       <documentation>Tables or arrays of tuples.   
    247         May be used for text-encoding of values from a table.   
    248         Actually just a string, but allows the user to indicate which characters are used as separators.   
    249         The value of the 'cs' attribute is the separator for coordinate values,  
    250         and the value of the 'ts' attribute gives the tuple separator (a single space by default);  
    251         the default values may be changed to reflect local usage. 
    252         Defaults to CSV within a tuple, space between tuples.   
    253         However, any string content will be schema-valid.  </documentation> 
    254     </annotation> 
    255     <simpleContent> 
    256       <extension base="string"> 
    257         <attribute name="decimal" type="string" default="."/> 
    258         <attribute name="cs" type="string" default=","/> 
    259         <attribute name="ts" type="string" default="&#x20;"/> 
    260       </extension> 
    261     </simpleContent> 
    262   </complexType> 
    263   <!-- =========================================================== --> 
    264   <simpleType name="NCNameList"> 
    265     <annotation> 
    266       <documentation>A set of values, representing a list of token with the lexical value space of NCName. The tokens are seperated by whitespace.</documentation> 
    267     </annotation> 
    268     <list itemType="NCName"/> 
    269   </simpleType> 
    270   <!-- ============================================================== --> 
    271   <simpleType name="QNameList"> 
    272     <annotation> 
    273       <documentation>A set of values, representing a list of token with the lexical value space of QName. The tokens are seperated by whitespace.</documentation> 
    274     </annotation> 
    275     <list itemType="QName"/> 
    276   </simpleType> 
    277   <!-- ============================================================== --> 
     2<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1 2010-01-28"> 
     3        <annotation> 
     4                <appinfo source="urn:x-ogc:specification:gml:schema-xsd:basicTypes:3.2.1">basicTypes.xsd</appinfo> 
     5                <documentation>See ISO/DIS 19136 8.2. 
     6W3C XML Schema provides a set of built-in "simple" types which define methods for representing values as literals without internal markup.  These are described in W3C XML Schema Part 2:2001.  Because GML is an XML encoding in which instances are described using XML Schema, these simple types shall be used as far as possible and practical for the representation of data types.  W3C XML Schema also provides methods for defining  
     7-       new simple types by restriction and combination of the built-in types, and  
     8-       complex types, with simple content, but which also have XML attributes.   
     9In many places where a suitable built-in simple type is not available, simple content types derived using the XML Schema mechanisms are used for the representation of data types in GML.   
     10A set of these simple content types that are required by several GML components are defined in the basicTypes schema, as well as some elements based on them. These are primarily based around components needed to record amounts, counts, flags and terms, together with support for exceptions or null values. 
     11 
     12GML is an OGC Standard. 
     13Copyright (c) 2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
     14To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
     15                </documentation> 
     16        </annotation> 
     17        <simpleType name="NilReasonType"> 
     18                <annotation> 
     19                        <documentation>gml:NilReasonType defines a content model that allows recording of an explanation for a void value or other exception. 
     20gml:NilReasonType is a union of the following enumerated values: 
     21-       inapplicable there is no value 
     22-       missing the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist 
     23-       template the value will be available later 
     24-       unknown the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists 
     25-       withheld the value is not divulged 
     26-       other:text other brief explanation, where text is a string of two or more characters with no included spaces 
     27and 
     28-       anyURI which should refer to a resource which describes the reason for the exception 
     29A 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. 
     30gml: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> 
     31                </annotation> 
     32                <union memberTypes="gml:NilReasonEnumeration anyURI"/> 
     33        </simpleType> 
     34        <simpleType name="NilReasonEnumeration"> 
     35                <union> 
     36                        <simpleType> 
     37                                <restriction base="string"> 
     38                                        <enumeration value="inapplicable"/> 
     39                                        <enumeration value="missing"/> 
     40                                        <enumeration value="template"/> 
     41                                        <enumeration value="unknown"/> 
     42                                        <enumeration value="withheld"/> 
     43                                </restriction> 
     44                        </simpleType> 
     45                        <simpleType> 
     46                                <restriction base="string"> 
     47                                        <pattern value="other:\w{2,}"/> 
     48                                </restriction> 
     49                        </simpleType> 
     50                </union> 
     51        </simpleType> 
     52        <simpleType name="SignType"> 
     53                <annotation> 
     54                        <documentation>gml:SignType is a convenience type with values "+" (plus) and "-" (minus).</documentation> 
     55                </annotation> 
     56                <restriction base="string"> 
     57                        <enumeration value="-"/> 
     58                        <enumeration value="+"/> 
     59                </restriction> 
     60        </simpleType> 
     61        <simpleType name="booleanOrNilReason"> 
     62                <annotation> 
     63                        <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> 
     64                </annotation> 
     65                <union memberTypes="gml:NilReasonEnumeration boolean anyURI"/> 
     66        </simpleType> 
     67        <simpleType name="doubleOrNilReason"> 
     68                <annotation> 
     69                        <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> 
     70                </annotation> 
     71                <union memberTypes="gml:NilReasonEnumeration double anyURI"/> 
     72        </simpleType> 
     73        <simpleType name="integerOrNilReason"> 
     74                <annotation> 
     75                        <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> 
     76                </annotation> 
     77                <union memberTypes="gml:NilReasonEnumeration integer anyURI"/> 
     78        </simpleType> 
     79        <simpleType name="NameOrNilReason"> 
     80                <annotation> 
     81                        <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> 
     82                </annotation> 
     83                <union memberTypes="gml:NilReasonEnumeration Name anyURI"/> 
     84        </simpleType> 
     85        <simpleType name="stringOrNilReason"> 
     86                <annotation> 
     87                        <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> 
     88                </annotation> 
     89                <union memberTypes="gml:NilReasonEnumeration string anyURI"/> 
     90        </simpleType> 
     91        <complexType name="CodeType"> 
     92                <annotation> 
     93                        <documentation>gml:CodeType is a generalized type to be used for a term, keyword or name. 
     94It 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> 
     95                </annotation> 
     96                <simpleContent> 
     97                        <extension base="string"> 
     98                                <attribute name="codeSpace" type="anyURI"/> 
     99                        </extension> 
     100                </simpleContent> 
     101        </complexType> 
     102        <complexType name="CodeWithAuthorityType"> 
     103                <annotation> 
     104                        <documentation>gml:CodeWithAuthorityType requires that the codeSpace attribute is provided in an instance.</documentation> 
     105                </annotation> 
     106                <simpleContent> 
     107                        <restriction base="gml:CodeType"> 
     108                                <attribute name="codeSpace" type="anyURI" use="required"/> 
     109                        </restriction> 
     110                </simpleContent> 
     111        </complexType> 
     112        <complexType name="MeasureType"> 
     113                <annotation> 
     114                        <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> 
     115                </annotation> 
     116                <simpleContent> 
     117                        <extension base="double"> 
     118                                <attribute name="uom" type="gml:UomIdentifier" use="required"/> 
     119                        </extension> 
     120                </simpleContent> 
     121        </complexType> 
     122        <simpleType name="UomIdentifier"> 
     123                <annotation> 
     124                        <documentation>The simple type gml:UomIdentifer defines the syntax and value space of the unit of measure identifier.</documentation> 
     125                </annotation> 
     126                <union memberTypes="gml:UomSymbol gml:UomURI"/> 
     127        </simpleType> 
     128        <simpleType name="UomSymbol"> 
     129                <annotation> 
     130                        <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.  
     131It 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> 
     132                </annotation> 
     133                <restriction base="string"> 
     134                        <pattern value="[^: \n\r\t]+"/> 
     135                </restriction> 
     136        </simpleType> 
     137        <simpleType name="UomURI"> 
     138                <annotation> 
     139                        <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 .  
     140NOTE    It is possible to re-write such a relative URI to conform to the restriction (e.g. "./m/s"). 
     141In an instance document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a value corresponding to either  
     142-       a conventional unit of measure symbol, 
     143-       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> 
     144                </annotation> 
     145                <restriction base="anyURI"> 
     146                        <pattern value="([a-zA-Z][a-zA-Z0-9\-\+\.]*:|\.\./|\./|#).*"/> 
     147                </restriction> 
     148        </simpleType> 
     149        <complexType name="CoordinatesType"> 
     150                <annotation> 
     151                        <documentation>This type is deprecated for tuples with ordinate values that are numbers. 
     152CoordinatesType is a text string, intended to be used to record an array of tuples or coordinates.  
     153While 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: 
     154Decimal symbol used for a decimal point (default="." a stop or period) 
     155cs              symbol used to separate components within a tuple or coordinate string (default="," a comma) 
     156ts              symbol used to separate tuples or coordinate strings (default=" " a space) 
     157Since 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> 
     158                </annotation> 
     159                <simpleContent> 
     160                        <extension base="string"> 
     161                                <attribute name="decimal" type="string" default="."/> 
     162                                <attribute name="cs" type="string" default=","/> 
     163                                <attribute name="ts" type="string" default="&#x20;"/> 
     164                        </extension> 
     165                </simpleContent> 
     166        </complexType> 
     167        <simpleType name="booleanList"> 
     168                <annotation> 
     169                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     170                </annotation> 
     171                <list itemType="boolean"/> 
     172        </simpleType> 
     173        <simpleType name="doubleList"> 
     174                <annotation> 
     175                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     176                </annotation> 
     177                <list itemType="double"/> 
     178        </simpleType> 
     179        <simpleType name="integerList"> 
     180                <annotation> 
     181                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     182                </annotation> 
     183                <list itemType="integer"/> 
     184        </simpleType> 
     185        <simpleType name="NameList"> 
     186                <annotation> 
     187                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     188                </annotation> 
     189                <list itemType="Name"/> 
     190        </simpleType> 
     191        <simpleType name="NCNameList"> 
     192                <annotation> 
     193                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     194                </annotation> 
     195                <list itemType="NCName"/> 
     196        </simpleType> 
     197        <simpleType name="QNameList"> 
     198                <annotation> 
     199                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     200                </annotation> 
     201                <list itemType="QName"/> 
     202        </simpleType> 
     203        <simpleType name="booleanOrNilReasonList"> 
     204                <annotation> 
     205                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     206                </annotation> 
     207                <list itemType="gml:booleanOrNilReason"/> 
     208        </simpleType> 
     209        <simpleType name="NameOrNilReasonList"> 
     210                <annotation> 
     211                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     212                </annotation> 
     213                <list itemType="gml:NameOrNilReason"/> 
     214        </simpleType> 
     215        <simpleType name="doubleOrNilReasonList"> 
     216                <annotation> 
     217                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     218                </annotation> 
     219                <list itemType="gml:doubleOrNilReason"/> 
     220        </simpleType> 
     221        <simpleType name="integerOrNilReasonList"> 
     222                <annotation> 
     223                        <documentation>A type for a list of values of the respective simple type.</documentation> 
     224                </annotation> 
     225                <list itemType="gml:integerOrNilReason"/> 
     226        </simpleType> 
     227        <complexType name="CodeListType"> 
     228                <annotation> 
     229                        <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> 
     230                </annotation> 
     231                <simpleContent> 
     232                        <extension base="gml:NameList"> 
     233                                <attribute name="codeSpace" type="anyURI"/> 
     234                        </extension> 
     235                </simpleContent> 
     236        </complexType> 
     237        <complexType name="CodeOrNilReasonListType"> 
     238                <annotation> 
     239                        <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> 
     240                </annotation> 
     241                <simpleContent> 
     242                        <extension base="gml:NameOrNilReasonList"> 
     243                                <attribute name="codeSpace" type="anyURI"/> 
     244                        </extension> 
     245                </simpleContent> 
     246        </complexType> 
     247        <complexType name="MeasureListType"> 
     248                <annotation> 
     249                        <documentation>gml:MeasureListType provides for a list of quantities.</documentation> 
     250                </annotation> 
     251                <simpleContent> 
     252                        <extension base="gml:doubleList"> 
     253                                <attribute name="uom" type="gml:UomIdentifier" use="required"/> 
     254                        </extension> 
     255                </simpleContent> 
     256        </complexType> 
     257        <complexType name="MeasureOrNilReasonListType"> 
     258                <annotation> 
     259                        <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> 
     260                </annotation> 
     261                <simpleContent> 
     262                        <extension base="gml:doubleOrNilReasonList"> 
     263                                <attribute name="uom" type="gml:UomIdentifier" use="required"/> 
     264                        </extension> 
     265                </simpleContent> 
     266        </complexType> 
    278267</schema> 
  • RevitalizationWS/schemas/gml/branches/3.2.1/src/main/resources/binding.xjb

    r7421 r7541  
    1414                </jaxb:globalBindings> 
    1515                <jaxb:schemaBindings> 
    16                         <jaxb:package name="net.opengis.gml._311"/> 
     16                        <jaxb:package name="net.opengis.gml._321"/> 
    1717                </jaxb:schemaBindings>                   
    1818        </jaxb:bindings> 
    1919         
    2020        <jaxb:bindings schemaLocation="geometryPrimitives.xsd" node="/xs:schema">  
    21                 <jaxb:bindings node="xs:element[@name='_Solid']"> 
    22                         <jaxb:class name="ASolidElement"/> 
     21                <jaxb:bindings node="xs:complexType[@name='AbstractGriddedSurfaceType']"> 
     22                        <jaxb:class name="AbstractGriddedSurfaceType"/> 
     23                        <jaxb:bindings node=".//xs:attribute[@name='rows']"> 
     24                                <jaxb:property name="rowsElement"/> 
     25                        </jaxb:bindings>                 
    2326                </jaxb:bindings> 
    2427        </jaxb:bindings> 
    2528         
    26         <jaxb:bindings schemaLocation="geometryBasic0d1d.xsd" node="/xs:schema"> 
    27                 <jaxb:bindings node="xs:element[@name='_Curve']"> 
    28                         <jaxb:class name="ACurveElement"/> 
     29        <jaxb:bindings schemaLocation="datums.xsd" node="/xs:schema">  
     30                <jaxb:bindings node="xs:element[@name='SecondDefiningParameter']"> 
     31                        <jaxb:class name="SecondDefiningParameterType"/>                 
     32                </jaxb:bindings> 
     33                <jaxb:bindings node="xs:element[@name='ImageDatum']"> 
     34                        <jaxb:class name="ImageDatumElement"/>           
     35                </jaxb:bindings> 
     36                <jaxb:bindings node="xs:element[@name='GeodeticDatum']"> 
     37                        <jaxb:class name="GeodeticDatumElement"/>                
     38                </jaxb:bindings> 
     39                <jaxb:bindings node="xs:element[@name='TemporalDatum']"> 
     40                        <jaxb:class name="TemporalDatumElement"/>                
     41                </jaxb:bindings> 
     42                <jaxb:bindings node="xs:element[@name='Ellipsoid']"> 
     43                        <jaxb:class name="EllipsoidElement"/>            
    2944                </jaxb:bindings>                 
     45                <jaxb:bindings node="xs:element[@name='EngineeringDatum']"> 
     46                        <jaxb:class name="EngineeringDatumElement"/>             
     47                </jaxb:bindings>         
     48                <jaxb:bindings node="xs:element[@name='primeMeridian']"> 
     49                        <jaxb:class name="primeMeridianElement"/>                
     50                </jaxb:bindings>                         
     51                                         
    3052        </jaxb:bindings> 
    3153         
    32         <jaxb:bindings schemaLocation="geometryBasic2d.xsd " node="/xs:schema"> 
    33                 <jaxb:bindings node="xs:element[@name='_Surface']"> 
    34                         <jaxb:class name="ASurfaceElement"/> 
     54        <jaxb:bindings schemaLocation="coordinateReferenceSystems.xsd" node="/xs:schema">  
     55                <jaxb:bindings node="xs:element[@name='userDefinedCS']"> 
     56                        <jaxb:class name="UserDefinedCSElement"/> 
    3557                </jaxb:bindings> 
    36                 <jaxb:bindings node="xs:element[@name='_Ring']"> 
    37                         <jaxb:class name="ARingElement"/> 
    38                 </jaxb:bindings> 
     58                <jaxb:bindings node="xs:element[@name='cartesianCS']"> 
     59                        <jaxb:class name="cartesianCSElement"/> 
     60                </jaxb:bindings>                 
     61                <jaxb:bindings node="xs:element[@name='conversion']"> 
     62                        <jaxb:class name="conversionElement"/> 
     63                </jaxb:bindings>                                 
     64                <jaxb:bindings node="xs:element[@name='sphericalCS']"> 
     65                        <jaxb:class name="sphericalCSElement"/> 
     66                </jaxb:bindings>                                                 
     67                <jaxb:bindings node="xs:element[@name='polarCS']"> 
     68                        <jaxb:class name="polarCSElement"/> 
     69                </jaxb:bindings>                                         
     70                <jaxb:bindings node="xs:element[@name='linearCS']"> 
     71                        <jaxb:class name="linearCSElement"/> 
     72                </jaxb:bindings>                                                 
     73                <jaxb:bindings node="xs:element[@name='verticalCS']"> 
     74                        <jaxb:class name="verticalCSElement"/> 
     75                </jaxb:bindings>                                                         
     76                <jaxb:bindings node="xs:element[@name='cylindricalCS']"> 
     77                        <jaxb:class name="cylindricalCSElement"/> 
     78                </jaxb:bindings>                                         
     79                <jaxb:bindings node="xs:element[@name='ellipsoidalCS']"> 
     80                        <jaxb:class name="ellipsoidalCSElement"/> 
     81                </jaxb:bindings>                                                         
     82                <jaxb:bindings node="xs:element[@name='affineCS']"> 
     83                        <jaxb:class name="affineCSElement"/> 
     84                </jaxb:bindings>                                                 
     85                <jaxb:bindings node="xs:element[@name='timeCS']"> 
     86                        <jaxb:class name="timeCSElement"/> 
     87                </jaxb:bindings>                                                         
     88                <jaxb:bindings node="xs:element[@name='verticalDatum']"> 
     89                        <jaxb:class name="verticalDatumElement"/> 
     90                </jaxb:bindings>                                                                                                                                                                                 
    3991        </jaxb:bindings> 
    4092         
    41         <jaxb:bindings schemaLocation="feature.xsd"     node="/xs:schema"> 
    42                 <jaxb:bindings node="xs:element[@name='_FeatureCollection']"> 
    43                         <jaxb:class name="AFeatureCollectionElement"/> 
     93        <jaxb:bindings schemaLocation="coordinateOperations.xsd" node="/xs:schema">  
     94                <jaxb:bindings node="xs:element[@name='operationParameter']"> 
     95                        <jaxb:class name="operationParameterElement"/> 
     96                </jaxb:bindings>         
     97                <jaxb:bindings node="xs:element[@name='parameterValue']"> 
     98                        <jaxb:class name="parameterValueElement"/> 
     99                </jaxb:bindings>                         
     100        </jaxb:bindings>         
     101         
     102        <jaxb:bindings schemaLocation="defaultStyle.xsd" node="/xs:schema">  
     103                <jaxb:bindings node="xs:element[@name='topologyStyle']"> 
     104                        <jaxb:class name="topologyStyleElement"/> 
    44105                </jaxb:bindings> 
     106                <jaxb:bindings node="xs:element[@name='geometryStyle']"> 
     107                        <jaxb:class name="geometryStyleElement"/> 
     108                </jaxb:bindings>                 
     109                <jaxb:bindings node="xs:element[@name='labelStyle']"> 
     110                        <jaxb:class name="labelStyleElement"/> 
     111                </jaxb:bindings> 
     112                <jaxb:bindings node="xs:element[@name='FeatureStyle']"> 
     113                        <jaxb:class name="FeatureStyleElement"/> 
     114                </jaxb:bindings>                                                         
     115                <jaxb:bindings node="xs:element[@name='graphStyle']"> 
     116                        <jaxb:class name="graphStyleElement"/> 
     117                </jaxb:bindings>                                                                                                 
    45118        </jaxb:bindings> 
    46119         
    47         <jaxb:bindings schemaLocation="defaultStyle.xsd" node="/xs:schema"> 
    48                 <jaxb:bindings node="xs:element[@name='graphStyle']"> 
    49                         <jaxb:class name="GraphStylePropertyElement"/> 
    50                 </jaxb:bindings> 
    51                 <jaxb:bindings node="xs:element[@name='topologyStyle']"> 
    52                         <jaxb:class name="TopologyStylePropertyElement"/> 
    53                 </jaxb:bindings> 
    54                 <jaxb:bindings node="xs:element[@name='labelStyle']"> 
    55                         <jaxb:class name="LabelStylePropertyElement"/> 
    56                 </jaxb:bindings> 
    57                 <jaxb:bindings node="xs:element[@name='geometryStyle']"> 
    58                         <jaxb:class name="GeometryStylePropertyElement"/> 
    59                 </jaxb:bindings> 
    60                 <jaxb:bindings node="xs:element[@name='featureStyle']"> 
    61                         <jaxb:class name="FeatureStylePropertyElement"/> 
    62                 </jaxb:bindings> 
    63  
    64                 <jaxb:bindings node="xs:element[@name='_Style']"> 
    65                         <jaxb:class name="AStyleElement"/> 
    66                 </jaxb:bindings> 
    67         </jaxb:bindings> 
    68  
    69120</jaxb:bindings> 
  • RevitalizationWS/schemas/gml/branches/3.2.1/src/main/resources/coordinateOperations.xsd

    r7379 r7541  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <schema targetNamespace="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.1.1 2010-01-28" xml:lang="en"> 
     2<schema targetNamespace="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns="http://www.w3.org/2001/XMLSchema" version="3.2.1 2010-01-28"> 
    33        <annotation> 
    4                 <appinfo source="urn:opengis:specification:gml:schema-xsd:coordinateOperations:3.1.1"/> 
    5                 <documentation>How to encode coordinate operation definitions. Builds on referenceSystems.xsd to encode the data needed to define coordinate operations, including Transformations, Conversions, and other specific subtypes of operations.  
    6                  
    7                 This schema encodes the Coordinate Operation (CC_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex C of Topic 2.  
    8                 Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111. 
    9                  
    10                 GML is an OGC Standard. 
    11                 Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
    12                 To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
     4                <appinfo source="urn:x-ogc:specification:gml:schema-xsd:coordinateOperations:3.2.1">coordinateOperations.xsd</appinfo> 
     5                <documentation>See ISO/DIS 19136 13.6. 
     6The 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: 
     7-       Multiple abstract coordinate operations 
     8-       Multiple concrete types of coordinate operations, including Transformations and Conversions 
     9-       Abstract and concrete parameter values and groups 
     10-       Operation methods 
     11-       Abstract and concrete operation parameters and groups 
     12These schema component encodes the Coordinate Operation package of the UML Model for ISO 19111 Clause 11. 
     13 
     14GML is an OGC Standard. 
     15Copyright (c) 2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
     16To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
    1317                </documentation> 
    1418        </annotation> 
    15         <!-- ====================================================== 
    16        includes and imports 
    17         ====================================================== --> 
    1819        <include schemaLocation="referenceSystems.xsd"/> 
    19         <include schemaLocation="dataQuality.xsd"/> 
    20         <!-- ====================================================== 
    21        elements and types 
    22         ====================================================== --> 
    23         <element name="_CoordinateOperation" type="gml:AbstractCoordinateOperationType" abstract="true" substitutionGroup="gml:Definition"/> 
    24         <!-- =================================================== --> 
    25         <complexType name="AbstractCoordinateOperationBaseType" abstract="true"> 
    26                 <annotation> 
    27                         <documentation>Basic encoding for coordinate operation objects, simplifying and restricting the DefinitionType as needed. </documentation> 
    28                 </annotation> 
    29                 <complexContent> 
    30                         <restriction base="gml:DefinitionType"> 
     20        <include schemaLocation="measures.xsd"/> 
     21        <import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd"/> 
     22        <element name="AbstractCoordinateOperation" type="gml:AbstractCoordinateOperationType" abstract="true" substitutionGroup="gml:Definition"> 
     23                <annotation> 
     24                        <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. 
     25The optional coordinateOperationAccuracy property elements provide estimates of the impact of this coordinate operation on point position accuracy.</documentation> 
     26                </annotation> 
     27        </element> 
     28        <complexType name="AbstractCoordinateOperationType" abstract="true"> 
     29                <complexContent> 
     30                        <extension base="gml:IdentifiedObjectType"> 
     31                                <sequence> 
     32                                        <element ref="gml:domainOfValidity" minOccurs="0"/> 
     33                                        <element ref="gml:scope" maxOccurs="unbounded"/> 
     34                                        <element ref="gml:operationVersion" minOccurs="0"/> 
     35                                        <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> 
     36                                        <element ref="gml:sourceCRS" minOccurs="0"/> 
     37                                        <element ref="gml:targetCRS" minOccurs="0"/> 
     38                                </sequence> 
     39                        </extension> 
     40                </complexContent> 
     41        </complexType> 
     42        <element name="operationVersion" type="string"> 
     43                <annotation> 
     44                        <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> 
     45                </annotation> 
     46        </element> 
     47        <element name="coordinateOperationAccuracy"> 
     48                <annotation> 
     49                        <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> 
     50                </annotation> 
     51                <complexType> 
     52                        <sequence minOccurs="0"> 
     53                                <element ref="gmd:AbstractDQ_PositionalAccuracy"/> 
     54                        </sequence> 
     55                        <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     56                </complexType> 
     57        </element> 
     58        <element name="sourceCRS" type="gml:CRSPropertyType"> 
     59                <annotation> 
     60                        <documentation>gml:sourceCRS is an association role to the source CRS (coordinate reference system) of this coordinate operation.</documentation> 
     61                </annotation> 
     62        </element> 
     63        <element name="targetCRS" type="gml:CRSPropertyType"> 
     64                <annotation> 
     65                        <documentation>gml:targetCRS is an association role to the target CRS (coordinate reference system) of this coordinate operation.</documentation> 
     66                </annotation> 
     67        </element> 
     68        <complexType name="CoordinateOperationPropertyType"> 
     69                <annotation> 
     70                        <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> 
     71                </annotation> 
     72                <sequence minOccurs="0"> 
     73                        <element ref="gml:AbstractCoordinateOperation"/> 
     74                </sequence> 
     75                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     76        </complexType> 
     77        <element name="AbstractSingleOperation" type="gml:AbstractCoordinateOperationType" abstract="true" substitutionGroup="gml:AbstractCoordinateOperation"> 
     78                <annotation> 
     79                        <documentation>gml:AbstractSingleOperation is a single (not concatenated) coordinate operation.</documentation> 
     80                </annotation> 
     81        </element> 
     82        <complexType name="SingleOperationPropertyType"> 
     83                <annotation> 
     84                        <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> 
     85                </annotation> 
     86                <sequence minOccurs="0"> 
     87                        <element ref="gml:AbstractSingleOperation"/> 
     88                </sequence> 
     89                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     90        </complexType> 
     91        <element name="AbstractGeneralConversion" type="gml:AbstractGeneralConversionType" abstract="true" substitutionGroup="gml:AbstractOperation"> 
     92                <annotation> 
     93                        <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. 
     94This 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> 
     95                </annotation> 
     96        </element> 
     97        <complexType name="AbstractGeneralConversionType" abstract="true"> 
     98                <complexContent> 
     99                        <restriction base="gml:AbstractCoordinateOperationType"> 
    31100                                <sequence> 
    32101                                        <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    33                                         <element ref="gml:coordinateOperationName"/> 
     102                                        <element ref="gml:description" minOccurs="0"/> 
     103                                        <element ref="gml:descriptionReference" minOccurs="0"/> 
     104                                        <element ref="gml:identifier"/> 
     105                                        <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> 
     106                                        <element ref="gml:remarks" minOccurs="0"/> 
     107                                        <element ref="gml:domainOfValidity" minOccurs="0"/> 
     108                                        <element ref="gml:scope" maxOccurs="unbounded"/> 
     109                                        <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> 
    34110                                </sequence> 
    35111                                <attribute ref="gml:id" use="required"/> 
     
    37113                </complexContent> 
    38114        </complexType> 
    39         <!-- =================================================== --> 
    40         <element name="coordinateOperationName" type="gml:CodeType" substitutionGroup="gml:name"> 
    41                 <annotation> 
    42                         <documentation>The name by which this coordinate operation is identified. </documentation> 
    43                 </annotation> 
    44         </element> 
    45         <!-- =================================================== --> 
    46         <complexType name="AbstractCoordinateOperationType" abstract="true"> 
    47                 <annotation> 
    48                         <documentation>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 must 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.</documentation> 
    49                 </annotation> 
    50                 <complexContent> 
    51                         <extension base="gml:AbstractCoordinateOperationBaseType"> 
    52                                 <sequence> 
    53                                         <element ref="gml:coordinateOperationID" minOccurs="0" maxOccurs="unbounded"> 
    54                                                 <annotation> 
    55                                                         <documentation>Set of alternative identifications of this coordinate operation. The first coordinateOperationID, if any, is normally the primary identification code, and any others are aliases. </documentation> 
    56                                                 </annotation> 
    57                                         </element> 
    58                                         <element ref="gml:remarks" minOccurs="0"> 
    59                                                 <annotation> 
    60                                                         <documentation>Comments on or information about this coordinate operation, including source information. </documentation> 
    61                                                 </annotation> 
    62                                         </element> 
    63                                         <element ref="gml:operationVersion" minOccurs="0"/> 
    64                                         <element ref="gml:validArea" minOccurs="0"/> 
    65                                         <element ref="gml:scope" minOccurs="0"/> 
    66                                         <element ref="gml:_positionalAccuracy" minOccurs="0" maxOccurs="unbounded"> 
    67                                                 <annotation> 
    68                                                         <documentation>Unordered set of estimates of the impact of this coordinate operation on point position accuracy. Gives position error estimates for target coordinates of this coordinate operation, assuming no errors in source coordinates. </documentation> 
    69                                                 </annotation> 
    70                                         </element> 
    71                                         <element ref="gml:sourceCRS" minOccurs="0"/> 
    72                                         <element ref="gml:targetCRS" minOccurs="0"/> 
    73                                 </sequence> 
    74                         </extension> 
    75                 </complexContent> 
    76         </complexType> 
    77         <!-- =================================================== --> 
    78         <element name="coordinateOperationID" type="gml:IdentifierType"> 
    79                 <annotation> 
    80                         <documentation>An identification of a coordinate operation. </documentation> 
    81                 </annotation> 
    82         </element> 
    83         <!-- =================================================== --> 
    84         <element name="operationVersion" type="string"> 
    85                 <annotation> 
    86                         <documentation>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> 
    87                 </annotation> 
    88         </element> 
    89         <!-- =================================================== --> 
    90         <element name="sourceCRS" type="gml:CRSRefType"> 
    91                 <annotation> 
    92                         <documentation>Association to the source CRS (coordinate reference system) of this coordinate operation. </documentation> 
    93                 </annotation> 
    94         </element> 
    95         <!-- =================================================== --> 
    96         <element name="targetCRS" type="gml:CRSRefType"> 
    97                 <annotation> 
    98                         <documentation>Association to the target CRS (coordinate reference system) of this coordinate operation. For constraints on multiplicity of "sourceCRS" and "targetCRS", see UML model of Coordinate Operation package in OGC Abstract Specification topic 2. </documentation> 
    99                 </annotation> 
    100         </element> 
    101         <!-- =================================================== --> 
    102         <element name="coordinateOperationRef" type="gml:CoordinateOperationRefType"/> 
    103         <!-- =================================================== --> 
    104         <complexType name="CoordinateOperationRefType"> 
    105                 <annotation> 
    106                         <documentation>Association to a coordinate operation, either referencing or containing the definition of that coordinate operation. </documentation> 
    107                 </annotation> 
    108                 <sequence minOccurs="0"> 
    109                         <element ref="gml:_CoordinateOperation"/> 
    110                 </sequence> 
    111                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    112         </complexType> 
    113         <!-- =================================================== --> 
    114         <element name="ConcatenatedOperation" type="gml:ConcatenatedOperationType" substitutionGroup="gml:_CoordinateOperation"/> 
    115         <!-- =================================================== --> 
    116         <complexType name="ConcatenatedOperationType"> 
    117                 <annotation> 
    118                         <documentation>An ordered sequence of two or more single coordinate operations. The 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.</documentation> 
    119                 </annotation> 
    120                 <complexContent> 
    121                         <extension base="gml:AbstractCoordinateOperationType"> 
    122                                 <sequence> 
    123                                         <element ref="gml:usesSingleOperation" minOccurs="2" maxOccurs="unbounded"> 
    124                                                 <annotation> 
    125                                                         <documentation>Ordered sequence of associations to the two or more single operations used by this concatenated operation. </documentation> 
    126                                                 </annotation> 
    127                                         </element> 
    128                                 </sequence> 
    129                         </extension> 
    130                 </complexContent> 
    131         </complexType> 
    132         <!-- =================================================== --> 
    133         <element name="usesSingleOperation" type="gml:SingleOperationRefType"> 
    134                 <annotation> 
    135                         <documentation>Association to a single operation. </documentation> 
    136                 </annotation> 
    137         </element> 
    138         <!-- =================================================== --> 
    139         <element name="concatenatedOperationRef" type="gml:ConcatenatedOperationRefType"/> 
    140         <!-- =================================================== --> 
    141         <complexType name="ConcatenatedOperationRefType"> 
    142                 <annotation> 
    143                         <documentation>Association to a concatenated operation, either referencing or containing the definition of that concatenated operation. </documentation> 
    144                 </annotation> 
    145                 <sequence minOccurs="0"> 
    146                         <element ref="gml:ConcatenatedOperation"/> 
    147                 </sequence> 
    148                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    149         </complexType> 
    150         <!-- =================================================== --> 
    151         <element name="_SingleOperation" type="gml:AbstractCoordinateOperationType" abstract="true" substitutionGroup="gml:_CoordinateOperation"> 
    152                 <annotation> 
    153                         <documentation>A single (not concatenated) coordinate operation. </documentation> 
    154                 </annotation> 
    155         </element> 
    156         <!-- =================================================== --> 
    157         <element name="singleOperationRef" type="gml:SingleOperationRefType"/> 
    158         <!-- =================================================== --> 
    159         <complexType name="SingleOperationRefType"> 
    160                 <annotation> 
    161                         <documentation>Association to a single operation, either referencing or containing the definition of that single operation. </documentation> 
    162                 </annotation> 
    163                 <sequence minOccurs="0"> 
    164                         <element ref="gml:_SingleOperation"/> 
    165                 </sequence> 
    166                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    167         </complexType> 
    168         <!-- =================================================== --> 
    169         <element name="PassThroughOperation" type="gml:PassThroughOperationType" substitutionGroup="gml:_SingleOperation"/> 
    170         <!-- =================================================== --> 
    171         <complexType name="PassThroughOperationType"> 
    172                 <annotation> 
    173                         <documentation>A pass-through operation specifies that a subset of a coordinate tuple is subject to a specific coordinate operation. </documentation> 
    174                 </annotation> 
    175                 <complexContent> 
    176                         <extension base="gml:AbstractCoordinateOperationType"> 
    177                                 <sequence> 
    178                                         <element ref="gml:modifiedCoordinate" maxOccurs="unbounded"> 
    179                                                 <annotation> 
    180                                                         <documentation>Ordered sequence of positive integers defining the positions in a coordinate tuple of the coordinates affected by this pass-through operation. </documentation> 
    181                                                 </annotation> 
    182                                         </element> 
    183                                         <element ref="gml:usesOperation"/> 
    184                                 </sequence> 
    185                         </extension> 
    186                 </complexContent> 
    187         </complexType> 
    188         <!-- =================================================== --> 
    189         <element name="modifiedCoordinate" type="positiveInteger"> 
    190                 <annotation> 
    191                         <documentation>A positive integer defining a position in a coordinate tuple. </documentation> 
    192                 </annotation> 
    193         </element> 
    194         <!-- =================================================== --> 
    195         <element name="usesOperation" type="gml:OperationRefType"> 
    196                 <annotation> 
    197                         <documentation>Association to the operation applied to the specified ordinates. </documentation> 
    198                 </annotation> 
    199         </element> 
    200         <!-- =================================================== --> 
    201         <element name="passThroughOperationRef" type="gml:PassThroughOperationRefType"/> 
    202         <!-- =================================================== --> 
    203         <complexType name="PassThroughOperationRefType"> 
    204                 <annotation> 
    205                         <documentation>Association to a pass through operation, either referencing or containing the definition of that pass through operation. </documentation> 
    206                 </annotation> 
    207                 <sequence minOccurs="0"> 
    208                         <element ref="gml:PassThroughOperation"/> 
    209                 </sequence> 
    210                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    211         </complexType> 
    212         <!-- =================================================== --> 
    213         <element name="_Operation" type="gml:AbstractCoordinateOperationType" abstract="true" substitutionGroup="gml:_SingleOperation"> 
    214                 <annotation> 
    215                         <documentation>A parameterized mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system. This coordinate operation 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. 
    216  
    217 This abstract complexType shall not be directly used, extended, or restricted in a compliant Application Schema. </documentation> 
    218                 </annotation> 
    219         </element> 
    220         <!-- =================================================== --> 
    221         <element name="operationRef" type="gml:OperationRefType"/> 
    222         <!-- =================================================== --> 
    223         <complexType name="OperationRefType"> 
    224                 <annotation> 
    225                         <documentation>Association to an abstract operation, either referencing or containing the definition of that operation. </documentation> 
    226                 </annotation> 
    227                 <sequence minOccurs="0"> 
    228                         <element ref="gml:_Operation"/> 
    229                 </sequence> 
    230                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    231         </complexType> 
    232         <!-- =================================================== --> 
    233         <!-- =================================================== --> 
    234         <element name="_GeneralConversion" type="gml:AbstractGeneralConversionType" abstract="true" substitutionGroup="gml:_Operation"/> 
    235         <!-- =================================================== --> 
    236         <complexType name="AbstractGeneralConversionType" abstract="true"> 
    237                 <annotation> 
    238                         <documentation>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. 
    239  
    240 This abstract complexType is expected to be extended for well-known operation methods with many Conversion instances, in 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 "_generalParameterValue" element. </documentation> 
    241                 </annotation> 
     115        <complexType name="GeneralConversionPropertyType"> 
     116                <annotation> 
     117                        <documentation>gml:GeneralConversionPropertyType is a property type for association roles to a general conversion, either referencing or containing the definition of that conversion.</documentation> 
     118                </annotation> 
     119                <sequence minOccurs="0"> 
     120                        <element ref="gml:AbstractGeneralConversion"/> 
     121                </sequence> 
     122                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     123        </complexType> 
     124        <element name="AbstractGeneralTransformation" type="gml:AbstractGeneralTransformationType" abstract="true" substitutionGroup="gml:AbstractOperation"> 
     125                <annotation> 
     126                        <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. 
     127This 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> 
     128                </annotation> 
     129        </element> 
     130        <complexType name="AbstractGeneralTransformationType" abstract="true"> 
    242131                <complexContent> 
    243132                        <restriction base="gml:AbstractCoordinateOperationType"> 
    244133                                <sequence> 
    245134                                        <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    246                                         <element ref="gml:coordinateOperationName"/> 
    247                                         <element ref="gml:coordinateOperationID" minOccurs="0" maxOccurs="unbounded"/> 
     135                                        <element ref="gml:description" minOccurs="0"/> 
     136                                        <element ref="gml:descriptionReference" minOccurs="0"/> 
     137                                        <element ref="gml:identifier"/> 
     138                                        <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> 
    248139                                        <element ref="gml:remarks" minOccurs="0"/> 
    249                                         <element ref="gml:validArea" minOccurs="0"/> 
    250                                         <element ref="gml:scope" minOccurs="0"/> 
    251                                         <element ref="gml:_positionalAccuracy" minOccurs="0" maxOccurs="unbounded"/> 
     140                                        <element ref="gml:domainOfValidity" minOccurs="0"/> 
     141                                        <element ref="gml:scope" maxOccurs="unbounded"/> 
     142                                        <element ref="gml:operationVersion"/> 
     143                                        <element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> 
     144                                        <element ref="gml:sourceCRS"/> 
     145                                        <element ref="gml:targetCRS"/> 
    252146                                </sequence> 
    253147                                <attribute ref="gml:id" use="required"/> 
     
    255149                </complexContent> 
    256150        </complexType> 
    257         <!-- =================================================== --> 
    258         <element name="generalConversionRef" type="gml:GeneralConversionRefType"/> 
    259         <!-- =================================================== --> 
    260         <complexType name="GeneralConversionRefType"> 
    261                 <annotation> 
    262                         <documentation>Association to a general conversion, either referencing or containing the definition of that conversion. </documentation> 
    263                 </annotation> 
    264                 <sequence minOccurs="0"> 
    265                         <element ref="gml:_GeneralConversion"/> 
    266                 </sequence> 
    267                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    268         </complexType> 
    269         <!-- =================================================== --> 
    270         <element name="Conversion" type="gml:ConversionType" substitutionGroup="gml:_GeneralConversion"/> 
    271         <!-- =================================================== --> 
     151        <complexType name="GeneralTransformationPropertyType"> 
     152                <annotation> 
     153                        <documentation>gml:GeneralTransformationPropertyType is a property type for association roles to a general transformation, either referencing or containing the definition of that transformation.</documentation> 
     154                </annotation> 
     155                <sequence minOccurs="0"> 
     156                        <element ref="gml:AbstractGeneralTransformation"/> 
     157                </sequence> 
     158                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     159        </complexType> 
     160        <element name="ConcatenatedOperation" type="gml:ConcatenatedOperationType" substitutionGroup="gml:AbstractCoordinateOperation"/> 
     161        <complexType name="ConcatenatedOperationType"> 
     162                <annotation> 
     163                        <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. 
     164The 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> 
     165                </annotation> 
     166                <complexContent> 
     167                        <extension base="gml:AbstractCoordinateOperationType"> 
     168                                <sequence> 
     169                                        <element ref="gml:coordOperation" minOccurs="2" maxOccurs="unbounded"/> 
     170                                </sequence> 
     171                                <attributeGroup ref="gml:AggregationAttributeGroup"/> 
     172                        </extension> 
     173                </complexContent> 
     174        </complexType> 
     175        <element name="coordOperation" type="gml:CoordinateOperationPropertyType"> 
     176                <annotation> 
     177                        <documentation>gml:coordOperation is an association role to a coordinate operation.</documentation> 
     178                </annotation> 
     179        </element> 
     180        <complexType name="ConcatenatedOperationPropertyType"> 
     181                <annotation> 
     182                        <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> 
     183                </annotation> 
     184                <sequence minOccurs="0"> 
     185                        <element ref="gml:ConcatenatedOperation"/> 
     186                </sequence> 
     187                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     188        </complexType> 
     189        <element name="PassThroughOperation" type="gml:PassThroughOperationType" substitutionGroup="gml:AbstractSingleOperation"> 
     190                <annotation> 
     191                        <documentation>gml:PassThroughOperation is a pass-through operation specifies that a subset of a coordinate tuple is subject to a specific coordinate operation. 
     192The 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> 
     193                </annotation> 
     194        </element> 
     195        <complexType name="PassThroughOperationType"> 
     196                <complexContent> 
     197                        <extension base="gml:AbstractCoordinateOperationType"> 
     198                                <sequence> 
     199                                        <element ref="gml:modifiedCoordinate" maxOccurs="unbounded"/> 
     200                                        <element ref="gml:coordOperation"/> 
     201                                </sequence> 
     202                                <attributeGroup ref="gml:AggregationAttributeGroup"/> 
     203                        </extension> 
     204                </complexContent> 
     205        </complexType> 
     206        <element name="modifiedCoordinate" type="positiveInteger"> 
     207                <annotation> 
     208                        <documentation>gml:modifiedCoordinate is a positive integer defining a position in a coordinate tuple.</documentation> 
     209                </annotation> 
     210        </element> 
     211        <complexType name="PassThroughOperationPropertyType"> 
     212                <annotation> 
     213                        <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> 
     214                </annotation> 
     215                <sequence minOccurs="0"> 
     216                        <element ref="gml:PassThroughOperation"/> 
     217                </sequence> 
     218                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     219        </complexType> 
     220        <element name="Conversion" type="gml:ConversionType" substitutionGroup="gml:AbstractGeneralConversion"> 
     221                <annotation> 
     222                        <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. 
     223This 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. 
     224The usesValue property elements are an unordered list of composition associations to the set of parameter values used by this conversion operation.</documentation> 
     225                </annotation> 
     226        </element> 
    272227        <complexType name="ConversionType"> 
    273                 <annotation> 
    274                         <documentation>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. 
    275  
    276 This concrete complexType can be used with all operation methods, without using an Application Schema that defines operation-method-specialized element names and contents, especially for methods with only one Conversion instance. </documentation> 
    277                 </annotation> 
    278228                <complexContent> 
    279229                        <extension base="gml:AbstractGeneralConversionType"> 
    280230                                <sequence> 
    281                                         <element ref="gml:usesMethod"/> 
    282                                         <element ref="gml:usesValue" minOccurs="0" maxOccurs="unbounded"> 
    283                                                 <annotation> 
    284                                                         <documentation>Unordered list of composition associations to the set of parameter values used by this conversion operation. </documentation> 
    285                                                 </annotation> 
    286                                         </element> 
    287                                 </sequence> 
    288                         </extension> 
    289                 </complexContent> 
    290         </complexType> 
    291         <!-- =================================================== --> 
    292         <element name="usesMethod" type="gml:OperationMethodRefType"> 
    293                 <annotation> 
    294                         <documentation>Association to the operation method used by this coordinate operation. </documentation> 
    295                 </annotation> 
    296         </element> 
    297         <!-- =================================================== --> 
    298         <element name="usesValue" type="gml:ParameterValueType"> 
    299                 <annotation> 
    300                         <documentation>Composition association to a parameter value used by this coordinate operation. </documentation> 
    301                 </annotation> 
    302         </element> 
    303         <!-- =================================================== --> 
    304         <element name="conversionRef" type="gml:ConversionRefType"/> 
    305         <!-- =================================================== --> 
    306         <complexType name="ConversionRefType"> 
    307                 <annotation> 
    308                         <documentation>Association to a concrete general-purpose conversion, either referencing or containing the definition of that conversion. </documentation> 
     231                                        <element ref="gml:method"/> 
     232                                        <element ref="gml:parameterValue" minOccurs="0" maxOccurs="unbounded"/> 
     233                                </sequence> 
     234                        </extension> 
     235                </complexContent> 
     236        </complexType> 
     237        <element name="method" type="gml:OperationMethodPropertyType"> 
     238                <annotation> 
     239                        <documentation>gml:method is an association role to the operation method used by a coordinate operation.</documentation> 
     240                </annotation> 
     241        </element> 
     242        <element name="parameterValue" type="gml:AbstractGeneralParameterValuePropertyType"> 
     243                <annotation> 
     244                        <documentation>gml:parameterValue is a composition association to a parameter value or group of parameter values used by a coordinate operation.</documentation> 
     245                </annotation> 
     246        </element> 
     247        <complexType name="ConversionPropertyType"> 
     248                <annotation> 
     249                        <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> 
    309250                </annotation> 
    310251                <sequence minOccurs="0"> 
     
    313254                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    314255        </complexType> 
    315         <!-- =================================================== --> 
    316         <element name="_GeneralTransformation" type="gml:AbstractGeneralTransformationType" abstract="true" substitutionGroup="gml:_Operation"/> 
    317         <!-- =================================================== --> 
    318         <complexType name="AbstractGeneralTransformationType" abstract="true"> 
    319                 <annotation> 
    320                         <documentation>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. 
    321  
    322 This abstract complexType 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 "_generalParameterValue" element. </documentation> 
    323                 </annotation> 
    324                 <complexContent> 
    325                         <restriction base="gml:AbstractCoordinateOperationType"> 
    326                                 <sequence> 
    327                                         <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    328                                         <element ref="gml:coordinateOperationName"/> 
    329                                         <element ref="gml:coordinateOperationID" minOccurs="0" maxOccurs="unbounded"/> 
    330                                         <element ref="gml:remarks" minOccurs="0"/> 
    331                                         <element ref="gml:operationVersion"/> 
    332                                         <element ref="gml:validArea" minOccurs="0"/> 
    333                                         <element ref="gml:scope" minOccurs="0"/> 
    334                                         <element ref="gml:_positionalAccuracy" minOccurs="0" maxOccurs="unbounded"/> 
    335                                         <element ref="gml:sourceCRS"/> 
    336                                         <element ref="gml:targetCRS"/> 
    337                                 </sequence> 
    338                                 <attribute ref="gml:id" use="required"/> 
    339                         </restriction> 
    340                 </complexContent> 
    341         </complexType> 
    342         <!-- =================================================== --> 
    343         <element name="generalTransformationRef" type="gml:GeneralTransformationRefType"/> 
    344         <!-- =================================================== --> 
    345         <complexType name="GeneralTransformationRefType"> 
    346                 <annotation> 
    347                         <documentation>Association to a general transformation, either referencing or containing the definition of that transformation. </documentation> 
    348                 </annotation> 
    349                 <sequence minOccurs="0"> 
    350                         <element ref="gml:_GeneralTransformation"/> 
    351                 </sequence> 
    352                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    353         </complexType> 
    354         <!-- =================================================== --> 
    355         <element name="Transformation" type="gml:TransformationType" substitutionGroup="gml:_GeneralTransformation"/> 
    356         <!-- =================================================== --> 
     256        <element name="Transformation" type="gml:TransformationType" substitutionGroup="gml:AbstractGeneralTransformation"> 
     257                <annotation> 
     258                        <documentation>gml:Transformation is a concrete object element derived from gml:GeneralTransformation (13.6.2.13). 
     259This 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. 
     260The parameterValue elements are an unordered list of composition associations to the set of parameter values used by this conversion operation.</documentation> 
     261                </annotation> 
     262        </element> 
    357263        <complexType name="TransformationType"> 
    358                 <annotation> 
    359                         <documentation>A concrete 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. 
    360  
    361 This concrete complexType can be used for all operation methods, without using an Application Schema that defines operation-method-specialized element names and contents, especially for methods with only one Transformation instance. </documentation> 
    362                 </annotation> 
    363264                <complexContent> 
    364265                        <extension base="gml:AbstractGeneralTransformationType"> 
    365266                                <sequence> 
    366                                         <element ref="gml:usesMethod"/> 
    367                                         <element ref="gml:usesValue" minOccurs="0" maxOccurs="unbounded"> 
    368                                                 <annotation> 
    369                                                         <documentation>Unordered set of composition associations to the set of parameter values used by this transformation operation. </documentation> 
    370                                                 </annotation> 
    371                                         </element> 
    372                                 </sequence> 
    373                         </extension> 
    374                 </complexContent> 
    375         </complexType> 
    376         <!-- =================================================== --> 
    377         <element name="transformationRef" type="gml:TransformationRefType"/> 
    378         <!-- =================================================== --> 
    379         <complexType name="TransformationRefType"> 
    380                 <annotation> 
    381                         <documentation>Association to a transformation, either referencing or containing the definition of that transformation. </documentation> 
     267                                        <element ref="gml:method"/> 
     268                                        <element ref="gml:parameterValue" minOccurs="0" maxOccurs="unbounded"/> 
     269                                </sequence> 
     270                        </extension> 
     271                </complexContent> 
     272        </complexType> 
     273        <complexType name="TransformationPropertyType"> 
     274                <annotation> 
     275                        <documentation>gml:TransformationPropertyType is a property type for association roles to a transformation, either referencing or containing the definition of that transformation.</documentation> 
    382276                </annotation> 
    383277                <sequence minOccurs="0"> 
     
    386280                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    387281        </complexType> 
    388         <!-- =================================================== --> 
    389         <!-- =================================================== --> 
    390         <element name="_generalParameterValue" type="gml:AbstractGeneralParameterValueType" abstract="true"/> 
    391         <!-- =================================================== --> 
     282        <element name="AbstractGeneralParameterValue" type="gml:AbstractGeneralParameterValueType" abstract="true" substitutionGroup="gml:AbstractObject"> 
     283                <annotation> 
     284                        <documentation>gml:AbstractGeneralParameterValue is an abstract parameter value or group of parameter values. 
     285This 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> 
     286                </annotation> 
     287        </element> 
    392288        <complexType name="AbstractGeneralParameterValueType" abstract="true"> 
    393                 <annotation> 
    394                         <documentation>Abstract parameter value or group of parameter values. 
    395                          
    396 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 "valueOfParameter" element that references one element substitutable for the "OperationParameter" element. </documentation> 
    397                 </annotation> 
    398289                <sequence/> 
    399290        </complexType> 
    400         <!-- =================================================== --> 
    401         <element name="parameterValue" type="gml:ParameterValueType" substitutionGroup="gml:_generalParameterValue"/> 
    402         <!-- =================================================== --> 
     291        <complexType name="AbstractGeneralParameterValuePropertyType"> 
     292                <annotation> 
     293                        <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> 
     294                </annotation> 
     295                <sequence> 
     296                        <element ref="gml:AbstractGeneralParameterValue"/> 
     297                </sequence> 
     298        </complexType> 
     299        <element name="ParameterValue" type="gml:ParameterValueType" substitutionGroup="gml:AbstractGeneralParameterValue"> 
     300                <annotation> 
     301                        <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> 
     302                </annotation> 
     303        </element> 
    403304        <complexType name="ParameterValueType"> 
    404                 <annotation> 
    405                         <documentation>A parameter value, ordered sequence of values, or reference to a file of parameter values. This concrete complexType can 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 complexType can be used, extended, or restricted for well-known operation methods, especially for methods with many instances. </documentation> 
    406                 </annotation> 
    407305                <complexContent> 
    408306                        <extension base="gml:AbstractGeneralParameterValueType"> 
     
    418316                                                <element ref="gml:valueFile"/> 
    419317                                        </choice> 
    420                                         <element ref="gml:valueOfParameter"/> 
    421                                 </sequence> 
    422                         </extension> 
    423                 </complexContent> 
    424         </complexType> 
    425         <!-- =================================================== --> 
     318                                        <element ref="gml:operationParameter"/> 
     319                                </sequence> 
     320                        </extension> 
     321                </complexContent> 
     322        </complexType> 
    426323        <element name="value" type="gml:MeasureType"> 
    427324                <annotation> 
    428                         <documentation>Numeric value of an operation parameter, with its associated unit of measure. </documentation> 
    429                 </annotation> 
    430         </element> 
    431         <!-- =================================================== --> 
    432         <element name="dmsAngleValue" type="gml:DMSAngleType"> 
    433                 <annotation> 
    434                         <documentation>Value of an angle operation parameter, in either degree-minute-second format or single value format. </documentation> 
    435                 </annotation> 
    436         </element> 
    437         <!-- =================================================== --> 
     325                        <documentation>gml:value is a numeric value of an operation parameter, with its associated unit of measure.</documentation> 
     326                </annotation> 
     327        </element> 
    438328        <element name="stringValue" type="string"> 
    439329                <annotation> 
    440                         <documentation>String value of an operation parameter. A string value does not have an associated unit of measure. </documentation> 
    441                 </annotation> 
    442         </element> 
    443         <!-- =================================================== --> 
     330                        <documentation>gml:stringValue is a character string value of an operation parameter. A string value does not have an associated unit of measure.</documentation> 
     331                </annotation> 
     332        </element> 
    444333        <element name="integerValue" type="positiveInteger"> 
    445334                <annotation> 
    446                         <documentation>Positive integer value of an operation parameter, usually used for a count. An integer value does not have an associated unit of measure. </documentation> 
    447                 </annotation> 
    448         </element> 
    449         <!-- =================================================== --> 
     335                        <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> 
     336                </annotation> 
     337        </element> 
    450338        <element name="booleanValue" type="boolean"> 
    451339                <annotation> 
    452                         <documentation>Boolean value of an operation parameter. A Boolean value does not have an associated unit of measure. </documentation> 
    453                 </annotation> 
    454         </element> 
    455         <!-- =================================================== --> 
     340                        <documentation>gml:booleanValue is a boolean value of an operation parameter. A Boolean value does not have an associated unit of measure.</documentation> 
     341                </annotation> 
     342        </element> 
    456343        <element name="valueList" type="gml:MeasureListType"> 
    457344                <annotation> 
    458                         <documentation>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> 
    459                 </annotation> 
    460         </element> 
    461         <!-- =================================================== --> 
     345                        <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> 
     346                </annotation> 
     347        </element> 
    462348        <element name="integerValueList" type="gml:integerList"> 
    463349                <annotation> 
    464                         <documentation>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> 
    465                 </annotation> 
    466         </element> 
    467         <!-- =================================================== --> 
     350                        <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> 
     351                </annotation> 
     352        </element> 
    468353        <element name="valueFile" type="anyURI"> 
    469354                <annotation> 
    470                         <documentation>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 must contain multiple identified parts, such as an XML encoded document. Furthermore, the referenced file or part of a file can reference another part of the same or different files, as allowed in XML documents. </documentation> 
    471                 </annotation> 
    472         </element> 
    473         <!-- =================================================== --> 
    474         <element name="valueOfParameter" type="gml:OperationParameterRefType"> 
    475                 <annotation> 
    476                         <documentation>Association to the operation parameter that this is a value of. </documentation> 
    477                 </annotation> 
    478         </element> 
    479         <!-- =================================================== --> 
    480         <!-- =================================================== --> 
    481         <element name="parameterValueGroup" type="gml:ParameterValueGroupType" substitutionGroup="gml:_generalParameterValue"/> 
    482         <!-- =================================================== --> 
     355                        <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> 
     356                </annotation> 
     357        </element> 
     358        <element name="operationParameter" type="gml:OperationParameterPropertyType"> 
     359                <annotation> 
     360                        <documentation>gml:operationParameter is an association role to the operation parameter of which this is a value.</documentation> 
     361                </annotation> 
     362        </element> 
     363        <element name="ParameterValueGroup" type="gml:ParameterValueGroupType" substitutionGroup="gml:AbstractGeneralParameterValue"> 
     364                <annotation> 
     365                        <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. 
     366The parameterValue elements are an unordered set of composition association roles to the parameter values and groups of values included in this group.</documentation> 
     367                </annotation> 
     368        </element> 
    483369        <complexType name="ParameterValueGroupType"> 
    484                 <annotation> 
    485                         <documentation>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 complexType can 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 complexType can be used, extended, or restricted for well-known operation methods, especially for methods with many instances. </documentation> 
    486                 </annotation> 
    487370                <complexContent> 
    488371                        <extension base="gml:AbstractGeneralParameterValueType"> 
    489372                                <sequence> 
    490                                         <element ref="gml:includesValue" minOccurs="2" maxOccurs="unbounded"> 
    491                                                 <annotation> 
    492                                                         <documentation>Unordered set of composition associations to the parameter values and groups of values included in this group. </documentation> 
    493                                                 </annotation> 
    494                                         </element> 
    495                                         <element ref="gml:valuesOfGroup"/> 
    496                                 </sequence> 
    497                         </extension> 
    498                 </complexContent> 
    499         </complexType> 
    500         <!-- =================================================== --> 
    501         <element name="includesValue" type="gml:AbstractGeneralParameterValueType" substitutionGroup="gml:_generalParameterValue"> 
    502                 <annotation> 
    503                         <documentation>A composition association to a parameter value or group of values included in this group. </documentation> 
    504                 </annotation> 
    505         </element> 
    506         <!-- =================================================== --> 
    507         <element name="valuesOfGroup" type="gml:OperationParameterGroupRefType"> 
    508                 <annotation> 
    509                         <documentation>Association to the operation parameter group for which this element provides parameter values. </documentation> 
    510                 </annotation> 
    511         </element> 
    512         <!-- =================================================== --> 
    513         <!-- =================================================== --> 
    514         <element name="OperationMethod" type="gml:OperationMethodType" substitutionGroup="gml:Definition"/> 
    515         <!-- =================================================== --> 
    516         <complexType name="OperationMethodBaseType" abstract="true"> 
    517                 <annotation> 
    518                         <documentation>Basic encoding for operation method objects, simplifying and restricting the DefinitionType as needed. </documentation> 
    519                 </annotation> 
    520                 <complexContent> 
    521                         <restriction base="gml:DefinitionType"> 
    522                                 <sequence> 
    523                                         <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    524                                         <element ref="gml:methodName"/> 
    525                                 </sequence> 
    526                                 <attribute ref="gml:id" use="required"/> 
    527                         </restriction> 
    528                 </complexContent> 
    529         </complexType> 
    530         <!-- =================================================== --> 
    531         <element name="methodName" type="gml:CodeType" substitutionGroup="gml:name"> 
    532                 <annotation> 
    533                         <documentation>The name by which this operation method is identified. </documentation> 
    534                 </annotation> 
    535         </element> 
    536         <!-- =================================================== --> 
     373                                        <element ref="gml:parameterValue" minOccurs="2" maxOccurs="unbounded"/> 
     374                                        <element ref="gml:group"/> 
     375                                </sequence> 
     376                        </extension> 
     377                </complexContent> 
     378        </complexType> 
     379        <element name="group" type="gml:OperationParameterGroupPropertyType"> 
     380                <annotation> 
     381                        <documentation>gml:group is an association role to the operation parameter group for which this element provides parameter values.</documentation> 
     382                </annotation> 
     383        </element> 
     384        <element name="OperationMethod" type="gml:OperationMethodType" substitutionGroup="gml:Definition"> 
     385                <annotation> 
     386                        <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. 
     387The parameter elements are an unordered list of associations to the set of operation parameters and parameter groups used by this operation method.</documentation> 
     388                </annotation> 
     389        </element> 
    537390        <complexType name="OperationMethodType"> 
    538                 <annotation> 
    539                         <documentation>Definition of an algorithm 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. </documentation> 
    540                 </annotation> 
    541                 <complexContent> 
    542                         <extension base="gml:OperationMethodBaseType"> 
    543                                 <sequence> 
    544                                         <element ref="gml:methodID" minOccurs="0" maxOccurs="unbounded"> 
    545                                                 <annotation> 
    546                                                         <documentation>Set of alternative identifications of this operation method. The first methodID, if any, is normally the primary identification code, and any others are aliases. </documentation> 
    547                                                 </annotation> 
    548                                         </element> 
    549                                         <element ref="gml:remarks" minOccurs="0"> 
    550                                                 <annotation> 
    551                                                         <documentation>Comments on or information about this operation method, including source information.</documentation> 
    552                                                 </annotation> 
    553                                         </element> 
    554                                         <element ref="gml:methodFormula"/> 
    555                                         <element ref="gml:sourceDimensions"/> 
    556                                         <element ref="gml:targetDimensions"/> 
    557                                         <element ref="gml:usesParameter" minOccurs="0" maxOccurs="unbounded"> 
    558                                                 <annotation> 
    559                                                         <documentation>Unordered list of associations to the set of operation parameters and parameter groups used by this operation method. </documentation> 
    560                                                 </annotation> 
    561                                         </element> 
    562                                 </sequence> 
    563                         </extension> 
    564                 </complexContent> 
    565         </complexType> 
    566         <!-- =================================================== --> 
    567         <element name="methodID" type="gml:IdentifierType"> 
    568                 <annotation> 
    569                         <documentation>An identification of an operation method. </documentation> 
    570                 </annotation> 
    571         </element> 
    572         <!-- =================================================== --> 
    573         <element name="methodFormula" type="gml:CodeType"> 
    574                 <annotation> 
    575                         <documentation>Formula(s) used by this operation method. The value may be a reference to a publication. Note that the operation method may not be analytic, in which case this element references or contains the procedure, not an analytic formula.</documentation> 
    576                 </annotation> 
    577         </element> 
    578         <!-- =================================================== --> 
     391                <complexContent> 
     392                        <extension base="gml:IdentifiedObjectType"> 
     393                                <sequence> 
     394                                        <choice> 
     395                                                <element ref="gml:formulaCitation"/> 
     396                                                <element ref="gml:formula"/> 
     397                                        </choice> 
     398                                        <element ref="gml:sourceDimensions" minOccurs="0"/> 
     399                                        <element ref="gml:targetDimensions" minOccurs="0"/> 
     400                                        <element ref="gml:parameter" minOccurs="0" maxOccurs="unbounded"/> 
     401                                </sequence> 
     402                        </extension> 
     403                </complexContent> 
     404        </complexType> 
     405        <element name="formulaCitation"> 
     406                <annotation> 
     407                        <documentation>gml:formulaCitation provides a reference to a publication giving the formula(s) or procedure used by an coordinate operation method.</documentation> 
     408                </annotation> 
     409                <complexType> 
     410                        <sequence minOccurs="0"> 
     411                                <element ref="gmd:CI_Citation"/> 
     412                        </sequence> 
     413                        <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     414                </complexType> 
     415        </element> 
     416        <element name="formula" type="gml:CodeType"> 
     417                <annotation> 
     418                        <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> 
     419                </annotation> 
     420        </element> 
    579421        <element name="sourceDimensions" type="positiveInteger"> 
    580422                <annotation> 
    581                         <documentation>Number of dimensions in the source CRS of this operation method. </documentation> 
    582                 </annotation> 
    583         </element> 
    584         <!-- =================================================== --> 
     423                        <documentation>gml:sourceDimensions is the number of dimensions in the source CRS of this operation method.</documentation> 
     424                </annotation> 
     425        </element> 
    585426        <element name="targetDimensions" type="positiveInteger"> 
    586427                <annotation> 
    587                         <documentation>Number of dimensions in the target CRS of this operation method. </documentation> 
    588                 </annotation> 
    589         </element> 
    590         <!-- =================================================== --> 
    591         <element name="usesParameter" type="gml:AbstractGeneralOperationParameterRefType"> 
    592                 <annotation> 
    593                         <documentation>Association to an operation parameter or parameter group used by this operation method. </documentation> 
    594                 </annotation> 
    595         </element> 
    596         <!-- =================================================== --> 
    597         <element name="operationMethodRef" type="gml:OperationMethodRefType"/> 
    598         <!-- =================================================== --> 
    599         <complexType name="OperationMethodRefType"> 
    600                 <annotation> 
    601                         <documentation>Association to a concrete general-purpose operation method, either referencing or containing the definition of that method. </documentation> 
     428                        <documentation>gml:targetDimensions is the number of dimensions in the target CRS of this operation method.</documentation> 
     429                </annotation> 
     430        </element> 
     431        <element name="parameter" type="gml:AbstractGeneralOperationParameterPropertyType"> 
     432                <annotation> 
     433                        <documentation>gml:parameter is an association to an operation parameter or parameter group.</documentation> 
     434                </annotation> 
     435        </element> 
     436        <complexType name="OperationMethodPropertyType"> 
     437                <annotation> 
     438                        <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> 
    602439                </annotation> 
    603440                <sequence minOccurs="0"> 
     
    606443                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    607444        </complexType> 
    608         <!-- =================================================== --> 
    609         <!-- =================================================== --> 
    610         <element name="_GeneralOperationParameter" type="gml:AbstractGeneralOperationParameterType" abstract="true" substitutionGroup="gml:Definition"/> 
    611         <!-- =================================================== --> 
     445        <element name="AbstractGeneralOperationParameter" type="gml:AbstractGeneralOperationParameterType" abstract="true" substitutionGroup="gml:Definition"> 
     446                <annotation> 
     447                        <documentation>gml:GeneralOperationParameter is the abstract definition of a parameter or group of parameters used by an operation method.</documentation> 
     448                </annotation> 
     449        </element> 
    612450        <complexType name="AbstractGeneralOperationParameterType" abstract="true"> 
    613                 <annotation> 
    614                         <documentation>Abstract definition of a parameter or group of parameters used by an operation method. </documentation> 
    615                 </annotation> 
    616                 <complexContent> 
    617                         <extension base="gml:DefinitionType"> 
     451                <complexContent> 
     452                        <extension base="gml:IdentifiedObjectType"> 
    618453                                <sequence> 
    619454                                        <element ref="gml:minimumOccurs" minOccurs="0"/> 
     
    622457                </complexContent> 
    623458        </complexType> 
    624         <!-- =================================================== --> 
    625459        <element name="minimumOccurs" type="nonNegativeInteger"> 
    626460                <annotation> 
    627                         <documentation>The minimum number of times that values for this parameter group or parameter are required. If this attribute is omitted, the minimum number is one. </documentation> 
    628                 </annotation> 
    629         </element> 
    630         <!-- =================================================== --> 
    631         <element name="abstractGeneralOperationParameterRef" type="gml:AbstractGeneralOperationParameterRefType"/> 
    632         <!-- =================================================== --> 
    633         <complexType name="AbstractGeneralOperationParameterRefType"> 
    634                 <annotation> 
    635                         <documentation>Association to an operation parameter or group, either referencing or containing the definition of that parameter or group. </documentation> 
    636                 </annotation> 
    637                 <sequence minOccurs="0"> 
    638                         <element ref="gml:_GeneralOperationParameter"/> 
    639                 </sequence> 
    640                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    641         </complexType> 
    642         <!-- =================================================== --> 
    643         <element name="OperationParameter" type="gml:OperationParameterType" substitutionGroup="gml:_GeneralOperationParameter"/> 
    644         <!-- =================================================== --> 
    645         <complexType name="OperationParameterBaseType" abstract="true"> 
    646                 <annotation> 
    647                         <documentation>Basic encoding for operation parameter objects, simplifying and restricting the DefinitionType as needed. </documentation> 
    648                 </annotation> 
    649                 <complexContent> 
    650                         <restriction base="gml:AbstractGeneralOperationParameterType"> 
    651                                 <sequence> 
    652                                         <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    653                                         <element ref="gml:parameterName"/> 
    654                                         <element ref="gml:minimumOccurs" minOccurs="0"/> 
    655                                 </sequence> 
    656                                 <attribute ref="gml:id" use="required"/> 
    657                         </restriction> 
    658                 </complexContent> 
    659         </complexType> 
    660         <!-- =================================================== --> 
    661         <element name="parameterName" type="gml:CodeType" substitutionGroup="gml:name"> 
    662                 <annotation> 
    663                         <documentation>The name by which this operation parameter is identified. </documentation> 
    664                 </annotation> 
    665         </element> 
    666         <!-- =================================================== --> 
     461                        <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> 
     462                </annotation> 
     463        </element> 
     464        <complexType name="AbstractGeneralOperationParameterPropertyType"> 
     465                <annotation> 
     466                        <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> 
     467                </annotation> 
     468                <sequence minOccurs="0"> 
     469                        <element ref="gml:AbstractGeneralOperationParameter"/> 
     470                </sequence> 
     471                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     472        </complexType> 
     473        <element name="OperationParameter" type="gml:OperationParameterType" substitutionGroup="gml:AbstractGeneralOperationParameter"> 
     474                <annotation> 
     475                        <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> 
     476                </annotation> 
     477        </element> 
    667478        <complexType name="OperationParameterType"> 
    668                 <annotation> 
    669                         <documentation>The definition of a parameter used by an operation method. Most parameter values are numeric, but other types of parameter values are possible. This complexType is expected to be used or extended for all operation methods, without defining operation-method-specialized element names.  </documentation> 
    670                 </annotation> 
    671                 <complexContent> 
    672                         <extension base="gml:OperationParameterBaseType"> 
    673                                 <sequence> 
    674                                         <element ref="gml:parameterID" minOccurs="0" maxOccurs="unbounded"> 
    675                                                 <annotation> 
    676                                                         <documentation>Set of alternative identifications of this operation parameter. The first parameterID, if any, is normally the primary identification code, and any others are aliases. </documentation> 
    677                                                 </annotation> 
    678                                         </element> 
    679                                         <element ref="gml:remarks" minOccurs="0"> 
    680                                                 <annotation> 
    681                                                         <documentation>Comments on or information about this operation parameter, including source information. </documentation> 
    682                                                 </annotation> 
    683                                         </element> 
    684                                 </sequence> 
    685                         </extension> 
    686                 </complexContent> 
    687         </complexType> 
    688         <!-- =================================================== --> 
    689         <element name="parameterID" type="gml:IdentifierType"> 
    690                 <annotation> 
    691                         <documentation>An identification of an operation parameter. </documentation> 
    692                 </annotation> 
    693         </element> 
    694         <!-- =================================================== --> 
    695         <element name="operationParameterRef" type="gml:OperationParameterRefType"/> 
    696         <!-- =================================================== --> 
    697         <complexType name="OperationParameterRefType"> 
    698                 <annotation> 
    699                         <documentation>Association to an operation parameter, either referencing or containing the definition of that parameter. </documentation> 
     479                <complexContent> 
     480                        <extension base="gml:AbstractGeneralOperationParameterType"> 
     481                                <sequence/> 
     482                        </extension> 
     483                </complexContent> 
     484        </complexType> 
     485        <complexType name="OperationParameterPropertyType"> 
     486                <annotation> 
     487                        <documentation>gml:OperationParameterPropertyType is a property type for association roles to an operation parameter, either referencing or containing the definition of that parameter.</documentation> 
    700488                </annotation> 
    701489                <sequence minOccurs="0"> 
     
    704492                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    705493        </complexType> 
    706         <!-- =================================================== --> 
    707         <element name="OperationParameterGroup" type="gml:OperationParameterGroupType" substitutionGroup="gml:_GeneralOperationParameter"/> 
    708         <!-- =================================================== --> 
    709         <complexType name="OperationParameterGroupBaseType" abstract="true"> 
    710                 <annotation> 
    711                         <documentation>Basic encoding for operation parameter group objects, simplifying and restricting the DefinitionType as needed. </documentation> 
    712                 </annotation> 
    713                 <complexContent> 
    714                         <restriction base="gml:AbstractGeneralOperationParameterType"> 
    715                                 <sequence> 
    716                                         <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    717                                         <element ref="gml:groupName"/> 
    718                                         <element ref="gml:minimumOccurs" minOccurs="0"/> 
    719                                 </sequence> 
    720                                 <attribute ref="gml:id" use="required"/> 
    721                         </restriction> 
    722                 </complexContent> 
    723         </complexType> 
    724         <!-- =================================================== --> 
    725         <element name="groupName" type="gml:CodeType" substitutionGroup="gml:name"> 
    726                 <annotation> 
    727                         <documentation>The name by which this operation parameter group is identified. </documentation> 
    728                 </annotation> 
    729         </element> 
    730         <!-- =================================================== --> 
     494        <element name="OperationParameterGroup" type="gml:OperationParameterGroupType" substitutionGroup="gml:AbstractGeneralOperationParameter"> 
     495                <annotation> 
     496                        <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. 
     497The generalOperationParameter elements are an unordered list of associations to the set of operation parameters that are members of this group.</documentation> 
     498                </annotation> 
     499        </element> 
    731500        <complexType name="OperationParameterGroupType"> 
    732                 <annotation> 
    733                         <documentation>The definition of a group of parameters used by an operation method. This complexType is expected to be used or extended for all applicable operation methods, without defining operation-method-specialized element names.  </documentation> 
    734                 </annotation> 
    735                 <complexContent> 
    736                         <extension base="gml:OperationParameterGroupBaseType"> 
    737                                 <sequence> 
    738                                         <element ref="gml:groupID" minOccurs="0" maxOccurs="unbounded"> 
    739                                                 <annotation> 
    740                                                         <documentation>Set of alternative identifications of this operation parameter group. The first groupID, if any, is normally the primary identification code, and any others are aliases. </documentation> 
    741                                                 </annotation> 
    742                                         </element> 
    743                                         <element ref="gml:remarks" minOccurs="0"> 
    744                                                 <annotation> 
    745                                                         <documentation>Comments on or information about this operation parameter group, including source information. </documentation> 
    746                                                 </annotation> 
    747                                         </element> 
     501                <complexContent> 
     502                        <extension base="gml:AbstractGeneralOperationParameterType"> 
     503                                <sequence> 
    748504                                        <element ref="gml:maximumOccurs" minOccurs="0"/> 
    749                                         <element ref="gml:includesParameter" minOccurs="2" maxOccurs="unbounded"> 
    750                                                 <annotation> 
    751                                                         <documentation>Unordered list of associations to the set of operation parameters that are members of this group. </documentation> 
    752                                                 </annotation> 
    753                                         </element> 
    754                                 </sequence> 
    755                         </extension> 
    756                 </complexContent> 
    757         </complexType> 
    758         <!-- =================================================== --> 
    759         <element name="groupID" type="gml:IdentifierType"> 
    760                 <annotation> 
    761                         <documentation>An identification of an operation parameter group. </documentation> 
    762                 </annotation> 
    763         </element> 
    764         <!-- =================================================== --> 
     505                                        <element ref="gml:parameter" minOccurs="2" maxOccurs="unbounded"/> 
     506                                </sequence> 
     507                        </extension> 
     508                </complexContent> 
     509        </complexType> 
    765510        <element name="maximumOccurs" type="positiveInteger"> 
    766511                <annotation> 
    767                         <documentation>The maximum number of times that values for this parameter group can be included. If this attribute is omitted, the maximum number is one. </documentation> 
    768                 </annotation> 
    769         </element> 
    770         <!-- =================================================== --> 
    771         <element name="includesParameter" type="gml:AbstractGeneralOperationParameterRefType"> 
    772                 <annotation> 
    773                         <documentation>Association to an operation parameter that is a member of a group. </documentation> 
    774                 </annotation> 
    775         </element> 
    776         <!-- =================================================== --> 
    777         <element name="operationParameterGroupRef" type="gml:OperationParameterRefType"/> 
    778         <!-- =================================================== --> 
    779         <complexType name="OperationParameterGroupRefType"> 
    780                 <annotation> 
    781                         <documentation>Association to an operation parameter, either referencing or containing the definition of that parameter. </documentation> 
     512                        <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> 
     513                </annotation> 
     514        </element> 
     515        <complexType name="OperationParameterGroupPropertyType"> 
     516                <annotation> 
     517                        <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> 
    782518                </annotation> 
    783519                <sequence minOccurs="0"> 
     
    786522                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    787523        </complexType> 
    788         <!-- =================================================== --> 
    789524</schema> 
  • RevitalizationWS/schemas/gml/branches/3.2.1/src/main/resources/coordinateReferenceSystems.xsd

    r7379 r7541  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <schema targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.1.1 2010-01-28" xml:lang="en"> 
     2<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" version="3.2.1 2010-01-28"> 
    33        <annotation> 
    4                 <appinfo source="urn:opengis:specification:gml:schema-xsd:coordinateReferenceSystems:3.1.1"/> 
    5                 <documentation>How to encode coordinate reference system definitions. Builds on referenceSystems.xsd to encode the data needed to define coordinate reference systems, including the specific subtypes of coordinate reference systems.  
    6                 This schema encodes the Coordinate Reference System (SC_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates, with the exception of the abstract "SC_CRS" class. The "SC_CRS" class is encoded in referenceSystems.xsd, to eliminate the (circular) references from coordinateOperations.xsd to coordinateReferenceSystems.xsd. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex C of Topic 2.  
    7                 Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111.  
    8                  
    9                 GML is an OGC Standard. 
    10                 Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
    11                 To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
     4                <appinfo source="urn:x-ogc:specification:gml:schema-xsd:coordinateReferenceSystems:3.2.1">coordinateReferenceSystems.xsd</appinfo> 
     5                <documentation>See ISO/DIS 19136 13.3. 
     6The spatial-temporal coordinate reference systems schema components are divided into two logical parts. One part defines elements and types for XML encoding of abstract coordinate reference systems definitions. The larger part defines specialized constructs for XML encoding of definitions of the multiple concrete types of spatial-temporal coordinate reference systems. 
     7These schema components encode the Coordinate Reference System packages of the UML Models of ISO 19111 Clause 8 and ISO/DIS 19136 D.3.10, with the exception of the abstract "SC_CRS" class. 
     8 
     9GML is an OGC Standard. 
     10Copyright (c) 2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
     11To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
    1212                </documentation> 
    1313        </annotation> 
    14         <!-- ====================================================== 
    15        includes and imports 
    16         ====================================================== --> 
    1714        <include schemaLocation="coordinateSystems.xsd"/> 
    1815        <include schemaLocation="datums.xsd"/> 
    1916        <include schemaLocation="coordinateOperations.xsd"/> 
    20         <!-- ====================================================== 
    21        elements and types 
    22         ====================================================== --> 
    23         <element name="_CoordinateReferenceSystem" type="gml:AbstractReferenceSystemType" abstract="true" substitutionGroup="gml:_CRS"> 
    24                 <annotation> 
    25                         <documentation>A coordinate reference system consists of an ordered sequence of coordinate system axes that are related to the earth through a datum. A coordinate reference system is defined by one datum and by one coordinate system. Most coordinate reference system do not move relative to the earth, except for engineering coordinate reference systems defined on moving platforms such as cars, ships, aircraft, and spacecraft. For further information, see OGC Abstract Specification Topic 2. 
    26  
    27 Coordinate reference systems are commonly divided into sub-types. The common classification criterion for sub-typing of coordinate reference systems is the way in which they deal with earth curvature. This has a direct effect on the portion of the earth's surface that can be covered by that type of CRS with an acceptable degree of error. The exception to the rule is the subtype "Temporal" which has been added by analogy. </documentation> 
    28                 </annotation> 
    29         </element> 
    30         <!-- =================================================== --> 
    31         <element name="coordinateReferenceSystemRef" type="gml:CoordinateReferenceSystemRefType"/> 
    32         <!-- =================================================== --> 
    33         <complexType name="CoordinateReferenceSystemRefType"> 
    34                 <annotation> 
    35                         <documentation>Association to a coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
    36                 </annotation> 
    37                 <sequence minOccurs="0"> 
    38                         <element ref="gml:_CoordinateReferenceSystem"/> 
    39                 </sequence> 
    40                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    41         </complexType> 
    42         <!-- =================================================== --> 
    43         <element name="CompoundCRS" type="gml:CompoundCRSType" substitutionGroup="gml:_CRS"/> 
    44         <!-- =================================================== --> 
     17        <element name="AbstractSingleCRS" type="gml:AbstractCRSType" abstract="true" substitutionGroup="gml:AbstractCRS"> 
     18                <annotation> 
     19                        <documentation>gml:AbstractSingleCRS implements a coordinate reference system consisting of one coordinate system and one datum (as opposed to a Compound CRS).</documentation> 
     20                </annotation> 
     21        </element> 
     22        <complexType name="SingleCRSPropertyType"> 
     23                <annotation> 
     24                        <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.</documentation> 
     25                </annotation> 
     26                <sequence minOccurs="0"> 
     27                        <element ref="gml:AbstractSingleCRS"/> 
     28                </sequence> 
     29                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     30        </complexType> 
     31        <element name="AbstractGeneralDerivedCRS" type="gml:AbstractGeneralDerivedCRSType" abstract="true" substitutionGroup="gml:AbstractSingleCRS"> 
     32                <annotation> 
     33                        <documentation>gml:AbstractGeneralDerivedCRS is a coordinate reference system that is defined by its coordinate conversion from another coordinate reference system. This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.</documentation> 
     34                </annotation> 
     35        </element> 
     36        <complexType name="AbstractGeneralDerivedCRSType" abstract="true"> 
     37                <complexContent> 
     38                        <extension base="gml:AbstractCRSType"> 
     39                                <sequence> 
     40                                        <element ref="gml:conversion"/> 
     41                                </sequence> 
     42                        </extension> 
     43                </complexContent> 
     44        </complexType> 
     45        <element name="conversion" type="gml:GeneralConversionPropertyType"> 
     46                <annotation> 
     47                        <documentation>gml:conversion is an association role to the coordinate conversion used to define the derived CRS.</documentation> 
     48                </annotation> 
     49        </element> 
     50        <element name="CompoundCRS" type="gml:CompoundCRSType" substitutionGroup="gml:AbstractCRS"> 
     51                <annotation> 
     52                        <documentation>gml:CompundCRS is a coordinate reference system describing the position of points through two or more independent coordinate reference systems. It is associated with a non-repeating sequence of two or more instances of SingleCRS.</documentation> 
     53                </annotation> 
     54        </element> 
    4555        <complexType name="CompoundCRSType"> 
    46                 <annotation> 
    47                         <documentation>A coordinate reference system describing the position of points through two or more independent coordinate reference systems. </documentation> 
    48                 </annotation> 
    49                 <complexContent> 
    50                         <extension base="gml:AbstractReferenceSystemType"> 
    51                                 <sequence> 
    52                                         <element ref="gml:includesCRS" minOccurs="2" maxOccurs="unbounded"> 
    53                                                 <annotation> 
    54                                                         <documentation>Ordered sequence of associations to all the component coordinate reference systems included in this compound coordinate reference system. </documentation> 
    55                                                 </annotation> 
    56                                         </element> 
    57                                 </sequence> 
    58                         </extension> 
    59                 </complexContent> 
    60         </complexType> 
    61         <!-- =================================================== --> 
    62         <element name="includesCRS" type="gml:CoordinateReferenceSystemRefType"> 
    63                 <annotation> 
    64                         <documentation>An association to a component coordinate reference system included in this compound coordinate reference system. </documentation> 
    65                 </annotation> 
    66         </element> 
    67         <!-- =================================================== --> 
    68         <element name="compoundCRSRef" type="gml:CompoundCRSRefType"/> 
    69         <!-- =================================================== --> 
    70         <complexType name="CompoundCRSRefType"> 
    71                 <annotation> 
    72                         <documentation>Association to a compound coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
     56                <complexContent> 
     57                        <extension base="gml:AbstractCRSType"> 
     58                                <sequence> 
     59                                        <element ref="gml:componentReferenceSystem" minOccurs="2" maxOccurs="unbounded"/> 
     60                                </sequence> 
     61                                <attributeGroup ref="gml:AggregationAttributeGroup"/> 
     62                        </extension> 
     63                </complexContent> 
     64        </complexType> 
     65        <element name="componentReferenceSystem" type="gml:SingleCRSPropertyType"> 
     66                <annotation> 
     67                        <documentation>The gml:componentReferenceSystem elements are an ordered sequence of associations to all the component coordinate reference systems included in this compound coordinate reference system. The gml:AggregationAttributeGroup should be used to specify that the gml:componentReferenceSystem properties are ordered.</documentation> 
     68                </annotation> 
     69        </element> 
     70        <complexType name="CompoundCRSPropertyType"> 
     71                <annotation> 
     72                        <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.</documentation> 
    7373                </annotation> 
    7474                <sequence minOccurs="0"> 
     
    7777                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    7878        </complexType> 
    79         <!-- =================================================== --> 
    80         <element name="GeographicCRS" type="gml:GeographicCRSType" substitutionGroup="gml:_CoordinateReferenceSystem"/> 
    81         <!-- =================================================== --> 
    82         <complexType name="GeographicCRSType"> 
    83                 <annotation> 
    84                         <documentation>A coordinate reference system based on an ellipsoidal approximation of the geoid; this provides an accurate representation of the geometry of geographic features for a large portion of the earth's surface.</documentation> 
    85                 </annotation> 
    86                 <complexContent> 
    87                         <extension base="gml:AbstractReferenceSystemType"> 
    88                                 <sequence> 
    89                                         <element ref="gml:usesEllipsoidalCS"/> 
    90                                         <element ref="gml:usesGeodeticDatum"/> 
    91                                 </sequence> 
    92                         </extension> 
    93                 </complexContent> 
    94         </complexType> 
    95         <!-- =================================================== --> 
    96         <element name="usesEllipsoidalCS" type="gml:EllipsoidalCSRefType"> 
    97                 <annotation> 
    98                         <documentation>Association to the ellipsoidal coordinate system used by this CRS. </documentation> 
    99                 </annotation> 
    100         </element> 
    101         <!-- =================================================== --> 
    102         <element name="usesGeodeticDatum" type="gml:GeodeticDatumRefType"> 
    103                 <annotation> 
    104                         <documentation>Association to the geodetic datum used by this CRS. </documentation> 
    105                 </annotation> 
    106         </element> 
    107         <!-- =================================================== --> 
    108         <element name="geographicCRSRef" type="gml:GeographicCRSRefType"/> 
    109         <!-- =================================================== --> 
    110         <complexType name="GeographicCRSRefType"> 
    111                 <annotation> 
    112                         <documentation>Association to a geographic coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
    113                 </annotation> 
    114                 <sequence minOccurs="0"> 
    115                         <element ref="gml:GeographicCRS"/> 
    116                 </sequence> 
    117                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    118         </complexType> 
    119         <!-- =================================================== --> 
    120         <element name="VerticalCRS" type="gml:VerticalCRSType" substitutionGroup="gml:_CoordinateReferenceSystem"/> 
    121         <!-- =================================================== --> 
     79        <element name="GeodeticCRS" type="gml:GeodeticCRSType" substitutionGroup="gml:AbstractSingleCRS"/> 
     80        <complexType name="GeodeticCRSType"> 
     81                <annotation> 
     82                        <documentation>gml:GeodeticCRS is a coordinate reference system based on a geodetic datum.</documentation> 
     83                </annotation> 
     84                <complexContent> 
     85                        <extension base="gml:AbstractCRSType"> 
     86                                <sequence> 
     87                                        <choice> 
     88                                                <element ref="gml:ellipsoidalCS"/> 
     89                                                <element ref="gml:cartesianCS"/> 
     90                                                <element ref="gml:sphericalCS"/> 
     91                                        </choice> 
     92                                        <element ref="gml:geodeticDatum"/> 
     93                                </sequence> 
     94                        </extension> 
     95                </complexContent> 
     96        </complexType> 
     97        <element name="ellipsoidalCS" type="gml:EllipsoidalCSPropertyType"> 
     98                <annotation> 
     99                        <documentation>gml:ellipsoidalCS is an association role to the ellipsoidal coordinate system used by this CRS.</documentation> 
     100                </annotation> 
     101        </element> 
     102        <element name="cartesianCS" type="gml:CartesianCSPropertyType"> 
     103                <annotation> 
     104                        <documentation>gml:cartesianCS is an association role to the Cartesian coordinate system used by this CRS.</documentation> 
     105                </annotation> 
     106        </element> 
     107        <element name="sphericalCS" type="gml:SphericalCSPropertyType"> 
     108                <annotation> 
     109                        <documentation>gml:sphericalCS is an association role to the spherical coordinate system used by this CRS.</documentation> 
     110                </annotation> 
     111        </element> 
     112        <element name="geodeticDatum" type="gml:GeodeticDatumPropertyType"> 
     113                <annotation> 
     114                        <documentation>gml:geodeticDatum is an association role to the geodetic datum used by this CRS. 
     115</documentation> 
     116                </annotation> 
     117        </element> 
     118        <complexType name="GeodeticCRSPropertyType"> 
     119                <annotation> 
     120                        <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.</documentation> 
     121                </annotation> 
     122                <sequence minOccurs="0"> 
     123                        <element ref="gml:GeodeticCRS"/> 
     124                </sequence> 
     125                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     126        </complexType> 
     127        <element name="VerticalCRS" type="gml:VerticalCRSType" substitutionGroup="gml:AbstractSingleCRS"> 
     128                <annotation> 
     129                        <documentation>gml:VerticalCRS is a 1D coordinate reference system used for recording heights or depths. Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward. By implication, ellipsoidal heights (h) cannot be captured in a vertical coordinate reference system. Ellipsoidal heights cannot exist independently, but only as an inseparable part of a 3D coordinate tuple defined in a geographic 3D coordinate reference system.</documentation> 
     130                </annotation> 
     131        </element> 
    122132        <complexType name="VerticalCRSType"> 
    123                 <annotation> 
    124                         <documentation>A 1D coordinate reference system used for recording heights or depths. Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward. By implication, ellipsoidal heights (h) cannot be captured in a vertical coordinate reference system. Ellipsoidal heights cannot exist independently, but only as an inseparable part of a 3D coordinate tuple defined in a geographic 3D coordinate reference system. </documentation> 
    125                 </annotation> 
    126                 <complexContent> 
    127                         <extension base="gml:AbstractReferenceSystemType"> 
    128                                 <sequence> 
    129                                         <element ref="gml:usesVerticalCS"/> 
    130                                         <element ref="gml:usesVerticalDatum"/> 
    131                                 </sequence> 
    132                         </extension> 
    133                 </complexContent> 
    134         </complexType> 
    135         <!-- =================================================== --> 
    136         <element name="usesVerticalCS" type="gml:VerticalCSRefType"> 
    137                 <annotation> 
    138                         <documentation>Association to the vertical coordinate system used by this CRS. </documentation> 
    139                 </annotation> 
    140         </element> 
    141         <!-- =================================================== --> 
    142         <element name="usesVerticalDatum" type="gml:VerticalDatumRefType"> 
    143                 <annotation> 
    144                         <documentation>Association to the vertical datum used by this CRS. </documentation> 
    145                 </annotation> 
    146         </element> 
    147         <!-- =================================================== --> 
    148         <element name="verticalCRSRef" type="gml:VerticalCRSRefType"/> 
    149         <!-- =================================================== --> 
    150         <complexType name="VerticalCRSRefType"> 
    151                 <annotation> 
    152                         <documentation>Association to a vertical coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
     133                <complexContent> 
     134                        <extension base="gml:AbstractCRSType"> 
     135                                <sequence> 
     136                                        <element ref="gml:verticalCS"/> 
     137                                        <element ref="gml:verticalDatum"/> 
     138                                </sequence> 
     139                        </extension> 
     140                </complexContent> 
     141        </complexType> 
     142        <element name="verticalCS" type="gml:VerticalCSPropertyType"> 
     143                <annotation> 
     144                        <documentation>gml:verticalCS is an association role to the vertical coordinate system used by this CRS.</documentation> 
     145                </annotation> 
     146        </element> 
     147        <element name="verticalDatum" type="gml:VerticalDatumPropertyType"> 
     148                <annotation> 
     149                        <documentation>gml:verticalDatum is an association role to the vertical datum used by this CRS.</documentation> 
     150                </annotation> 
     151        </element> 
     152        <complexType name="VerticalCRSPropertyType"> 
     153                <annotation> 
     154                        <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.</documentation> 
    153155                </annotation> 
    154156                <sequence minOccurs="0"> 
     
    157159                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    158160        </complexType> 
    159         <!-- =================================================== --> 
    160         <element name="GeocentricCRS" type="gml:GeocentricCRSType" substitutionGroup="gml:_CoordinateReferenceSystem"/> 
    161         <!-- =================================================== --> 
    162         <complexType name="GeocentricCRSType"> 
    163                 <annotation> 
    164                         <documentation>A 3D coordinate reference system with the origin at the approximate centre of mass of the earth. A geocentric CRS deals with the earth's curvature by taking a 3D spatial view, which obviates the need to model the earth's curvature. </documentation> 
    165                 </annotation> 
    166                 <complexContent> 
    167                         <extension base="gml:AbstractReferenceSystemType"> 
    168                                 <sequence> 
    169                                         <choice> 
    170                                                 <element ref="gml:usesCartesianCS"/> 
    171                                                 <element ref="gml:usesSphericalCS"/> 
    172                                         </choice> 
    173                                         <element ref="gml:usesGeodeticDatum"/> 
    174                                 </sequence> 
    175                         </extension> 
    176                 </complexContent> 
    177         </complexType> 
    178         <!-- =================================================== --> 
    179         <element name="usesCartesianCS" type="gml:CartesianCSRefType"> 
    180                 <annotation> 
    181                         <documentation>Association to the Cartesian coordinate system used by this CRS. </documentation> 
    182                 </annotation> 
    183         </element> 
    184         <!-- =================================================== --> 
    185         <element name="usesSphericalCS" type="gml:SphericalCSRefType"> 
    186                 <annotation> 
    187                         <documentation>Association to the spherical coordinate system used by this CRS.</documentation> 
    188                 </annotation> 
    189         </element> 
    190         <!-- =================================================== --> 
    191         <element name="geocentricCRSRef" type="gml:GeocentricCRSRefType"/> 
    192         <!-- =================================================== --> 
    193         <complexType name="GeocentricCRSRefType"> 
    194                 <annotation> 
    195                         <documentation>Association to a geocentric coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
    196                 </annotation> 
    197                 <sequence minOccurs="0"> 
    198                         <element ref="gml:GeocentricCRS"/> 
    199                 </sequence> 
    200                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    201         </complexType> 
    202         <!-- =================================================== --> 
    203         <element name="_GeneralDerivedCRS" type="gml:AbstractGeneralDerivedCRSType" abstract="true" substitutionGroup="gml:_CoordinateReferenceSystem"/> 
    204         <!-- =================================================== --> 
    205         <complexType name="AbstractGeneralDerivedCRSType" abstract="true"> 
    206                 <annotation> 
    207                         <documentation>A coordinate reference system that is defined by its coordinate conversion from another coordinate reference system (not by a datum). This abstract complexType shall not be used, extended, or restricted, in an Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document. </documentation> 
    208                 </annotation> 
    209                 <complexContent> 
    210                         <extension base="gml:AbstractReferenceSystemType"> 
     161        <element name="ProjectedCRS" type="gml:ProjectedCRSType" substitutionGroup="gml:AbstractGeneralDerivedCRS"> 
     162                <annotation> 
     163                        <documentation>gml:ProjectedCRS is a 2D coordinate reference system used to approximate the shape of the earth on a planar surface, but in such a way that the distortion that is inherent to the approximation is carefully controlled and known. Distortion correction is commonly applied to calculated bearings and distances to produce values that are a close match to actual field values.</documentation> 
     164                </annotation> 
     165        </element> 
     166        <complexType name="ProjectedCRSType"> 
     167                <complexContent> 
     168                        <extension base="gml:AbstractGeneralDerivedCRSType"> 
     169                                <sequence> 
     170                                        <choice> 
     171                                                <element ref="gml:baseGeodeticCRS"/> 
     172                                                <element ref="gml:baseGeographicCRS"/> 
     173                                        </choice> 
     174                                        <element ref="gml:cartesianCS"/> 
     175                                </sequence> 
     176                        </extension> 
     177                </complexContent> 
     178        </complexType> 
     179        <element name="baseGeodeticCRS" type="gml:GeodeticCRSPropertyType"> 
     180                <annotation> 
     181                        <documentation>gml:baseGeodeticCRS is an association role to the geodetic coordinate reference system used by this projected CRS.</documentation> 
     182                </annotation> 
     183        </element> 
     184        <complexType name="ProjectedCRSPropertyType"> 
     185                <annotation> 
     186                        <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.</documentation> 
     187                </annotation> 
     188                <sequence minOccurs="0"> 
     189                        <element ref="gml:ProjectedCRS"/> 
     190                </sequence> 
     191                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     192        </complexType> 
     193        <element name="DerivedCRS" type="gml:DerivedCRSType" substitutionGroup="gml:AbstractGeneralDerivedCRS"> 
     194                <annotation> 
     195                        <documentation>gml:DerivedCRS is a single coordinate reference system that is defined by its coordinate conversion from another single coordinate reference system known as the base CRS. The base CRS can be a projected coordinate reference system, if this DerivedCRS is used for a georectified grid coverage as described in ISO 19123, Clause 8.</documentation> 
     196                </annotation> 
     197        </element> 
     198        <complexType name="DerivedCRSType"> 
     199                <complexContent> 
     200                        <extension base="gml:AbstractGeneralDerivedCRSType"> 
    211201                                <sequence> 
    212202                                        <element ref="gml:baseCRS"/> 
    213                                         <element ref="gml:definedByConversion"/> 
    214                                 </sequence> 
    215                         </extension> 
    216                 </complexContent> 
    217         </complexType> 
    218         <!-- =================================================== --> 
    219         <element name="baseCRS" type="gml:CoordinateReferenceSystemRefType"> 
    220                 <annotation> 
    221                         <documentation>Association to the coordinate reference system used by this derived CRS. </documentation> 
    222                 </annotation> 
    223         </element> 
    224         <!-- =================================================== --> 
    225         <element name="definedByConversion" type="gml:GeneralConversionRefType"> 
    226                 <annotation> 
    227                         <documentation>Association to the coordinate conversion used to define this derived CRS. </documentation> 
    228                 </annotation> 
    229         </element> 
    230         <!-- =================================================== --> 
    231         <element name="ProjectedCRS" type="gml:ProjectedCRSType" substitutionGroup="gml:_GeneralDerivedCRS"/> 
    232         <!-- =================================================== --> 
    233         <complexType name="ProjectedCRSType"> 
    234                 <annotation> 
    235                         <documentation>A 2D coordinate reference system used to approximate the shape of the earth on a planar surface, but in such a way that the distortion that is inherent to the approximation is carefully controlled and known. Distortion correction is commonly applied to calculated bearings and distances to produce values that are a close match to actual field values. </documentation> 
    236                 </annotation> 
    237                 <complexContent> 
    238                         <extension base="gml:AbstractGeneralDerivedCRSType"> 
    239                                 <sequence> 
    240                                         <element ref="gml:usesCartesianCS"/> 
    241                                 </sequence> 
    242                         </extension> 
    243                 </complexContent> 
    244         </complexType> 
    245         <!-- =================================================== --> 
    246         <element name="projectedCRSRef" type="gml:ProjectedCRSRefType"/> 
    247         <!-- =================================================== --> 
    248         <complexType name="ProjectedCRSRefType"> 
    249                 <annotation> 
    250                         <documentation>Association to a projected coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
    251                 </annotation> 
    252                 <sequence minOccurs="0"> 
    253                         <element ref="gml:ProjectedCRS"/> 
    254                 </sequence> 
    255                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    256         </complexType> 
    257         <!-- =================================================== --> 
    258         <element name="DerivedCRS" type="gml:DerivedCRSType" substitutionGroup="gml:_GeneralDerivedCRS"/> 
    259         <!-- =================================================== --> 
    260         <complexType name="DerivedCRSType"> 
    261                 <annotation> 
    262                         <documentation>A coordinate reference system that is defined by its coordinate conversion from another coordinate reference system but is not a projected coordinate reference system. This category includes coordinate reference systems derived from a projected coordinate reference system. </documentation> 
    263                 </annotation> 
    264                 <complexContent> 
    265                         <extension base="gml:AbstractGeneralDerivedCRSType"> 
    266                                 <sequence> 
    267203                                        <element ref="gml:derivedCRSType"/> 
    268                                         <element ref="gml:usesCS"/> 
    269                                 </sequence> 
    270                         </extension> 
    271                 </complexContent> 
    272         </complexType> 
    273         <!-- =================================================== --> 
    274         <element name="derivedCRSType" type="gml:DerivedCRSTypeType"/> 
    275         <!-- =================================================== --> 
    276         <complexType name="DerivedCRSTypeType"> 
    277                 <annotation> 
    278                         <documentation>Type of a derived coordinate reference system. </documentation> 
    279                 </annotation> 
    280                 <simpleContent> 
    281                         <restriction base="gml:CodeType"> 
    282                                 <attribute name="codeSpace" type="anyURI" use="required"> 
    283                                         <annotation> 
    284                                                 <documentation>Reference to a source of information specifying the values and meanings of all the allowed string values for this DerivedCRSTypeType. </documentation> 
    285                                         </annotation> 
    286                                 </attribute> 
    287                         </restriction> 
    288                 </simpleContent> 
    289         </complexType> 
    290         <!-- =================================================== --> 
    291         <element name="usesCS" type="gml:CoordinateSystemRefType"> 
    292                 <annotation> 
    293                         <documentation>Association to the coordinate system used by this CRS. </documentation> 
    294                 </annotation> 
    295         </element> 
    296         <!-- =================================================== --> 
    297         <element name="derivedCRSRef" type="gml:DerivedCRSRefType"/> 
    298         <!-- =================================================== --> 
    299         <complexType name="DerivedCRSRefType"> 
    300                 <annotation> 
    301                         <documentation>Association to a non-projected derived coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
     204                                        <element ref="gml:coordinateSystem"/> 
     205                                </sequence> 
     206                        </extension> 
     207                </complexContent> 
     208        </complexType> 
     209        <element name="baseCRS" type="gml:SingleCRSPropertyType"> 
     210                <annotation> 
     211                        <documentation>gml:baseCRS is an association role to the coordinate reference system used by this derived CRS.</documentation> 
     212                </annotation> 
     213        </element> 
     214        <element name="derivedCRSType" type="gml:CodeWithAuthorityType"> 
     215                <annotation> 
     216                        <documentation>The gml:derivedCRSType property describes the type of a derived coordinate reference system. The required codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.</documentation> 
     217                </annotation> 
     218        </element> 
     219        <element name="coordinateSystem" type="gml:CoordinateSystemPropertyType"> 
     220                <annotation> 
     221                        <documentation>An association role to the coordinate system used by this CRS.</documentation> 
     222                </annotation> 
     223        </element> 
     224        <complexType name="DerivedCRSPropertyType"> 
     225                <annotation> 
     226                        <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.</documentation> 
    302227                </annotation> 
    303228                <sequence minOccurs="0"> 
     
    306231                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    307232        </complexType> 
    308         <!-- =================================================== --> 
    309         <element name="EngineeringCRS" type="gml:EngineeringCRSType" substitutionGroup="gml:_CoordinateReferenceSystem"/> 
    310         <!-- =================================================== --> 
     233        <element name="EngineeringCRS" type="gml:EngineeringCRSType" substitutionGroup="gml:AbstractSingleCRS"> 
     234                <annotation> 
     235                        <documentation>gml:EngineeringCRS is a contextually local coordinate reference system which can be divided into two broad categories: 
     236-       earth-fixed systems applied to engineering activities on or near the surface of the earth; 
     237-       CRSs on moving platforms such as road vehicles, vessels, aircraft, or spacecraft, see ISO 19111 8.3.</documentation> 
     238                </annotation> 
     239        </element> 
    311240        <complexType name="EngineeringCRSType"> 
    312                 <annotation> 
    313                         <documentation>A contextually local coordinate reference system; which can be divided into two broad categories: 
    314 - earth-fixed systems applied to engineering activities on or near the surface of the earth; 
    315 - CRSs on moving platforms such as road vehicles, vessels, aircraft, or spacecraft. 
    316 For further information, see OGC Abstract Specification Topic 2. </documentation> 
    317                 </annotation> 
    318                 <complexContent> 
    319                         <extension base="gml:AbstractReferenceSystemType"> 
    320                                 <sequence> 
    321                                         <element ref="gml:usesCS"/> 
    322                                         <element ref="gml:usesEngineeringDatum"/> 
    323                                 </sequence> 
    324                         </extension> 
    325                 </complexContent> 
    326         </complexType> 
    327         <!-- =================================================== --> 
    328         <element name="usesEngineeringDatum" type="gml:EngineeringDatumRefType"> 
    329                 <annotation> 
    330                         <documentation>Association to the engineering datum used by this CRS. </documentation> 
    331                 </annotation> 
    332         </element> 
    333         <!-- =================================================== --> 
    334         <element name="engineeringCRSRef" type="gml:EngineeringCRSRefType"/> 
    335         <!-- =================================================== --> 
    336         <complexType name="EngineeringCRSRefType"> 
    337                 <annotation> 
    338                         <documentation>Association to an engineering coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
     241                <complexContent> 
     242                        <extension base="gml:AbstractCRSType"> 
     243                                <sequence> 
     244                                        <choice> 
     245                                                <element ref="gml:affineCS"/> 
     246                                                <element ref="gml:cartesianCS"/> 
     247                                                <element ref="gml:cylindricalCS"/> 
     248                                                <element ref="gml:linearCS"/> 
     249                                                <element ref="gml:polarCS"/> 
     250                                                <element ref="gml:sphericalCS"/> 
     251                                                <element ref="gml:userDefinedCS"/> 
     252                                                <element ref="gml:coordinateSystem"> 
     253                                                        <annotation> 
     254                                                                <appinfo>deprecated</appinfo> 
     255                                                        </annotation> 
     256                                                </element> 
     257                                        </choice> 
     258                                        <element ref="gml:engineeringDatum"/> 
     259                                </sequence> 
     260                        </extension> 
     261                </complexContent> 
     262        </complexType> 
     263        <element name="cylindricalCS" type="gml:CylindricalCSPropertyType"> 
     264                <annotation> 
     265                        <documentation>gml:cylindricalCS is an association role to the cylindrical coordinate system used by this CRS.</documentation> 
     266                </annotation> 
     267        </element> 
     268        <element name="linearCS" type="gml:LinearCSPropertyType"> 
     269                <annotation> 
     270                        <documentation>gml:linearCS is an association role to the linear coordinate system used by this CRS.</documentation> 
     271                </annotation> 
     272        </element> 
     273        <element name="polarCS" type="gml:PolarCSPropertyType"> 
     274                <annotation> 
     275                        <documentation>gml:polarCS is an association role to the polar coordinate system used by this CRS.</documentation> 
     276                </annotation> 
     277        </element> 
     278        <element name="userDefinedCS" type="gml:UserDefinedCSPropertyType"> 
     279                <annotation> 
     280                        <documentation>gml:userDefinedCS is an association role to the user defined coordinate system used by this CRS.</documentation> 
     281                </annotation> 
     282        </element> 
     283        <element name="engineeringDatum" type="gml:EngineeringDatumPropertyType"> 
     284                <annotation> 
     285                        <documentation>gml:engineeringDatum is an association role to the engineering datum used by this CRS.</documentation> 
     286                </annotation> 
     287        </element> 
     288        <complexType name="EngineeringCRSPropertyType"> 
     289                <annotation> 
     290                        <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.</documentation> 
    339291                </annotation> 
    340292                <sequence minOccurs="0"> 
     
    343295                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    344296        </complexType> 
    345         <!-- =================================================== --> 
    346         <element name="ImageCRS" type="gml:ImageCRSType" substitutionGroup="gml:_CoordinateReferenceSystem"/> 
    347         <!-- =================================================== --> 
     297        <element name="ImageCRS" type="gml:ImageCRSType" substitutionGroup="gml:AbstractSingleCRS"> 
     298                <annotation> 
     299                        <documentation>gml:ImageCRS is an engineering coordinate reference system applied to locations in images. Image coordinate reference systems are treated as a separate sub-type because the definition of the associated image datum contains two attributes not relevant to other engineering datums.</documentation> 
     300                </annotation> 
     301        </element> 
    348302        <complexType name="ImageCRSType"> 
    349                 <annotation> 
    350                         <documentation>An engineering coordinate reference system applied to locations in images. Image coordinate reference systems are treated as a separate sub-type because a separate user community exists for images with its own terms of reference. </documentation> 
    351                 </annotation> 
    352                 <complexContent> 
    353                         <extension base="gml:AbstractReferenceSystemType"> 
    354                                 <sequence> 
    355                                         <choice> 
    356                                                 <element ref="gml:usesCartesianCS"/> 
     303                <complexContent> 
     304                        <extension base="gml:AbstractCRSType"> 
     305                                <sequence> 
     306                                        <choice> 
     307                                                <element ref="gml:cartesianCS"/> 
     308                                                <element ref="gml:affineCS"/> 
    357309                                                <element ref="gml:usesObliqueCartesianCS"/> 
    358310                                        </choice> 
    359                                         <element ref="gml:usesImageDatum"/> 
    360                                 </sequence> 
    361                         </extension> 
    362                 </complexContent> 
    363         </complexType> 
    364         <!-- =================================================== --> 
    365         <element name="usesObliqueCartesianCS" type="gml:ObliqueCartesianCSRefType"> 
    366                 <annotation> 
    367                         <documentation>Association to the oblique Cartesian coordinate system used by this CRS.</documentation> 
    368                 </annotation> 
    369         </element> 
    370         <!-- =================================================== --> 
    371         <element name="usesImageDatum" type="gml:ImageDatumRefType"> 
    372                 <annotation> 
    373                         <documentation>Association to the image datum used by this CRS. </documentation> 
    374                 </annotation> 
    375         </element> 
    376         <!-- =================================================== --> 
    377         <element name="imageCRSRef" type="gml:ImageCRSRefType"/> 
    378         <!-- =================================================== --> 
    379         <complexType name="ImageCRSRefType"> 
    380                 <annotation> 
    381                         <documentation>Association to an image coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
     311                                        <element ref="gml:imageDatum"/> 
     312                                </sequence> 
     313                        </extension> 
     314                </complexContent> 
     315        </complexType> 
     316        <element name="affineCS" type="gml:AffineCSPropertyType"> 
     317                <annotation> 
     318                        <documentation>gml:affineCS is an association role to the affine coordinate system used by this CRS.</documentation> 
     319                </annotation> 
     320        </element> 
     321        <element name="imageDatum" type="gml:ImageDatumPropertyType"> 
     322                <annotation> 
     323                        <documentation>gml:imageDatum is an association role to the image datum used by this CRS.</documentation> 
     324                </annotation> 
     325        </element> 
     326        <complexType name="ImageCRSPropertyType"> 
     327                <annotation> 
     328                        <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.</documentation> 
    382329                </annotation> 
    383330                <sequence minOccurs="0"> 
     
    386333                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    387334        </complexType> 
    388         <!-- =================================================== --> 
    389         <element name="TemporalCRS" type="gml:TemporalCRSType" substitutionGroup="gml:_CoordinateReferenceSystem"/> 
    390         <!-- =================================================== --> 
     335        <element name="TemporalCRS" type="gml:TemporalCRSType" substitutionGroup="gml:AbstractSingleCRS"> 
     336                <annotation> 
     337                        <documentation>gml:TemporalCRS is a 1D coordinate reference system used for the recording of time.</documentation> 
     338                </annotation> 
     339        </element> 
    391340        <complexType name="TemporalCRSType"> 
    392                 <annotation> 
    393                         <documentation>A 1D coordinate reference system used for the recording of time. </documentation> 
    394                 </annotation> 
    395                 <complexContent> 
    396                         <extension base="gml:AbstractReferenceSystemType"> 
    397                                 <sequence> 
    398                                         <element ref="gml:usesTemporalCS"/> 
    399                                         <element ref="gml:usesTemporalDatum"/> 
    400                                 </sequence> 
    401                         </extension> 
    402                 </complexContent> 
    403         </complexType> 
    404         <!-- =================================================== --> 
    405         <element name="usesTemporalCS" type="gml:TemporalCSRefType"> 
    406                 <annotation> 
    407                         <documentation>Association to the temporal coordinate system used by this CRS. </documentation> 
    408                 </annotation> 
    409         </element> 
    410         <!-- =================================================== --> 
    411         <element name="usesTemporalDatum" type="gml:TemporalDatumRefType"> 
    412                 <annotation> 
    413                         <documentation>Association to the temporal datum used by this CRS. </documentation> 
    414                 </annotation> 
    415         </element> 
    416         <!-- =================================================== --> 
    417         <element name="temporalCRSRef" type="gml:TemporalCRSRefType"/> 
    418         <!-- =================================================== --> 
    419         <complexType name="TemporalCRSRefType"> 
    420                 <annotation> 
    421                         <documentation>Association to a temporal coordinate reference system, either referencing or containing the definition of that reference system. </documentation> 
     341                <complexContent> 
     342                        <extension base="gml:AbstractCRSType"> 
     343                                <sequence> 
     344                                        <choice> 
     345                                                <element ref="gml:timeCS"/> 
     346                                                <element ref="gml:usesTemporalCS"/> 
     347                                        </choice> 
     348                                        <element ref="gml:temporalDatum"/> 
     349                                </sequence> 
     350                        </extension> 
     351                </complexContent> 
     352        </complexType> 
     353        <element name="timeCS" type="gml:TimeCSPropertyType"> 
     354                <annotation> 
     355                        <documentation>gml:timeCS is an association role to the time coordinate system used by this CRS.</documentation> 
     356                </annotation> 
     357        </element> 
     358        <element name="temporalDatum" type="gml:TemporalDatumPropertyType"> 
     359                <annotation> 
     360                        <documentation>gml:temporalDatum is an association role to the temporal datum used by this CRS.</documentation> 
     361                </annotation> 
     362        </element> 
     363        <complexType name="TemporalCRSPropertyType"> 
     364                <annotation> 
     365                        <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.</documentation> 
    422366                </annotation> 
    423367                <sequence minOccurs="0"> 
     
    426370                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    427371        </complexType> 
    428         <!-- =================================================== --> 
    429372</schema> 
  • RevitalizationWS/schemas/gml/branches/3.2.1/src/main/resources/coordinateSystems.xsd

    r7379 r7541  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <schema targetNamespace="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.1.1 2010-01-28" xml:lang="en"> 
     2<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en"  version="3.2.1 2010-01-28"> 
    33        <annotation> 
    4                 <appinfo source="urn:opengis:specification:gml:schema-xsd:coordinateSystems:3.1.1"/> 
    5                 <documentation>How to encode coordinate system definitions. Builds on referenceSystems.xsd to encode the data needed to define coordinate systems, including the specific subtypes of coordinate systems.  
    6                 This schema encodes the Coordinate System (CS_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex C of Topic 2.  
    7                 Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111. 
    8                  
    9                 GML is an OGC Standard. 
    10                 Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
    11                 To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
     4                <appinfo source="urn:x-ogc:specification:gml:schema-xsd:coordinateSystems:3.2.1">coordinateSystems.xsd</appinfo> 
     5                <documentation>See ISO/DIS 19136 13.4. 
     6The coordinate systems schema components can be divded into  three logical parts, which define elements and types for XML encoding of the definitions of: 
     7-       Coordinate system axes 
     8-       Abstract coordinate system 
     9-       Multiple concrete types of spatial-temporal coordinate systems 
     10These schema components encode the Coordinate System packages of the UML Models of ISO 19111 Clause 9 and ISO/DIS 19136 D.3.10. 
     11 
     12GML is an OGC Standard. 
     13Copyright (c) 2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
     14To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
    1215                </documentation> 
    1316        </annotation> 
    14         <!-- ====================================================== 
    15        includes and imports 
    16         ====================================================== --> 
    1717        <include schemaLocation="referenceSystems.xsd"/> 
    18         <!-- ====================================================== 
    19        elements and types 
    20         ====================================================== --> 
    21         <element name="CoordinateSystemAxis" type="gml:CoordinateSystemAxisType" substitutionGroup="gml:Definition"/> 
    22         <!-- =================================================== --> 
    23         <complexType name="CoordinateSystemAxisBaseType" abstract="true"> 
    24                 <annotation> 
    25                         <documentation>Basic encoding for coordinate system axis objects, simplifying and restricting the DefinitionType as needed. </documentation> 
    26                 </annotation> 
    27                 <complexContent> 
    28                         <restriction base="gml:DefinitionType"> 
     18        <element name="CoordinateSystemAxis" type="gml:CoordinateSystemAxisType" substitutionGroup="gml:Definition"> 
     19                <annotation> 
     20                        <documentation>gml:CoordinateSystemAxis is a definition of a coordinate system axis.</documentation> 
     21                </annotation> 
     22        </element> 
     23        <complexType name="CoordinateSystemAxisType"> 
     24                <complexContent> 
     25                        <extension base="gml:IdentifiedObjectType"> 
    2926                                <sequence> 
    30                                         <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    31                                         <element ref="gml:name"> 
    32                                                 <annotation> 
    33                                                         <documentation>The name by which this coordinate system axis is identified. </documentation> 
    34                                                 </annotation> 
    35                                         </element> 
    36                                 </sequence> 
    37                                 <attribute ref="gml:id" use="required"/> 
    38                         </restriction> 
    39                 </complexContent> 
    40         </complexType> 
    41         <!-- =================================================== --> 
    42         <complexType name="CoordinateSystemAxisType"> 
    43                 <annotation> 
    44                         <documentation>Definition of a coordinate system axis. </documentation> 
    45                 </annotation> 
    46                 <complexContent> 
    47                         <extension base="gml:CoordinateSystemAxisBaseType"> 
    48                                 <sequence> 
    49                                         <element ref="gml:axisID" minOccurs="0" maxOccurs="unbounded"> 
    50                                                 <annotation> 
    51                                                         <documentation>Set of alternative identifications of this coordinate system axis. The first axisID, if any, is normally the primary identification code, and any others are aliases. </documentation> 
    52                                                 </annotation> 
    53                                         </element> 
    54                                         <element ref="gml:remarks" minOccurs="0"> 
    55                                                 <annotation> 
    56                                                         <documentation>Comments on or information about this coordinate system axis, including data source information. </documentation> 
    57                                                 </annotation> 
    58                                         </element> 
    5927                                        <element ref="gml:axisAbbrev"/> 
    6028                                        <element ref="gml:axisDirection"/> 
     29                                        <element ref="gml:minimumValue" minOccurs="0"/> 
     30                                        <element ref="gml:maximumValue" minOccurs="0"/> 
     31                                        <element ref="gml:rangeMeaning" minOccurs="0"/> 
    6132                                </sequence> 
    62                                 <attribute ref="gml:uom" use="required"/> 
     33                                <attribute name="uom" type="gml:UomIdentifier" use="required"> 
     34                                        <annotation> 
     35                                                <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> 
     36                                        </annotation> 
     37                                </attribute> 
    6338                        </extension> 
    6439                </complexContent> 
    6540        </complexType> 
    66         <!-- =================================================== --> 
    67         <element name="axisID" type="gml:IdentifierType"> 
    68                 <annotation> 
    69                         <documentation>An identification of a coordinate system axis. </documentation> 
    70                 </annotation> 
    71         </element> 
    72         <!-- =================================================== --> 
    7341        <element name="axisAbbrev" type="gml:CodeType"> 
    7442                <annotation> 
    75                         <documentation>The abbreviation used for this coordinate system axis. This abbreviation can be used to identify the ordinates in a coordinate tuple. Examples are X and Y. The codeSpace attribute can reference a source of more information on a set of standardized abbreviations, or on this abbreviation. </documentation> 
    76                 </annotation> 
    77         </element> 
    78         <!-- =================================================== --> 
    79         <element name="axisDirection" type="gml:CodeType"> 
    80                 <annotation> 
    81                         <documentation>Direction of this coordinate system axis (or in the case of Cartesian projected coordinates, the direction of this coordinate system axis at the origin). Examples: north or south, east or west, up or down. Within any set of coordinate system axes, only one of each pair of terms can be used. For earth-fixed CRSs, this direction is often approximate and intended to provide a human interpretable meaning to the axis. When a geodetic datum is used, the precise directions of the axes may therefore vary slightly from this approximate direction. Note that an EngineeringCRS can include specific descriptions of the directions of its coordinate system axes. For example, the path of a linear CRS axis can be referenced in another document, such as referencing a GML feature that references or includes a curve geometry. The codeSpace attribute can reference a source of more information on a set of standardized directions, or on this direction. </documentation> 
    82                 </annotation> 
    83         </element> 
    84         <!-- =================================================== --> 
    85         <attribute name="uom" type="anyURI"> 
    86                 <annotation> 
    87                         <documentation>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> 
    88                 </annotation> 
    89         </attribute> 
    90         <!-- =================================================== --> 
    91         <element name="coordinateSystemAxisRef" type="gml:CoordinateSystemAxisRefType"/> 
    92         <!-- =================================================== --> 
    93         <complexType name="CoordinateSystemAxisRefType"> 
    94                 <annotation> 
    95                         <documentation>Association to a coordinate system axis, either referencing or containing the definition of that axis. </documentation> 
     43                        <documentation>gml:axisAbbrev is the abbreviation used for this coordinate system axis; this abbreviation is also used to identify the coordinates in the coordinate tuple. The codeSpace attribute may reference a source of more information on a set of standardized abbreviations, or on this abbreviation.</documentation> 
     44                </annotation> 
     45        </element> 
     46        <element name="axisDirection" type="gml:CodeWithAuthorityType"> 
     47                <annotation> 
     48                        <documentation>gml:axisDirection is the direction of this coordinate system axis (or in the case of Cartesian projected coordinates, the direction of this coordinate system axis at the origin). 
     49Within any set of coordinate system axes, only one of each pair of terms may be used. For earth-fixed CRSs, this direction is often approximate and intended to provide a human interpretable meaning to the axis. When a geodetic datum is used, the precise directions of the axes may therefore vary slightly from this approximate direction. 
     50The codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.</documentation> 
     51                </annotation> 
     52        </element> 
     53        <element name="minimumValue" type="double"> 
     54                <annotation> 
     55                        <documentation>The gml:minimumValue and gml:maximumValue properties allow the specification of minimum and maximum value normally allowed for this axis, in the unit of measure for the axis. For a continuous angular axis such as longitude, the values wrap-around at this value. Also, values beyond this minimum/maximum can be used for specified purposes, such as in a bounding box. A value of minus infinity shall be allowed for the gml:minimumValue element, a value of plus infiniy for the gml:maximumValue element. If these elements are omitted, the value is unspecified.</documentation> 
     56                </annotation> 
     57        </element> 
     58        <element name="maximumValue" type="double"> 
     59                <annotation> 
     60                        <documentation>The gml:minimumValue and gml:maximumValue properties allow the specification of minimum and maximum value normally allowed for this axis, in the unit of measure for the axis. For a continuous angular axis such as longitude, the values wrap-around at this value. Also, values beyond this minimum/maximum can be used for specified purposes, such as in a bounding box. A value of minus infinity shall be allowed for the gml:minimumValue element, a value of plus infiniy for the gml:maximumValue element. If these elements are omitted, the value is unspecified.</documentation> 
     61                </annotation> 
     62        </element> 
     63        <element name="rangeMeaning" type="gml:CodeWithAuthorityType"> 
     64                <annotation> 
     65                        <documentation>gml:rangeMeaning describes the meaning of axis value range specified by gml:minimumValue and gml:maximumValue. This element shall be omitted when both gml:minimumValue and gml:maximumValue are omitted. This element should be included when gml:minimumValue and/or gml:maximumValue are included. If this element is omitted when the gml:minimumValue and/or gml:maximumValue are included, the meaning is unspecified. The codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.</documentation> 
     66                </annotation> 
     67        </element> 
     68        <complexType name="CoordinateSystemAxisPropertyType"> 
     69                <annotation> 
     70                        <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> 
    9671                </annotation> 
    9772                <sequence minOccurs="0"> 
     
    10075                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    10176        </complexType> 
    102         <!-- =================================================== --> 
    103         <!-- =================================================== --> 
    104         <element name="_CoordinateSystem" type="gml:AbstractCoordinateSystemType" abstract="true" substitutionGroup="gml:Definition"/> 
    105         <!-- =================================================== --> 
    106         <complexType name="AbstractCoordinateSystemBaseType" abstract="true"> 
    107                 <annotation> 
    108                         <documentation>Basic encoding for coordinate system objects, simplifying and restricting the DefinitionType as needed. </documentation> 
    109                 </annotation> 
    110                 <complexContent> 
    111                         <restriction base="gml:DefinitionType"> 
     77        <element name="AbstractCoordinateSystem" type="gml:AbstractCoordinateSystemType" abstract="true" substitutionGroup="gml:Definition"> 
     78                <annotation> 
     79                        <documentation>gml:AbstractCoordinateSystem is a coordinate system (CS) is the non-repeating sequence of coordinate system axes that spans a given coordinate space. A CS is derived from a set of mathematical rules for specifying how coordinates in a given space are to be assigned to points. The coordinate values in a coordinate tuple shall be recorded in the order in which the coordinate system axes associations are recorded. This abstract complex type shall not be used, extended, or restricted, in an Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.</documentation> 
     80                </annotation> 
     81        </element> 
     82        <complexType name="AbstractCoordinateSystemType" abstract="true"> 
     83                <complexContent> 
     84                        <extension base="gml:IdentifiedObjectType"> 
    11285                                <sequence> 
    113                                         <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    114                                         <element ref="gml:csName"/> 
     86                                        <element ref="gml:axis" maxOccurs="unbounded"/> 
    11587                                </sequence> 
    116                                 <attribute ref="gml:id" use="required"/> 
    117                         </restriction> 
    118                 </complexContent> 
    119         </complexType> 
    120         <!-- =================================================== --> 
    121         <element name="csName" type="gml:CodeType" substitutionGroup="gml:name"> 
    122                 <annotation> 
    123                         <documentation>The name by which this coordinate system is identified. </documentation> 
    124                 </annotation> 
    125         </element> 
    126         <!-- =================================================== --> 
    127         <complexType name="AbstractCoordinateSystemType" abstract="true"> 
    128                 <annotation> 
    129                         <documentation>A coordinate system (CS) is the set of coordinate system axes that spans a given coordinate space. A CS is derived from a set of (mathematical) rules for specifying how coordinates in a given space are to be assigned to points. The coordinate values in a coordinate tuple shall be recorded in the order in which the coordinate system axes associations are recorded, whenever those coordinates use a coordinate reference system that uses this coordinate system. This abstract complexType shall not be used, extended, or restricted, in an Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document. </documentation> 
    130                 </annotation> 
    131                 <complexContent> 
    132                         <extension base="gml:AbstractCoordinateSystemBaseType"> 
    133                                 <sequence> 
    134                                         <element ref="gml:csID" minOccurs="0" maxOccurs="unbounded"> 
    135                                                 <annotation> 
    136                                                         <documentation>Set of alternative identifications of this coordinate system. The first csID, if any, is normally the primary identification code, and any others are aliases. </documentation> 
    137                                                 </annotation> 
    138                                         </element> 
    139                                         <element ref="gml:remarks" minOccurs="0"> 
    140                                                 <annotation> 
    141                                                         <documentation>Comments on or information about this coordinate system, including data source information. </documentation> 
    142                                                 </annotation> 
    143                                         </element> 
    144                                         <element ref="gml:usesAxis" maxOccurs="unbounded"> 
    145                                                 <annotation> 
    146                                                         <documentation>Ordered sequence of associations to the coordinate system axes included in this coordinate system. </documentation> 
    147                                                 </annotation> 
    148                                         </element> 
    149                                 </sequence> 
     88                                <attributeGroup ref="gml:AggregationAttributeGroup"/> 
    15089                        </extension> 
    15190                </complexContent> 
    15291        </complexType> 
    153         <!-- =================================================== --> 
    154         <element name="csID" type="gml:IdentifierType"> 
    155                 <annotation> 
    156                         <documentation>An identification of a coordinate system. </documentation> 
    157                 </annotation> 
    158         </element> 
    159         <!-- =================================================== --> 
    160         <element name="usesAxis" type="gml:CoordinateSystemAxisRefType"> 
    161                 <annotation> 
    162                         <documentation>Association to a coordinate system axis. </documentation> 
    163                 </annotation> 
    164         </element> 
    165         <!-- =================================================== --> 
    166         <element name="coordinateSystemRef" type="gml:CoordinateSystemRefType"/> 
    167         <!-- =================================================== --> 
    168         <complexType name="CoordinateSystemRefType"> 
    169                 <annotation> 
    170                         <documentation>Association to a coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
    171                 </annotation> 
    172                 <sequence minOccurs="0"> 
    173                         <element ref="gml:_CoordinateSystem"/> 
    174                 </sequence> 
    175                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    176         </complexType> 
    177         <!-- =================================================== --> 
    178         <element name="EllipsoidalCS" type="gml:EllipsoidalCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    179         <!-- =================================================== --> 
     92        <element name="axis" type="gml:CoordinateSystemAxisPropertyType"> 
     93                <annotation> 
     94                        <documentation>The gml:axis property is an association role (ordered sequence) to the coordinate system axes included in this coordinate system. The coordinate values in a coordinate tuple shall be recorded in the order in which the coordinate system axes associations are recorded, whenever those coordinates use a coordinate reference system that uses this coordinate system. The gml:AggregationAttributeGroup should be used to specify that the axis objects are ordered.</documentation> 
     95                </annotation> 
     96        </element> 
     97        <complexType name="CoordinateSystemPropertyType"> 
     98                <annotation> 
     99                        <documentation>gml:CoordinateSystemPropertyType is a property type for association roles to a coordinate system, either referencing or containing the definition of that coordinate system.</documentation> 
     100                </annotation> 
     101                <sequence minOccurs="0"> 
     102                        <element ref="gml:AbstractCoordinateSystem"/> 
     103                </sequence> 
     104                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     105        </complexType> 
     106        <element name="EllipsoidalCS" type="gml:EllipsoidalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     107                <annotation> 
     108                        <documentation>gml:EllipsoidalCS is a two- or three-dimensional coordinate system in which position is specified by geodetic latitude, geodetic longitude, and (in the three-dimensional case) ellipsoidal height. An EllipsoidalCS shall have two or three gml:axis property elements; the number of associations shall equal the dimension of the CS.</documentation> 
     109                </annotation> 
     110        </element> 
    180111        <complexType name="EllipsoidalCSType"> 
    181                 <annotation> 
    182                         <documentation>A two- or three-dimensional coordinate system in which position is specified by geodetic latitude, geodetic longitude, and (in the three-dimensional case) ellipsoidal height. An EllipsoidalCS shall have two or three usesAxis associations. </documentation> 
    183                 </annotation> 
    184                 <complexContent> 
    185                         <extension base="gml:AbstractCoordinateSystemType"/> 
    186                 </complexContent> 
    187         </complexType> 
    188         <!-- =================================================== --> 
    189         <element name="ellipsoidalCSRef" type="gml:EllipsoidalCSRefType"/> 
    190         <!-- =================================================== --> 
    191         <complexType name="EllipsoidalCSRefType"> 
    192                 <annotation> 
    193                         <documentation>Association to an ellipsoidal coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
     112                <complexContent> 
     113                        <extension base="gml:AbstractCoordinateSystemType"/> 
     114                </complexContent> 
     115        </complexType> 
     116        <complexType name="EllipsoidalCSPropertyType"> 
     117                <annotation> 
     118                        <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.</documentation> 
    194119                </annotation> 
    195120                <sequence minOccurs="0"> 
     
    198123                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    199124        </complexType> 
    200         <!-- =================================================== --> 
    201         <element name="CartesianCS" type="gml:CartesianCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    202         <!-- =================================================== --> 
     125        <element name="CartesianCS" type="gml:CartesianCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     126                <annotation> 
     127                        <documentation>gml:CartesianCS is a 1-, 2-, or 3-dimensional coordinate system. In the 1-dimensional case, it contains a single straight coordinate axis. In the 2- and 3-dimensional cases gives the position of points relative to orthogonal straight axes. In the multi-dimensional case, all axes shall have the same length unit of measure. A CartesianCS shall have one, two, or three gml:axis property elements.</documentation> 
     128                </annotation> 
     129        </element> 
    203130        <complexType name="CartesianCSType"> 
    204                 <annotation> 
    205                         <documentation>A 1-, 2-, or 3-dimensional coordinate system. Gives the position of points relative to orthogonal straight axes in the 2- and 3-dimensional cases. In the 1-dimensional case, it contains a single straight coordinate axis. In the multi-dimensional case, all axes shall have the same length unit of measure. A CartesianCS shall have one, two, or three usesAxis associations. </documentation> 
    206                 </annotation> 
    207                 <complexContent> 
    208                         <extension base="gml:AbstractCoordinateSystemType"/> 
    209                 </complexContent> 
    210         </complexType> 
    211         <!-- =================================================== --> 
    212         <element name="cartesianCSRef" type="gml:CartesianCSRefType"/> 
    213         <!-- =================================================== --> 
    214         <complexType name="CartesianCSRefType"> 
    215                 <annotation> 
    216                         <documentation>Association to a Cartesian coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
     131                <complexContent> 
     132                        <extension base="gml:AbstractCoordinateSystemType"/> 
     133                </complexContent> 
     134        </complexType> 
     135        <complexType name="CartesianCSPropertyType"> 
     136                <annotation> 
     137                        <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.</documentation> 
    217138                </annotation> 
    218139                <sequence minOccurs="0"> 
     
    221142                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    222143        </complexType> 
    223         <!-- =================================================== --> 
    224         <element name="VerticalCS" type="gml:VerticalCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    225         <!-- =================================================== --> 
     144        <element name="VerticalCS" type="gml:VerticalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     145                <annotation> 
     146                        <documentation>gml:VerticalCS is a one-dimensional coordinate system used to record the heights or depths of points. Such a coordinate system is usually dependent on the Earth's gravity field, perhaps loosely as when atmospheric pressure is the basis for the vertical coordinate system axis. A VerticalCS shall have one gml:axis property element.</documentation> 
     147                </annotation> 
     148        </element> 
    226149        <complexType name="VerticalCSType"> 
    227                 <annotation> 
    228                         <documentation>A one-dimensional coordinate system used to record the heights (or depths) of points. Such a coordinate system is usually dependent on the Earth's gravity field, perhaps loosely as when atmospheric pressure is the basis for the vertical coordinate system axis. A VerticalCS shall have one usesAxis association. </documentation> 
    229                 </annotation> 
    230                 <complexContent> 
    231                         <extension base="gml:AbstractCoordinateSystemType"/> 
    232                 </complexContent> 
    233         </complexType> 
    234         <!-- =================================================== --> 
    235         <element name="verticalCSRef" type="gml:VerticalCSRefType"/> 
    236         <!-- =================================================== --> 
    237         <complexType name="VerticalCSRefType"> 
    238                 <annotation> 
    239                         <documentation>Association to a vertical coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
     150                <complexContent> 
     151                        <extension base="gml:AbstractCoordinateSystemType"/> 
     152                </complexContent> 
     153        </complexType> 
     154        <complexType name="VerticalCSPropertyType"> 
     155                <annotation> 
     156                        <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.</documentation> 
    240157                </annotation> 
    241158                <sequence minOccurs="0"> 
     
    244161                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    245162        </complexType> 
    246         <!-- =================================================== --> 
    247         <element name="TemporalCS" type="gml:TemporalCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    248         <!-- =================================================== --> 
    249         <complexType name="TemporalCSType"> 
    250                 <annotation> 
    251                         <documentation>A one-dimensional coordinate system containing a single time axis, used to describe the temporal position of a point in the specified time units from a specified time origin. A TemporalCS shall have one usesAxis association. </documentation> 
    252                 </annotation> 
    253                 <complexContent> 
    254                         <extension base="gml:AbstractCoordinateSystemType"/> 
    255                 </complexContent> 
    256         </complexType> 
    257         <!-- =================================================== --> 
    258         <element name="temporalCSRef" type="gml:TemporalCSRefType"/> 
    259         <!-- =================================================== --> 
    260         <complexType name="TemporalCSRefType"> 
    261                 <annotation> 
    262                         <documentation>Association to a temporal coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
    263                 </annotation> 
    264                 <sequence minOccurs="0"> 
    265                         <element ref="gml:TemporalCS"/> 
    266                 </sequence> 
    267                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    268         </complexType> 
    269         <!-- =================================================== --> 
    270         <element name="LinearCS" type="gml:LinearCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    271         <!-- =================================================== --> 
     163        <element name="TimeCS" type="gml:TimeCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     164                <annotation> 
     165                        <documentation>gml:TimeCS is a one-dimensional coordinate system containing a time axis, used to describe the temporal position of a point in the specified time units from a specified time origin. A TimeCS shall have one gml:axis property element.</documentation> 
     166                </annotation> 
     167        </element> 
     168        <complexType name="TimeCSType"> 
     169                <complexContent> 
     170                        <extension base="gml:AbstractCoordinateSystemType"/> 
     171                </complexContent> 
     172        </complexType> 
     173        <complexType name="TimeCSPropertyType"> 
     174                <annotation> 
     175                        <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.</documentation> 
     176                </annotation> 
     177                <sequence minOccurs="0"> 
     178                        <element ref="gml:TimeCS"/> 
     179                </sequence> 
     180                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     181        </complexType> 
     182        <element name="LinearCS" type="gml:LinearCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     183                <annotation> 
     184                        <documentation>gml:LinearCS is a one-dimensional coordinate system that consists of the points that lie on the single axis described. The associated coordinate is the distance – with or without offset – from the specified datum to the point along the axis. A LinearCS shall have one gml:axis property element.</documentation> 
     185                </annotation> 
     186        </element> 
    272187        <complexType name="LinearCSType"> 
    273                 <annotation> 
    274                         <documentation>A one-dimensional coordinate system that consists of the points that lie on the single axis described. The associated ordinate is the distance from the specified origin to the point along the axis. Example: usage of the line feature representing a road to describe points on or along that road. A LinearCS shall have one usesAxis association. </documentation> 
    275                 </annotation> 
    276                 <complexContent> 
    277                         <extension base="gml:AbstractCoordinateSystemType"/> 
    278                 </complexContent> 
    279         </complexType> 
    280         <!-- =================================================== --> 
    281         <element name="linearCSRef" type="gml:LinearCSRefType"/> 
    282         <!-- =================================================== --> 
    283         <complexType name="LinearCSRefType"> 
    284                 <annotation> 
    285                         <documentation>Association to a linear coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
     188                <complexContent> 
     189                        <extension base="gml:AbstractCoordinateSystemType"/> 
     190                </complexContent> 
     191        </complexType> 
     192        <complexType name="LinearCSPropertyType"> 
     193                <annotation> 
     194                        <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.</documentation> 
    286195                </annotation> 
    287196                <sequence minOccurs="0"> 
     
    290199                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    291200        </complexType> 
    292         <!-- =================================================== --> 
    293         <element name="UserDefinedCS" type="gml:UserDefinedCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    294         <!-- =================================================== --> 
     201        <element name="UserDefinedCS" type="gml:UserDefinedCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     202                <annotation> 
     203                        <documentation>gml:UserDefinedCS is a two- or three-dimensional coordinate system that consists of any combination of coordinate axes not covered by any other coordinate system type. A UserDefinedCS shall have two or three gml:axis property elements; the number of property elements shall equal the dimension of the CS.</documentation> 
     204                </annotation> 
     205        </element> 
    295206        <complexType name="UserDefinedCSType"> 
    296                 <annotation> 
    297                         <documentation>A two- or three-dimensional coordinate system that consists of any combination of coordinate axes not covered by any other coordinate system type. An example is a multilinear coordinate system which contains one coordinate axis that may have any 1-D shape which has no intersections with itself. This non-straight axis is supplemented by one or two straight axes to complete a 2 or 3 dimensional coordinate system. The non-straight axis is typically incrementally straight or curved. A UserDefinedCS shall have two or three usesAxis associations. </documentation> 
    298                 </annotation> 
    299                 <complexContent> 
    300                         <extension base="gml:AbstractCoordinateSystemType"/> 
    301                 </complexContent> 
    302         </complexType> 
    303         <!-- =================================================== --> 
    304         <element name="userDefinedCSRef" type="gml:UserDefinedCSRefType"/> 
    305         <!-- =================================================== --> 
    306         <complexType name="UserDefinedCSRefType"> 
    307                 <annotation> 
    308                         <documentation>Association to a user-defined coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
     207                <complexContent> 
     208                        <extension base="gml:AbstractCoordinateSystemType"/> 
     209                </complexContent> 
     210        </complexType> 
     211        <complexType name="UserDefinedCSPropertyType"> 
     212                <annotation> 
     213                        <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.</documentation> 
    309214                </annotation> 
    310215                <sequence minOccurs="0"> 
     
    313218                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    314219        </complexType> 
    315         <!-- =================================================== --> 
    316         <element name="SphericalCS" type="gml:SphericalCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    317         <!-- =================================================== --> 
     220        <element name="SphericalCS" type="gml:SphericalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     221                <annotation> 
     222                        <documentation>gml:SphericalCS is a three-dimensional coordinate system with one distance measured from the origin and two angular coordinates. A SphericalCS shall have three gml:axis property elements.</documentation> 
     223                </annotation> 
     224        </element> 
    318225        <complexType name="SphericalCSType"> 
    319                 <annotation> 
    320                         <documentation>A three-dimensional coordinate system with one distance measured from the origin and two angular coordinates. Not to be confused with an ellipsoidal coordinate system based on an ellipsoid "degenerated" into a sphere. A SphericalCS shall have three usesAxis associations. </documentation> 
    321                 </annotation> 
    322                 <complexContent> 
    323                         <extension base="gml:AbstractCoordinateSystemType"/> 
    324                 </complexContent> 
    325         </complexType> 
    326         <!-- =================================================== --> 
    327         <element name="sphericalCSRef" type="gml:SphericalCSRefType"/> 
    328         <!-- =================================================== --> 
    329         <complexType name="SphericalCSRefType"> 
    330                 <annotation> 
    331                         <documentation>Association to a spherical coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
     226                <complexContent> 
     227                        <extension base="gml:AbstractCoordinateSystemType"/> 
     228                </complexContent> 
     229        </complexType> 
     230        <complexType name="SphericalCSPropertyType"> 
     231                <annotation> 
     232                        <documentation>gml:SphericalCSPropertyType is property type for association roles to a spherical coordinate system, either referencing or containing the definition of that coordinate system.</documentation> 
    332233                </annotation> 
    333234                <sequence minOccurs="0"> 
     
    336237                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    337238        </complexType> 
    338         <!-- =================================================== --> 
    339         <element name="PolarCS" type="gml:PolarCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    340         <!-- =================================================== --> 
     239        <element name="PolarCS" type="gml:PolarCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     240                <annotation> 
     241                        <documentation>gml:PolarCS ia s two-dimensional coordinate system in which position is specified by the distance from the origin and the angle between the line from the origin to a point and a reference direction. A PolarCS shall have two gml:axis property elements.</documentation> 
     242                </annotation> 
     243        </element> 
    341244        <complexType name="PolarCSType"> 
    342                 <annotation> 
    343                         <documentation>A two-dimensional coordinate system in which position is specified by the distance from the origin and the angle between the line from the origin to a point and a reference direction. A PolarCS shall have two usesAxis associations. </documentation> 
    344                 </annotation> 
    345                 <complexContent> 
    346                         <extension base="gml:AbstractCoordinateSystemType"/> 
    347                 </complexContent> 
    348         </complexType> 
    349         <!-- =================================================== --> 
    350         <element name="polarCSRef" type="gml:PolarCSRefType"/> 
    351         <!-- =================================================== --> 
    352         <complexType name="PolarCSRefType"> 
    353                 <annotation> 
    354                         <documentation>Association to a polar coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
     245                <complexContent> 
     246                        <extension base="gml:AbstractCoordinateSystemType"/> 
     247                </complexContent> 
     248        </complexType> 
     249        <complexType name="PolarCSPropertyType"> 
     250                <annotation> 
     251                        <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.</documentation> 
    355252                </annotation> 
    356253                <sequence minOccurs="0"> 
     
    359256                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    360257        </complexType> 
    361         <!-- =================================================== --> 
    362         <element name="CylindricalCS" type="gml:CylindricalCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    363         <!-- =================================================== --> 
     258        <element name="CylindricalCS" type="gml:CylindricalCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     259                <annotation> 
     260                        <documentation>gml:CylindricalCS is a three-dimensional coordinate system consisting of a polar coordinate system extended by a straight coordinate axis perpendicular to the plane spanned by the polar coordinate system. A CylindricalCS shall have three gml:axis property elements.</documentation> 
     261                </annotation> 
     262        </element> 
    364263        <complexType name="CylindricalCSType"> 
    365                 <annotation> 
    366                         <documentation>A three-dimensional coordinate system consisting of a polar coordinate system extended by a straight coordinate axis perpendicular to the plane spanned by the polar coordinate system. A CylindricalCS shall have three usesAxis associations. </documentation> 
    367                 </annotation> 
    368                 <complexContent> 
    369                         <extension base="gml:AbstractCoordinateSystemType"/> 
    370                 </complexContent> 
    371         </complexType> 
    372         <!-- =================================================== --> 
    373         <element name="cylindricalCSRef" type="gml:CylindricalCSRefType"/> 
    374         <!-- =================================================== --> 
    375         <complexType name="CylindricalCSRefType"> 
    376                 <annotation> 
    377                         <documentation>Association to a cylindrical coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
     264                <complexContent> 
     265                        <extension base="gml:AbstractCoordinateSystemType"/> 
     266                </complexContent> 
     267        </complexType> 
     268        <complexType name="CylindricalCSPropertyType"> 
     269                <annotation> 
     270                        <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.</documentation> 
    378271                </annotation> 
    379272                <sequence minOccurs="0"> 
     
    382275                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    383276        </complexType> 
    384         <!-- =================================================== --> 
    385         <element name="ObliqueCartesianCS" type="gml:ObliqueCartesianCSType" substitutionGroup="gml:_CoordinateSystem"/> 
    386         <!-- =================================================== --> 
    387         <complexType name="ObliqueCartesianCSType"> 
    388                 <annotation> 
    389                         <documentation>A two- or three-dimensional coordinate system with straight axes that are not necessarily orthogonal. An ObliqueCartesianCS shall have two or three usesAxis associations. </documentation> 
    390                 </annotation> 
    391                 <complexContent> 
    392                         <extension base="gml:AbstractCoordinateSystemType"/> 
    393                 </complexContent> 
    394         </complexType> 
    395         <!-- =================================================== --> 
    396         <element name="obliqueCartesianCSRef" type="gml:ObliqueCartesianCSRefType"/> 
    397         <!-- =================================================== --> 
    398         <complexType name="ObliqueCartesianCSRefType"> 
    399                 <annotation> 
    400                         <documentation>Association to an oblique-Cartesian coordinate system, either referencing or containing the definition of that coordinate system. </documentation> 
    401                 </annotation> 
    402                 <sequence minOccurs="0"> 
    403                         <element ref="gml:ObliqueCartesianCS"/> 
    404                 </sequence> 
    405                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    406         </complexType> 
    407         <!-- =================================================== --> 
     277        <element name="AffineCS" type="gml:AffineCSType" substitutionGroup="gml:AbstractCoordinateSystem"> 
     278                <annotation> 
     279                        <documentation>gml:AffineCS is a two- or three-dimensional coordinate system with straight axes that are not necessarily orthogonal. An AffineCS shall have two or three gml:axis property elements; the number of property elements shall equal the dimension of the CS.</documentation> 
     280                </annotation> 
     281        </element> 
     282        <complexType name="AffineCSType"> 
     283                <complexContent> 
     284                        <extension base="gml:AbstractCoordinateSystemType"/> 
     285                </complexContent> 
     286        </complexType> 
     287        <complexType name="AffineCSPropertyType"> 
     288                <annotation> 
     289                        <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.</documentation> 
     290                </annotation> 
     291                <sequence minOccurs="0"> 
     292                        <element ref="gml:AffineCS"/> 
     293                </sequence> 
     294                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     295        </complexType> 
    408296</schema> 
  • RevitalizationWS/schemas/gml/branches/3.2.1/src/main/resources/coverage.xsd

    r7379 r7541  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <schema targetNamespace="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.1.1 2010-01-28"> 
     2<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" version="3.2.1 2010-01-28"> 
    33        <annotation> 
    4                 <appinfo source="urn:opengis:specification:gml:schema-xsd:coverage:3.1.1">coverage.xsd</appinfo> 
    5                 <documentation xml:lang="en">GML Coverage schema. 
    6                          
    7                         GML is an OGC Standard. 
    8                         Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
    9                         To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
     4                <appinfo source="urn:x-ogc:specification:gml:schema-xsd:coverage:3.2.1">coverage.xsd</appinfo> 
     5                <documentation>See ISO/DIS 19136 20.3. 
     6A coverage incorporates a mapping from a spatiotemporal domain to a range set, the latter providing the set in which the attribute values live.  The range set may be an arbitrary set including discrete lists, integer or floating point ranges, and multi-dimensional vector spaces. 
     7A coverage can be viewed as the graph of the coverage function f:A à B, that is as the set of ordered pairs {(x, f(x)) | where x is in A}. This view is especially applicable to the GML encoding of a coverage.  In the case of a discrete coverage, the domain set A is partitioned into a collection of subsets (typically a disjoint collection) A = UAi and the function f is constant on each Ai. For a spatial domain, the Ai are geometry elements, hence the coverage can be viewed as a collection of (geometry,value) pairs, where the value is an element of the range set.  If the spatial domain A is a topological space then the coverage can be viewed as a collection of (topology,value) pairs, where the topology element in the pair is a topological n-chain (in GML terms this is a gml:TopoPoint, gml:TopoCurve, gml:TopoSurface or gml:TopoSolid).  
     8A coverage is implemented as a GML feature. We can thus speak of a "temperature distribution feature", or a "remotely sensed image feature", or a "soil distribution feature". 
     9As is the case for any GML object, a coverage object may also be the value of a property of a feature. 
     10 
     11GML is an OGC Standard. 
     12Copyright (c) 2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
     13To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
    1014                </documentation> 
    1115        </annotation> 
    12         <!-- ============================================================== 
    13        includes and imports 
    14         ============================================================== --> 
    1516        <include schemaLocation="feature.xsd"/> 
    1617        <include schemaLocation="valueObjects.xsd"/> 
    1718        <include schemaLocation="grids.xsd"/> 
    1819        <include schemaLocation="geometryAggregates.xsd"/> 
    19         <!-- ============================================================== 
    20        global types and elements 
    21         ============================================================== --> 
    22         <!-- ================= Abstract coverage definition ================== --> 
    23         <!-- =========================================================== --> 
    24         <!-- =========================================================== --> 
    25         <element name="_Coverage" type="gml:AbstractCoverageType" abstract="true" substitutionGroup="gml:_Feature"/> 
    26         <!-- =========================================================== --> 
    2720        <complexType name="AbstractCoverageType" abstract="true"> 
    2821                <annotation> 
    29                         <documentation>Abstract element which acts as the head of a substitution group for coverages. Note that a coverage is a GML feature.</documentation> 
     22                        <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> 
    3023                </annotation> 
    3124                <complexContent> 
     
    3528                                        <element ref="gml:rangeSet"/> 
    3629                                </sequence> 
    37                                 <attribute name="dimension" type="positiveInteger" use="optional"/> 
    3830                        </extension> 
    3931                </complexContent> 
    4032        </complexType> 
    41         <!-- =========================================================== --> 
    42         <element name="_ContinuousCoverage" type="gml:AbstractContinuousCoverageType" abstract="true" substitutionGroup="gml:_Coverage"/> 
    43         <!-- =========================================================== --> 
    44         <complexType name="AbstractContinuousCoverageType" abstract="true"> 
    45                 <annotation> 
    46                         <documentation>A continuous coverage as defined in ISO 19123 is a coverage that can return different values for the same feature attribute at different direct positions within a single spatiotemporal object in its spatiotemporal domain</documentation> 
    47                 </annotation> 
     33        <element name="AbstractCoverage" type="gml:AbstractCoverageType" abstract="true" substitutionGroup="gml:AbstractFeature"> 
     34                <annotation> 
     35                        <documentation>This element serves as the head of a substitution group which may contain any coverage whose type is derived from gml:AbstractCoverageType.  It may act as a variable in the definition of content models where it is required to permit any coverage to be valid.</documentation> 
     36                </annotation> 
     37        </element> 
     38        <complexType name="DiscreteCoverageType"> 
    4839                <complexContent> 
    4940                        <extension base="gml:AbstractCoverageType"> 
     
    5445                </complexContent> 
    5546        </complexType> 
    56         <!-- =========================================================== --> 
    57         <element name="_DiscreteCoverage" type="gml:AbstractDiscreteCoverageType" abstract="true" substitutionGroup="gml:_Coverage"/> 
    58         <!-- =========================================================== --> 
    59         <complexType name="AbstractDiscreteCoverageType" abstract="true"> 
    60                 <annotation> 
    61                         <documentation>A discrete coverage consists of a domain set, range set and optionally a coverage function. The domain set consists of either geometry or temporal objects, finite in number. The range set is comprised of a finite number of attribute values each of which is associated to every direct position within any single spatiotemporal object in the domain. In other words, the range values are constant on each spatiotemporal object in the domain. This coverage function maps each element from the coverage domain to an element in its range. This definition conforms to ISO 19123.</documentation> 
    62                 </annotation> 
     47        <element name="AbstractDiscreteCoverage" type="gml:DiscreteCoverageType" abstract="true" substitutionGroup="gml:AbstractCoverage"> 
     48                <annotation> 
     49                        <documentation>A discrete coverage consists of a domain set, range set and optionally a coverage function. The domain set consists of either spatial or temporal geometry objects, finite in number. The range set is comprised of a finite number of attribute values each of which is associated to every direct position within any single spatiotemporal object in the domain. In other words, the range values are constant on each spatiotemporal object in the domain. This coverage function maps each element from the coverage domain to an element in its range. The coverageFunction element describes the mapping function. 
     50This element serves as the head of a substitution group which may contain any discrete coverage whose type is derived from gml:DiscreteCoverageType.</documentation> 
     51                </annotation> 
     52        </element> 
     53        <complexType name="AbstractContinuousCoverageType" abstract="true"> 
    6354                <complexContent> 
    6455                        <extension base="gml:AbstractCoverageType"> 
     
    6960                </complexContent> 
    7061        </complexType> 
    71         <!-- =========================================================== --> 
    72         <element name="domainSet" type="gml:DomainSetType"/> 
    73         <!-- =========================================================== --> 
     62        <element name="AbstractContinuousCoverage" type="gml:AbstractContinuousCoverageType" abstract="true" substitutionGroup="gml:AbstractFeature"> 
     63                <annotation> 
     64                        <documentation>A continuous coverage as defined in ISO 19123 is a coverage that can return different values for the same feature attribute at different direct positions within a single spatiotemporal object in its spatiotemporal domain. The base type for continuous coverages is AbstractContinuousCoverageType. 
     65The coverageFunction element describes the mapping function.  
     66The abstract element gml:AbstractContinuousCoverage serves as the head of a substitution group which may contain any continuous coverage whose type is derived from gml:AbstractContinuousCoverageType.</documentation> 
     67                </annotation> 
     68        </element> 
     69        <element name="domainSet" type="gml:DomainSetType"> 
     70                <annotation> 
     71                        <documentation>The gml:domainSet property element describes the spatio-temporal region of interest, within which the coverage is defined. Its content model is given by gml:DomainSetType. 
     72The value of the domain is thus a choice between a gml:AbstractGeometry and a gml:AbstractTimeObject.  In the instance these abstract elements will normally be substituted by a geometry complex or temporal complex, to represent spatial coverages and time-series, respectively.   
     73The presence of the gml:AssociationAttributeGroup means that domainSet follows the usual GML property model and may use the xlink:href attribute to point to the domain, as an alternative to describing the domain inline. Ownership semantics may be provided using the gml:OwnershipAttributeGroup. 
     74</documentation> 
     75                </annotation> 
     76        </element> 
    7477        <complexType name="DomainSetType"> 
    75                 <annotation> 
    76                         <documentation>The spatiotemporal domain of a coverage.   
    77   Typically  
    78   * a geometry collection,  
    79   * an implicit geometry (e.g. a grid),  
    80   * an explicit or implicit collection of time instances or periods, or 
    81  
    82 N.B. Temporal geometric complexes and temporal grids are not yet implemented in GML.</documentation> 
    83                 </annotation> 
    8478                <sequence minOccurs="0"> 
    8579                        <choice> 
    86                                 <element ref="gml:_Geometry"/> 
    87                                 <element ref="gml:_TimeObject"/> 
     80                                <element ref="gml:AbstractGeometry"/> 
     81                                <element ref="gml:AbstractTimeObject"/> 
    8882                        </choice> 
    8983                </sequence> 
     84                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
    9085                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    9186        </complexType> 
    92         <!-- =========================================================== --> 
    93         <element name="rangeSet" type="gml:RangeSetType"/> 
    94         <!-- =========================================================== --> 
     87        <element name="rangeSet" type="gml:RangeSetType"> 
     88                <annotation> 
     89                        <documentation>The gml:rangeSet property element contains the values of the coverage (sometimes called the attribute values).  Its content model is given by gml:RangeSetType. 
     90This content model supports a structural description of the range.  The semantic information describing the range set is embedded using a uniform method, as part of the explicit values, or as a template value accompanying the representation using gml:DataBlock and gml:File. 
     91The values from each component (or "band") in the range may be encoded within a gml:ValueArray element or a concrete member of the gml:AbstractScalarValueList substitution group . Use of these elements satisfies the value-type homogeneity requirement.</documentation> 
     92                </annotation> 
     93        </element> 
    9594        <complexType name="RangeSetType"> 
    9695                <choice> 
    97                         <element ref="gml:ValueArray" maxOccurs="unbounded"> 
    98                                 <annotation> 
    99                                         <documentation>each member _Value holds a tuple or "row" from the equivalent table</documentation> 
    100                                 </annotation> 
    101                         </element> 
    102                         <group ref="gml:ScalarValueList" maxOccurs="unbounded"> 
    103                                 <annotation> 
    104                                         <documentation>each list holds the complete set of one scalar component from the values - i.e. a "column" from the equivalent table</documentation> 
    105                                 </annotation> 
    106                         </group> 
    107                         <element ref="gml:DataBlock"> 
    108                                 <annotation> 
    109                                         <documentation>Its tuple list holds the values as space-separated tuples each of which contains comma-separated components, and the tuple structure is specified using the rangeParameters property.</documentation> 
    110                                 </annotation> 
    111                         </element> 
    112                         <element ref="gml:File"> 
    113                                 <annotation> 
    114                                         <documentation>a reference to an external source for the data, together with a description of how that external source is structured</documentation> 
    115                                 </annotation> 
    116                         </element> 
     96                        <element ref="gml:ValueArray" maxOccurs="unbounded"/> 
     97                        <element ref="gml:AbstractScalarValueList" maxOccurs="unbounded"/> 
     98                        <element ref="gml:DataBlock"/> 
     99                        <element ref="gml:File"/> 
    117100                </choice> 
    118101        </complexType> 
    119         <!-- =========================================================== --> 
    120         <element name="coverageFunction" type="gml:CoverageFunctionType"/> 
    121         <!-- =========================================================== --> 
    122         <complexType name="CoverageFunctionType"> 
    123                 <annotation> 
    124                         <documentation>The function or rule which defines the map from members of the domainSet to the range.   
    125       More functions will be added to this list</documentation> 
    126                 </annotation> 
    127                 <choice> 
    128                         <element ref="gml:MappingRule"/> 
    129                         <element ref="gml:GridFunction"/> 
    130                 </choice> 
    131         </complexType> 
    132         <!-- =========================================================== --> 
    133         <!-- ============== Components for encoding the rangeSet ============= --> 
    134         <!-- =========================================================== --> 
    135         <element name="DataBlock" type="gml:DataBlockType"/> 
    136         <!-- =========================================================== --> 
     102        <element name="DataBlock" type="gml:DataBlockType" substitutionGroup="gml:AbstractObject"> 
     103                <annotation> 
     104                        <documentation>gml:DataBlock describes the Range as a block of text encoded values similar to a Common Separated Value (CSV) representation. 
     105The range set parameterization is described by the property gml:rangeParameters.</documentation> 
     106                </annotation> 
     107        </element> 
    137108        <complexType name="DataBlockType"> 
    138109                <sequence> 
     
    140111                        <choice> 
    141112                                <element ref="gml:tupleList"/> 
    142                                 <element ref="gml:doubleOrNullTupleList"/> 
     113                                <element ref="gml:doubleOrNilReasonTupleList"/> 
    143114                        </choice> 
    144115                </sequence> 
    145116        </complexType> 
    146         <!-- =========================================================== --> 
    147         <element name="tupleList" type="gml:CoordinatesType"/> 
    148         <!-- =========================================================== --> 
    149         <element name="doubleOrNullTupleList" type="gml:doubleOrNullList"/> 
    150         <!-- =========================================================== --> 
    151         <element name="File" type="gml:FileType"/> 
    152         <!-- =========================================================== --> 
     117        <element name="rangeParameters" type="gml:AssociationRoleType"/> 
     118        <element name="tupleList" type="gml:CoordinatesType"> 
     119                <annotation> 
     120                        <documentation>gml:CoordinatesType consists of a list of coordinate tuples, with each coordinate tuple separated by the ts or tuple separator (whitespace), and each coordinate in the tuple by the cs or coordinate separator (comma). 
     121The gml:tupleList encoding is effectively "band-interleaved".</documentation> 
     122                </annotation> 
     123        </element> 
     124        <element name="doubleOrNilReasonTupleList" type="gml:doubleOrNilReasonList"> 
     125                <annotation> 
     126                        <documentation>gml:doubleOrNilReasonList consists of a list of gml:doubleOrNilReason values, each separated by a whitespace. The gml:doubleOrNilReason values are grouped into tuples where the dimension of each tuple in the list is equal to the number of range parameters.</documentation> 
     127                </annotation> 
     128        </element> 
     129        <element name="File" type="gml:FileType" substitutionGroup="gml:AbstractObject"> 
     130                <annotation> 
     131                        <documentation>for efficiency reasons, GML also provides a means of encoding the range set in an arbitrary external encoding, such as a binary file.  This encoding may be "well-known" but this is not required. This mode uses the gml:File element. 
     132The values of the coverage (attribute values in the range set) are transmitted in a external file that is referenced from the XML structure described by gml:FileType.  The external file is referenced by the gml:fileReference property that is an anyURI (the gml:fileName property has been deprecated).  This means that the external file may be located remotely from the referencing GML instance.  
     133The gml:compression property points to a definition of a compression algorithm through an anyURI.  This may be a retrievable, computable definition or simply a reference to an unambiguous name for the compression method. 
     134The gml:mimeType property points to a definition of the file mime type. 
     135The gml:fileStructure property is defined by a codelist. Note further that all values shall be enclosed in a single file. Multi-file structures for values are not supported in GML. 
     136The semantics of the range set is described as above using the gml:rangeParameters property. 
     137Note that if any compression algorithm is applied, the structure above applies only to the pre-compression or post-decompression structure of the file. 
     138Note that the fields within a record match the gml:valueComponents of the gml:CompositeValue in document order.</documentation> 
     139                </annotation> 
     140        </element> 
    153141        <complexType name="FileType"> 
    154142                <sequence> 
    155143                        <element ref="gml:rangeParameters"/> 
    156                         <element name="fileName" type="anyURI"/> 
    157                         <element name="fileStructure" type="gml:FileValueModelType"/> 
     144                        <choice> 
     145                                <element name="fileName" type="anyURI"> 
     146                                        <annotation> 
     147                                                <appinfo>deprecated</appinfo> 
     148                                        </annotation> 
     149                                </element> 
     150                                <element name="fileReference" type="anyURI"/> 
     151                        </choice> 
     152                        <element name="fileStructure" type="gml:CodeType"/> 
    158153                        <element name="mimeType" type="anyURI" minOccurs="0"/> 
    159154                        <element name="compression" type="anyURI" minOccurs="0"/> 
    160155                </sequence> 
    161156        </complexType> 
    162         <!-- =========================================================== --> 
    163         <simpleType name="FileValueModelType"> 
    164                 <annotation> 
    165                         <documentation>List of codes that identifies the file structure model for records stored in files.</documentation> 
    166                 </annotation> 
    167                 <restriction base="string"> 
    168                         <enumeration value="Record Interleaved"/> 
    169                 </restriction> 
    170         </simpleType> 
    171         <!-- =========================================================== --> 
    172         <element name="rangeParameters" type="gml:RangeParametersType"/> 
    173         <!-- =========================================================== --> 
    174         <complexType name="RangeParametersType"> 
    175                 <annotation> 
    176                         <documentation>Metadata about the rangeSet.  Definition of record structure.    
    177       This is required if the rangeSet is encoded in a DataBlock.   
    178       We use a gml:_Value with empty values as a map of the composite value structure.</documentation> 
    179                 </annotation> 
    180                 <sequence minOccurs="0"> 
    181                         <group ref="gml:ValueObject"/> 
    182                 </sequence> 
    183                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    184         </complexType> 
    185         <!-- =========================================================== --> 
    186         <!-- ============= Components for coverageFunctions ================ --> 
    187         <!-- =========================================================== --> 
    188         <element name="MappingRule" type="gml:StringOrRefType"> 
    189                 <annotation> 
    190                         <documentation>Description of a rule for associating members from the domainSet with members of the rangeSet.</documentation> 
    191                 </annotation> 
    192         </element> 
    193         <!-- =========================================================== --> 
    194         <element name="GridFunction" type="gml:GridFunctionType"/> 
    195         <!-- =========================================================== --> 
     157        <element name="coverageFunction" type="gml:CoverageFunctionType" substitutionGroup="gml:AbstractObject"> 
     158                <annotation> 
     159                        <documentation>The gml:coverageFunction property describes the mapping function from the domain to the range of the coverage. 
     160The value of the CoverageFunction is one of gml:CoverageMappingRule and gml:GridFunction. 
     161If the gml:coverageFunction property is omitted for a gridded coverage (including rectified gridded coverages) the gml:startPoint is assumed to be the value of the gml:low property in the gml:Grid geometry, and the gml:sequenceRule is assumed to be linear and the gml:axisOrder property is assumed to be "+1 +2".</documentation> 
     162                </annotation> 
     163        </element> 
     164        <complexType name="CoverageFunctionType"> 
     165                <choice> 
     166                        <element ref="gml:MappingRule"/> 
     167                        <element ref="gml:CoverageMappingRule"/> 
     168                        <element ref="gml:GridFunction"/> 
     169                </choice> 
     170        </complexType> 
     171        <element name="CoverageMappingRule" type="gml:MappingRuleType" substitutionGroup="gml:AbstractObject"> 
     172                <annotation> 
     173                        <documentation>gml:CoverageMappingRule provides a formal or informal description of the coverage function. 
     174The mapping rule may be defined as an in-line string (gml:ruleDefinition) or via a remote reference through xlink:href (gml:ruleReference).   
     175If no rule name is specified, the default is 'Linear' with respect to members of the domain in document order.</documentation> 
     176                </annotation> 
     177        </element> 
     178        <complexType name="MappingRuleType" final="#all"> 
     179                <choice> 
     180                        <element name="ruleDefinition" type="string"/> 
     181                        <element name="ruleReference" type="gml:ReferenceType"/> 
     182                </choice> 
     183        </complexType> 
     184        <element name="GridFunction" type="gml:GridFunctionType" substitutionGroup="gml:AbstractObject"> 
     185                <annotation> 
     186                        <documentation>gml:GridFunction provides an explicit mapping rule for grid geometries, i.e. the domain shall be a geometry of type grid.  It describes the mapping of grid posts (discrete point grid coverage) or grid cells (discrete surface coverage) to the values in the range set. 
     187The gml:startPoint is the index position of a point in the grid that is mapped to the first point in the range set (this is also the index position of the first grid post).  If the gml:startPoint property is omitted the gml:startPoint is assumed to be equal to the value of gml:low in the gml:Grid geometry. Subsequent points in the mapping are determined by the value of the gml:sequenceRule.</documentation> 
     188                </annotation> 
     189        </element> 
    196190        <complexType name="GridFunctionType"> 
    197                 <annotation> 
    198                         <documentation>Defines how values in the domain are mapped to the range set. The start point and the sequencing rule are specified here.</documentation> 
    199                 </annotation> 
    200191                <sequence> 
    201                         <element name="sequenceRule" type="gml:SequenceRuleType" minOccurs="0"> 
    202                                 <annotation> 
    203                                         <documentation>If absent, the implied value is "Linear".</documentation> 
    204                                 </annotation> 
    205                         </element> 
    206                         <element name="startPoint" type="gml:integerList" minOccurs="0"> 
    207                                 <annotation> 
    208                                         <documentation>Index position of the first grid post, which must lie somwhere in the GridEnvelope.  If absent, the startPoint is equal to the value of gridEnvelope::low from the grid definition.</documentation> 
    209                                 </annotation> 
    210                         </element> 
    211                 </sequence> 
    212         </complexType> 
    213         <!-- =========================================================== --> 
    214         <element name="IndexMap" type="gml:IndexMapType" substitutionGroup="gml:GridFunction"/> 
    215         <!-- =========================================================== --> 
    216         <complexType name="IndexMapType"> 
    217                 <annotation> 
    218                         <documentation>Exends GridFunctionType with a lookUpTable.  This contains a list of indexes of members within the rangeSet corresponding with the members of the domainSet.  The domainSet is traversed in list order if it is enumerated explicitly, or in the order specified by a SequenceRule if the domain is an implicit set.    The length of the lookUpTable corresponds with the length of the subset of the domainSet for which the coverage is defined.</documentation> 
    219                 </annotation> 
    220                 <complexContent> 
    221                         <extension base="gml:GridFunctionType"> 
    222                                 <sequence> 
    223                                         <element name="lookUpTable" type="gml:integerList"/> 
    224                                 </sequence> 
    225                         </extension> 
    226                 </complexContent> 
    227         </complexType> 
    228         <!-- =========================================================== --> 
     192                        <element name="sequenceRule" type="gml:SequenceRuleType" minOccurs="0"/> 
     193                        <element name="startPoint" type="gml:integerList" minOccurs="0"/> 
     194                </sequence> 
     195        </complexType> 
    229196        <complexType name="SequenceRuleType"> 
     197                <annotation> 
     198                        <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> 
     199                </annotation> 
    230200                <simpleContent> 
    231                         <extension base="gml:SequenceRuleNames"> 
    232                                 <attribute name="order" type="gml:IncrementOrder" use="optional"/> 
     201                        <extension base="gml:SequenceRuleEnumeration"> 
     202                                <attribute name="order" type="gml:IncrementOrder"> 
     203                                        <annotation> 
     204                                                <appinfo>deprecated</appinfo> 
     205                                        </annotation> 
     206                                </attribute> 
     207                                <attribute name="axisOrder" type="gml:AxisDirectionList"/> 
    233208                        </extension> 
    234209                </simpleContent> 
    235210        </complexType> 
    236         <!-- =========================================================== --> 
    237         <simpleType name="SequenceRuleNames"> 
    238                 <annotation> 
    239                         <documentation>List of codes (adopted from ISO 19123 Annex C) that identifies the rule for traversing a grid to correspond with the sequence of members of the rangeSet.</documentation> 
    240                 </annotation> 
     211        <simpleType name="SequenceRuleEnumeration"> 
    241212                <restriction base="string"> 
    242213                        <enumeration value="Linear"/> 
     
    248219                </restriction> 
    249220        </simpleType> 
    250         <!-- =========================================================== --> 
    251         <simpleType name="IncrementOrder"> 
    252                 <annotation> 
    253                         <documentation>The enumeration value here indicates the incrementation order  to be used on the first 2 axes, i.e. "+x-y" means that the points on the first axis are to be traversed from lowest to highest and  the points on the second axis are to be traversed from highest to lowest. The points on all other axes (if any) beyond the first 2 are assumed to increment from lowest to highest.</documentation> 
     221        <simpleType name="AxisDirectionList"> 
     222                <annotation> 
     223                        <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> 
     224                </annotation> 
     225                <list itemType="gml:AxisDirection"/> 
     226        </simpleType> 
     227        <simpleType name="AxisDirection"> 
     228                <annotation> 
     229                        <documentation>The value of a gml:AxisDirection indicates the incrementation order to be used on an axis of the grid.</documentation> 
    254230                </annotation> 
    255231                <restriction base="string"> 
    256                         <enumeration value="+x+y"/> 
    257                         <enumeration value="+y+x"/> 
    258                         <enumeration value="+x-y"/> 
    259                         <enumeration value="-x-y"/> 
     232                        <pattern value="[\+\-][1-9][0-9]*"/> 
    260233                </restriction> 
    261234        </simpleType> 
    262         <!-- =========================================================== --> 
    263         <!-- == Specialised Coverage types - typed by the structure of the domain set == --> 
    264         <!-- =========================================================== --> 
    265         <element name="MultiPointCoverage" type="gml:MultiPointCoverageType" substitutionGroup="gml:_DiscreteCoverage"/> 
    266         <!-- =========================================================== --> 
    267         <complexType name="MultiPointCoverageType"> 
    268                 <annotation> 
    269                         <documentation>A discrete coverage type whose domain is defined by a collection of point</documentation> 
    270                 </annotation> 
    271                 <complexContent> 
    272                         <restriction base="gml:AbstractDiscreteCoverageType"> 
    273                                 <sequence> 
    274                                         <group ref="gml:StandardObjectProperties"/> 
    275                                         <element ref="gml:boundedBy" minOccurs="0"/> 
    276                                         <element ref="gml:multiPointDomain"/> 
    277                                         <element ref="gml:rangeSet"/> 
    278                                         <element ref="gml:coverageFunction" minOccurs="0"/> 
    279                                 </sequence> 
    280                         </restriction> 
    281                 </complexContent> 
    282         </complexType> 
    283         <!-- =========================================================== --> 
    284         <element name="multiPointDomain" type="gml:MultiPointDomainType" substitutionGroup="gml:domainSet"/> 
    285         <!-- =========================================================== --> 
    286         <complexType name="MultiPointDomainType"> 
    287                 <complexContent> 
    288                         <restriction base="gml:DomainSetType"> 
    289                                 <sequence minOccurs="0"> 
    290                                         <element ref="gml:MultiPoint"/> 
    291                                 </sequence> 
    292                                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    293                         </restriction> 
    294                 </complexContent> 
    295         </complexType> 
    296         <!-- =========================================================== --> 
    297         <element name="MultiCurveCoverage" type="gml:MultiCurveCoverageType" substitutionGroup="gml:_DiscreteCoverage"/> 
    298         <!-- =========================================================== --> 
    299         <complexType name="MultiCurveCoverageType"> 
    300                 <annotation> 
    301                         <documentation>A discrete coverage type whose domain is defined by a collection of curves.</documentation> 
    302                 </annotation> 
    303                 <complexContent> 
    304                         <restriction base="gml:AbstractDiscreteCoverageType"> 
    305                                 <sequence> 
    306                                         <group ref="gml:StandardObjectProperties"/> 
    307                                         <element ref="gml:boundedBy" minOccurs="0"/> 
    308                                         <element ref="gml:multiCurveDomain"/> 
    309                                         <element ref="gml:rangeSet"/> 
    310                                         <element ref="gml:coverageFunction" minOccurs="0"/> 
    311                                 </sequence> 
    312                         </restriction> 
    313                 </complexContent> 
    314         </complexType> 
    315         <!-- =========================================================== --> 
    316         <element name="multiCurveDomain" type="gml:MultiCurveDomainType" substitutionGroup="gml:domainSet"/> 
    317         <!-- =========================================================== --> 
    318         <complexType name="MultiCurveDomainType"> 
    319                 <complexContent> 
    320                         <restriction base="gml:DomainSetType"> 
    321                                 <sequence minOccurs="0"> 
    322                                         <element ref="gml:MultiCurve"/> 
    323                                 </sequence> 
    324                                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    325                         </restriction> 
    326                 </complexContent> 
    327         </complexType> 
    328         <!-- =========================================================== --> 
    329         <element name="MultiSurfaceCoverage" type="gml:MultiSurfaceCoverageType" substitutionGroup="gml:_DiscreteCoverage"/> 
    330         <!-- =========================================================== --> 
    331         <complexType name="MultiSurfaceCoverageType"> 
    332                 <annotation> 
    333                         <documentation>A discrete coverage type whose domain is defined by a collection of surface patches (includes polygons, triangles, rectangles, etc).</documentation> 
    334                 </annotation> 
    335                 <complexContent> 
    336                         <restriction base="gml:AbstractDiscreteCoverageType"> 
    337                                 <sequence> 
    338                                         <group ref="gml:StandardObjectProperties"/> 
    339                                         <element ref="gml:boundedBy" minOccurs="0"/> 
    340                                         <element ref="gml:multiSurfaceDomain"/> 
    341                                         <element ref="gml:rangeSet"/> 
    342                                         <element ref="gml:coverageFunction" minOccurs="0"/> 
    343                                 </sequence> 
    344                         </restriction> 
    345                 </complexContent> 
    346         </complexType> 
    347         <!-- =========================================================== --> 
    348         <element name="multiSurfaceDomain" type="gml:MultiSurfaceDomainType" substitutionGroup="gml:domainSet"/> 
    349         <!-- =========================================================== --> 
    350         <complexType name="MultiSurfaceDomainType"> 
    351                 <complexContent> 
    352                         <restriction base="gml:DomainSetType"> 
    353                                 <sequence minOccurs="0"> 
    354                                         <element ref="gml:MultiSurface"/> 
    355                                 </sequence> 
    356                                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    357                         </restriction> 
    358                 </complexContent> 
    359         </complexType> 
    360         <!-- =========================================================== --> 
    361         <element name="MultiSolidCoverage" type="gml:MultiSolidCoverageType" substitutionGroup="gml:_DiscreteCoverage"/> 
    362         <!-- =========================================================== --> 
    363         <complexType name="MultiSolidCoverageType"> 
    364                 <annotation> 
    365                         <documentation>A discrete coverage type whose domain is defined by a collection of Solids.</documentation> 
    366                 </annotation> 
    367                 <complexContent> 
    368                         <restriction base="gml:AbstractDiscreteCoverageType"> 
    369                                 <sequence> 
    370                                         <group ref="gml:StandardObjectProperties"/> 
    371                                         <element ref="gml:boundedBy" minOccurs="0"/> 
    372                                         <element ref="gml:multiSolidDomain"/> 
    373                                         <element ref="gml:rangeSet"/> 
    374                                         <element ref="gml:coverageFunction" minOccurs="0"/> 
    375                                 </sequence> 
    376                         </restriction> 
    377                 </complexContent> 
    378         </complexType> 
    379         <!-- =========================================================== --> 
    380         <element name="multiSolidDomain" type="gml:MultiSolidDomainType" substitutionGroup="gml:domainSet"/> 
    381         <!-- =========================================================== --> 
    382         <complexType name="MultiSolidDomainType"> 
    383                 <complexContent> 
    384                         <restriction base="gml:DomainSetType"> 
    385                                 <sequence minOccurs="0"> 
    386                                         <element ref="gml:MultiSolid"/> 
    387                                 </sequence> 
    388                                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    389                         </restriction> 
    390                 </complexContent> 
    391         </complexType> 
    392         <!-- =========================================================== --> 
    393         <element name="GridCoverage" type="gml:GridCoverageType" substitutionGroup="gml:_DiscreteCoverage"/> 
    394         <!-- =========================================================== --> 
    395         <complexType name="GridCoverageType"> 
    396                 <complexContent> 
    397                         <restriction base="gml:AbstractDiscreteCoverageType"> 
    398                                 <sequence> 
    399                                         <group ref="gml:StandardObjectProperties"/> 
    400                                         <element ref="gml:boundedBy" minOccurs="0"/> 
    401                                         <element ref="gml:gridDomain"/> 
    402                                         <element ref="gml:rangeSet"/> 
    403                                         <element ref="gml:coverageFunction" minOccurs="0"/> 
    404                                 </sequence> 
    405                         </restriction> 
    406                 </complexContent> 
    407         </complexType> 
    408         <!-- =========================================================== --> 
    409         <element name="gridDomain" type="gml:GridDomainType" substitutionGroup="gml:domainSet"/> 
    410         <!-- =========================================================== --> 
    411         <complexType name="GridDomainType"> 
    412                 <complexContent> 
    413                         <restriction base="gml:DomainSetType"> 
    414                                 <sequence minOccurs="0"> 
    415                                         <element ref="gml:Grid"/> 
    416                                 </sequence> 
    417                                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    418                         </restriction> 
    419                 </complexContent> 
    420         </complexType> 
    421         <!-- =========================================================== --> 
    422         <element name="RectifiedGridCoverage" type="gml:RectifiedGridCoverageType" substitutionGroup="gml:_DiscreteCoverage"/> 
    423         <!-- =========================================================== --> 
    424         <complexType name="RectifiedGridCoverageType"> 
    425                 <complexContent> 
    426                         <restriction base="gml:AbstractDiscreteCoverageType"> 
    427                                 <sequence> 
    428                                         <group ref="gml:StandardObjectProperties"/> 
    429                                         <element ref="gml:boundedBy" minOccurs="0"/> 
    430                                         <element ref="gml:rectifiedGridDomain"/> 
    431                                         <element ref="gml:rangeSet"/> 
    432                                         <element ref="gml:coverageFunction" minOccurs="0"/> 
    433                                 </sequence> 
    434                         </restriction> 
    435                 </complexContent> 
    436         </complexType> 
    437         <!-- =========================================================== --> 
    438         <element name="rectifiedGridDomain" type="gml:RectifiedGridDomainType" substitutionGroup="gml:domainSet"/> 
    439         <!-- =========================================================== --> 
    440         <complexType name="RectifiedGridDomainType"> 
    441                 <complexContent> 
    442                         <restriction base="gml:DomainSetType"> 
    443                                 <sequence minOccurs="0"> 
    444                                         <element ref="gml:RectifiedGrid"/> 
    445                                 </sequence> 
    446                                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    447                         </restriction> 
    448                 </complexContent> 
    449         </complexType> 
    450         <!-- =========================================================== --> 
     235        <element name="MultiPointCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> 
     236                <annotation> 
     237                        <documentation>In a gml:MultiPointCoverage the domain set is a gml:MultiPoint, that is a collection of arbitrarily distributed geometric points. 
     238The content model is identical with gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiPoint. 
     239In a gml:MultiPointCoverage the mapping from the domain to the range is straightforward. 
     240-       For gml:DataBlock encodings the points of the gml:MultiPoint are mapped in document order to the tuples of the data block. 
     241-       For gml:CompositeValue encodings the points of the gml:MultiPoint are mapped to the members of the composite value in document order. 
     242-       For gml:File encodings the points of the gml:MultiPoint are mapped to the records of the file in sequential order. 
     243</documentation> 
     244                </annotation> 
     245        </element> 
     246        <element name="MultiCurveCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> 
     247                <annotation> 
     248                        <documentation>In a gml:MultiCurveCoverage the domain is partioned into a collection of curves comprising a gml:MultiCurve.  The coverage function then maps each curve in the collection to a value in the range set. 
     249The content model is identical with gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiCurve. 
     250In a gml:MultiCurveCoverage the mapping from the domain to the range is straightforward. 
     251-       For gml:DataBlock encodings the curves of the gml:MultiCurve are mapped in document order to the tuples of the data block. 
     252-       For gml:CompositeValue encodings the curves of the gml:MultiCurve are mapped to the members of the composite value in document order. 
     253-       For gml:File encodings the curves of the gml:MultiCurve are mapped to the records of the file in sequential order. 
     254</documentation> 
     255                </annotation> 
     256        </element> 
     257        <element name="MultiSurfaceCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> 
     258                <annotation> 
     259                        <documentation>In a gml:MultiSurfaceCoverage the domain is partioned into a collection of surfaces comprising a gml:MultiSurface.  The coverage function than maps each surface in the collection to a value in the range set. 
     260The content model is identical with gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiSurface. 
     261In a gml:MultiSurfaceCoverage the mapping from the domain to the range is straightforward. 
     262-       For gml:DataBlock encodings the surfaces of the gml:MultiSurface are mapped in document order to the tuples of the data block. 
     263-       For gml:CompositeValue encodings the surfaces of the gml:MultiSurface are mapped to the members of the composite value in document order. 
     264-       For gml:File encodings the surfaces of the gml:MultiSurface are mapped to the records of the file in sequential order. 
     265</documentation> 
     266                </annotation> 
     267        </element> 
     268        <element name="MultiSolidCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> 
     269                <annotation> 
     270                        <documentation>In a gml:MultiSolidCoverage the domain is partioned into a collection of solids comprising a gml:MultiSolid.  The coverage function than maps each solid in the collection to a value in the range set. 
     271The content model is identical with gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiSolid. 
     272In a gml:MultiSolidCoverage the mapping from the domain to the range is straightforward. 
     273-       For gml:DataBlock encodings the solids of the gml:MultiSolid are mapped in document order to the tuples of the data block. 
     274-       For gml:CompositeValue encodings the solids of the gml:MultiSolid are mapped to the members of the composite value in document order. 
     275-       For gml:File encodings the solids of the gml:MultiSolid are mapped to the records of the file in sequential order. 
     276</documentation> 
     277                </annotation> 
     278        </element> 
     279        <element name="GridCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> 
     280                <annotation> 
     281                        <documentation>A gml:GriddedCoverage is a discrete point coverage in which the domain set is a geometric grid of points. 
     282Note that this is the same as the gml:MultiPointCoverage except that we have a gml:Grid to describe the domain. 
     283The simple gridded coverage is not geometrically referenced and hence no geometric positions are assignable to the points in the grid. Such geometric positioning is introduced in the gml:RectifiedGridCoverage.</documentation> 
     284                </annotation> 
     285        </element> 
     286        <element name="RectifiedGridCoverage" type="gml:DiscreteCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"> 
     287                <annotation> 
     288                        <documentation>The gml:RectifiedGridCoverage is a discrete point coverage based on a rectified grid. It is similar to the grid coverage except that the points of the grid are geometrically referenced. The rectified grid coverage has a domain that is a gml:RectifiedGrid geometry.</documentation> 
     289                </annotation> 
     290        </element> 
    451291</schema> 
  • RevitalizationWS/schemas/gml/branches/3.2.1/src/main/resources/datums.xsd

    r7379 r7541  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <schema targetNamespace="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.1.1 2010-01-28" xml:lang="en"> 
     2<!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Clemens Portele (interactive instruments) --> 
     3<schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" version="3.2.1 2010-01-28"> 
    34        <annotation> 
    4                 <appinfo source="urn:opengis:specification:gml:schema-xsd:datums:3.1.1"/> 
    5                 <documentation>How to encode datum definitions. Builds on referenceSystems.xsd to encode the data needed to define datums, including the specific subtypes of datums.  
    6                 This schema encodes the Datum (CD_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex C of Topic 2.  
    7                 Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111. 
    8                  
    9                 GML is an OGC Standard. 
    10                 Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
    11                 To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
     5                <appinfo source="urn:x-ogc:specification:gml:schema-xsd:datums:3.2.1">datums.xsd</appinfo> 
     6                <documentation>See ISO/DIS 19136 13.5 
     7The datums schema components can be divided into three logical parts, which define elements and types for XML encoding of the definitions of: 
     8-       Abstract datum 
     9-       Geodetic datums, including ellipsoid and prime meridian 
     10-       Multiple other concrete types of spatial or temporal datums 
     11These schema components encode the Datum packages of the UML Models of ISO 19111 Clause 10 and ISO/DIS 19136 D.3.10. 
     12 
     13GML is an OGC Standard. 
     14Copyright (c) 2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved. 
     15To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . 
    1216                </documentation> 
    1317        </annotation> 
    14         <!-- ====================================================== 
    15        includes and imports 
    16         ====================================================== --> 
    1718        <include schemaLocation="referenceSystems.xsd"/> 
    18         <!-- ====================================================== 
    19        elements and types 
    20         ====================================================== --> 
    21         <element name="_Datum" type="gml:AbstractDatumType" abstract="true" substitutionGroup="gml:Definition"/> 
    22         <!-- =================================================== --> 
    23         <complexType name="AbstractDatumBaseType" abstract="true"> 
    24                 <annotation> 
    25                         <documentation>Basic encoding for datum objects, simplifying and restricting the DefinitionType as needed. </documentation> 
    26                 </annotation> 
    27                 <complexContent> 
    28                         <restriction base="gml:DefinitionType"> 
     19        <include schemaLocation="measures.xsd"/> 
     20        <element name="AbstractDatum" type="gml:AbstractDatumType" abstract="true" substitutionGroup="gml:Definition"> 
     21                <annotation> 
     22                        <documentation>A gml:AbstractDatum specifies the relationship of a coordinate system to the earth, thus creating a coordinate reference system. A datum uses a parameter or set of parameters that determine the location of the origin of the coordinate reference system. Each datum subtype may be associated with only specific types of coordinate systems. This abstract complex type shall not be used, extended, or restricted, in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.</documentation> 
     23                </annotation> 
     24        </element> 
     25        <complexType name="AbstractDatumType" abstract="true"> 
     26                <complexContent> 
     27                        <extension base="gml:IdentifiedObjectType"> 
     28                                <sequence> 
     29                                        <element ref="gml:domainOfValidity" minOccurs="0"/> 
     30                                        <element ref="gml:scope" maxOccurs="unbounded"/> 
     31                                        <element ref="gml:anchorDefinition" minOccurs="0"/> 
     32                                        <element ref="gml:realizationEpoch" minOccurs="0"/> 
     33                                </sequence> 
     34                        </extension> 
     35                </complexContent> 
     36        </complexType> 
     37        <element name="anchorDefinition" type="gml:CodeType"> 
     38                <annotation> 
     39                        <documentation>gml:anchorDefinition is a description, possibly including coordinates, of the definition used to anchor the datum to the Earth. Also known as the "origin", especially for engineering and image datums. The codeSpace attribute may be used to reference a source of more detailed on this point or surface, or on a set of such descriptions. 
     40-       For a geodetic datum, this point is also known as the fundamental point, which is traditionally the point where the relationship between geoid and ellipsoid is defined. In some cases, the "fundamental point" may consist of a number of points. In those cases, the parameters defining the geoid/ellipsoid relationship have been averaged for these points, and the averages adopted as the datum definition. 
     41-       For an engineering datum, the anchor definition may be a physical point, or it may be a point with defined coordinates in another CRS.may 
     42-       For an image datum, the anchor definition is usually either the centre of the image or the corner of the image. 
     43-       For a temporal datum, this attribute is not defined. Instead of the anchor definition, a temporal datum carries a separate time origin of type DateTime.</documentation> 
     44                </annotation> 
     45        </element> 
     46        <element name="realizationEpoch" type="date"> 
     47                <annotation> 
     48                        <documentation>gml:realizationEpoch is the time after which this datum definition is valid. See ISO 19111 Table 32 for details.</documentation> 
     49                </annotation> 
     50        </element> 
     51        <complexType name="DatumPropertyType"> 
     52                <annotation> 
     53                        <documentation>gml:DatumPropertyType is a property type for association roles to a datum, either referencing or containing the definition of that datum.</documentation> 
     54                </annotation> 
     55                <sequence minOccurs="0"> 
     56                        <element ref="gml:AbstractDatum"/> 
     57                </sequence> 
     58                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     59        </complexType> 
     60        <element name="GeodeticDatum" type="gml:GeodeticDatumType" substitutionGroup="gml:AbstractDatum"> 
     61                <annotation> 
     62                        <documentation>gml:GeodeticDatum is a geodetic datum defines the precise location and orientation in 3-dimensional space of a defined ellipsoid (or sphere), or of a Cartesian coordinate system centered in this ellipsoid (or sphere).</documentation> 
     63                </annotation> 
     64        </element> 
     65        <complexType name="GeodeticDatumType"> 
     66                <complexContent> 
     67                        <extension base="gml:AbstractDatumType"> 
     68                                <sequence> 
     69                                        <element ref="gml:primeMeridian"/> 
     70                                        <element ref="gml:ellipsoid"/> 
     71                                </sequence> 
     72                        </extension> 
     73                </complexContent> 
     74        </complexType> 
     75        <element name="primeMeridian" type="gml:PrimeMeridianPropertyType"> 
     76                <annotation> 
     77                        <documentation>gml:primeMeridian is an association role to the prime meridian used by this geodetic datum.</documentation> 
     78                </annotation> 
     79        </element> 
     80        <element name="ellipsoid" type="gml:EllipsoidPropertyType"> 
     81                <annotation> 
     82                        <documentation>gml:ellipsoid is an association role to the ellipsoid used by this geodetic datum.</documentation> 
     83                </annotation> 
     84        </element> 
     85        <complexType name="GeodeticDatumPropertyType"> 
     86                <annotation> 
     87                        <documentation>gml:GeodeticDatumPropertyType is a property type for association roles to a geodetic datum, either referencing or containing the definition of that datum.</documentation> 
     88                </annotation> 
     89                <sequence minOccurs="0"> 
     90                        <element ref="gml:GeodeticDatum"/> 
     91                </sequence> 
     92                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     93        </complexType> 
     94        <element name="Ellipsoid" type="gml:EllipsoidType" substitutionGroup="gml:Definition"> 
     95                <annotation> 
     96                        <documentation>A gml:Ellipsoid is a geometric figure that may be used to describe the approximate shape of the earth. In mathematical terms, it is a surface formed by the rotation of an ellipse about its minor axis.</documentation> 
     97                </annotation> 
     98        </element> 
     99        <complexType name="EllipsoidType"> 
     100                <complexContent> 
     101                        <extension base="gml:IdentifiedObjectType"> 
     102                                <sequence> 
     103                                        <element ref="gml:semiMajorAxis"/> 
     104                                        <element ref="gml:secondDefiningParameter"/> 
     105                                </sequence> 
     106                        </extension> 
     107                </complexContent> 
     108        </complexType> 
     109        <element name="semiMajorAxis" type="gml:MeasureType"> 
     110                <annotation> 
     111                        <documentation>gml:semiMajorAxis specifies the length of the semi-major axis of the ellipsoid, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a length, such as metres or feet.</documentation> 
     112                </annotation> 
     113        </element> 
     114        <element name="secondDefiningParameter"> 
     115                <annotation> 
     116                        <documentation>gml:secondDefiningParameter is a property containing the definition of the second parameter that defines the shape of an ellipsoid. An ellipsoid requires two defining parameters: semi-major axis and inverse flattening or semi-major axis and semi-minor axis. When the reference body is a sphere rather than an ellipsoid, only a single defining parameter is required, namely the radius of the sphere; in that case, the semi-major axis "degenerates" into the radius of the sphere. 
     117The inverseFlattening element contains the inverse flattening value of the ellipsoid. This value is a scale factor (or ratio). It uses gml:LengthType with the restriction that the unit of measure referenced by the uom attribute must be suitable for a scale factor, such as percent, permil, or parts-per-million. 
     118The semiMinorAxis element contains the length of the semi-minor axis of the ellipsoid. When the isSphere element is included, the ellipsoid is degenerate and is actually a sphere. The sphere is completely defined by the semi-major axis, which is the radius of the sphere.</documentation> 
     119                </annotation> 
     120                <complexType> 
     121                        <sequence> 
     122                                <element ref="gml:SecondDefiningParameter"/> 
     123                        </sequence> 
     124                </complexType> 
     125        </element> 
     126        <element name="SecondDefiningParameter"> 
     127                <complexType> 
     128                        <choice> 
     129                                <element name="inverseFlattening" type="gml:MeasureType"/> 
     130                                <element name="semiMinorAxis" type="gml:LengthType"/> 
     131                                <element name="isSphere" type="boolean" default="true"/> 
     132                        </choice> 
     133                </complexType> 
     134        </element> 
     135        <complexType name="EllipsoidPropertyType"> 
     136                <annotation> 
     137                        <documentation>gml:EllipsoidPropertyType is a property type for association roles to an ellipsoid, either referencing or containing the definition of that ellipsoid.</documentation> 
     138                </annotation> 
     139                <sequence minOccurs="0"> 
     140                        <element ref="gml:Ellipsoid"/> 
     141                </sequence> 
     142                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     143        </complexType> 
     144        <element name="PrimeMeridian" type="gml:PrimeMeridianType" substitutionGroup="gml:Definition"> 
     145                <annotation> 
     146                        <documentation>A gml:PrimeMeridian defines the origin from which longitude values are determined. The default value for the prime meridian gml:identifier value is "Greenwich".</documentation> 
     147                </annotation> 
     148        </element> 
     149        <complexType name="PrimeMeridianType"> 
     150                <complexContent> 
     151                        <extension base="gml:IdentifiedObjectType"> 
     152                                <sequence> 
     153                                        <element ref="gml:greenwichLongitude"/> 
     154                                </sequence> 
     155                        </extension> 
     156                </complexContent> 
     157        </complexType> 
     158        <element name="greenwichLongitude" type="gml:AngleType"> 
     159                <annotation> 
     160                        <documentation>gml:greenwichLongitude is the longitude of the prime meridian measured from the Greenwich meridian, positive eastward. If the value of the prime meridian "name" is "Greenwich" then the value of greenwichLongitude shall be 0 degrees.</documentation> 
     161                </annotation> 
     162        </element> 
     163        <complexType name="PrimeMeridianPropertyType"> 
     164                <annotation> 
     165                        <documentation>gml:PrimeMeridianPropertyType is a property type for association roles to a prime meridian, either referencing or containing the definition of that meridian.</documentation> 
     166                </annotation> 
     167                <sequence minOccurs="0"> 
     168                        <element ref="gml:PrimeMeridian"/> 
     169                </sequence> 
     170                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     171        </complexType> 
     172        <element name="EngineeringDatum" type="gml:EngineeringDatumType" substitutionGroup="gml:AbstractDatum"> 
     173                <annotation> 
     174                        <documentation>gml:EngineeringDatum defines the origin of an engineering coordinate reference system, and is used in a region around that origin. This origin may be fixed with respect to the earth (such as a defined point at a construction site), or be a defined point on a moving vehicle (such as on a ship or satellite).</documentation> 
     175                </annotation> 
     176        </element> 
     177        <complexType name="EngineeringDatumType"> 
     178                <complexContent> 
     179                        <extension base="gml:AbstractDatumType"/> 
     180                </complexContent> 
     181        </complexType> 
     182        <complexType name="EngineeringDatumPropertyType"> 
     183                <annotation> 
     184                        <documentation>gml:EngineeringDatumPropertyType is a property type for association roles to an engineering datum, either referencing or containing the definition of that datum.</documentation> 
     185                </annotation> 
     186                <sequence minOccurs="0"> 
     187                        <element ref="gml:EngineeringDatum"/> 
     188                </sequence> 
     189                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     190        </complexType> 
     191        <element name="ImageDatum" type="gml:ImageDatumType" substitutionGroup="gml:AbstractDatum"> 
     192                <annotation> 
     193                        <documentation>gml:ImageDatum defines the origin of an image coordinate reference system, and is used in a local context only. For an image datum, the anchor definition is usually either the centre of the image or the corner of the image. For more information, see ISO 19111 B.3.5.</documentation> 
     194                </annotation> 
     195        </element> 
     196        <complexType name="ImageDatumType"> 
     197                <complexContent> 
     198                        <extension base="gml:AbstractDatumType"> 
     199                                <sequence> 
     200                                        <element ref="gml:pixelInCell"/> 
     201                                </sequence> 
     202                        </extension> 
     203                </complexContent> 
     204        </complexType> 
     205        <element name="pixelInCell" type="gml:CodeWithAuthorityType"> 
     206                <annotation> 
     207                        <documentation>gml:pixelInCell is a specification of the way an image grid is associated with the image data attributes. The required codeSpace attribute shall reference a source of information specifying the values and meanings of all the allowed string values for this property.</documentation> 
     208                </annotation> 
     209        </element> 
     210        <complexType name="ImageDatumPropertyType"> 
     211                <annotation> 
     212                        <documentation>gml:ImageDatumPropertyType is a property type for association roles to an image datum, either referencing or containing the definition of that datum.</documentation> 
     213                </annotation> 
     214                <sequence minOccurs="0"> 
     215                        <element ref="gml:ImageDatum"/> 
     216                </sequence> 
     217                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     218        </complexType> 
     219        <element name="VerticalDatum" type="gml:VerticalDatumType" substitutionGroup="gml:AbstractDatum"> 
     220                <annotation> 
     221                        <documentation>gml:VerticalDatum is a textual description and/or a set of parameters identifying a particular reference level surface used as a zero-height surface, including its position with respect to the Earth for any of the height types recognized by this International Standard.</documentation> 
     222                </annotation> 
     223        </element> 
     224        <complexType name="VerticalDatumType"> 
     225                <complexContent> 
     226                        <extension base="gml:AbstractDatumType"/> 
     227                </complexContent> 
     228        </complexType> 
     229        <complexType name="VerticalDatumPropertyType"> 
     230                <annotation> 
     231                        <documentation>gml:VerticalDatumPropertyType is property type for association roles to a vertical datum, either referencing or containing the definition of that datum.</documentation> 
     232                </annotation> 
     233                <sequence minOccurs="0"> 
     234                        <element ref="gml:VerticalDatum"/> 
     235                </sequence> 
     236                <attributeGroup ref="gml:AssociationAttributeGroup"/> 
     237        </complexType> 
     238        <element name="TemporalDatum" type="gml:TemporalDatumType" substitutionGroup="gml:AbstractDatum"> 
     239                <annotation> 
     240                        <documentation>A gml:TemporalDatum defines the origin of a Temporal Reference System. This type omits the "anchorDefinition" and "realizationEpoch" elements and adds the "origin" element with the dateTime type.</documentation> 
     241                </annotation> 
     242        </element> 
     243        <complexType name="TemporalDatumType"> 
     244                <complexContent> 
     245                        <extension base="gml:TemporalDatumBaseType"> 
     246                                <sequence> 
     247                                        <element ref="gml:origin"/> 
     248                                </sequence> 
     249                        </extension> 
     250                </complexContent> 
     251        </complexType> 
     252        <complexType name="TemporalDatumBaseType" abstract="true"> 
     253                <annotation> 
     254                        <documentation>The TemporalDatumBaseType partially defines the origin of a temporal coordinate reference system. This type restricts the AbstractDatumType to remove the "anchorDefinition" and "realizationEpoch" elements.</documentation> 
     255                </annotation> 
     256                <complexContent> 
     257                        <restriction base="gml:AbstractDatumType"> 
    29258                                <sequence> 
    30259                                        <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 
    31                                         <element ref="gml:datumName"/> 
     260                                        <element ref="gml:description" minOccurs="0"/> 
     261                                        <element ref="gml:descriptionReference" minOccurs="0"/> 
     262                                        <element ref="gml:identifier"/> 
     263                                        <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> 
     264                                        <element ref="gml:remarks" minOccurs="0"/>