Changeset 1984 for TI02-CSML/trunk


Ignore:
Timestamp:
09/01/07 16:21:39 (13 years ago)
Author:
awoolf
Message:

Added root CSMLFeatureCollection element (as per updated UML model, and compliant with GML rules). Also, added identity to SpatialOrTemporalPositionList? by extending gml:AbstractGMLType - allows by-reference for value coordAxisValues in ReferenceableGrid?. Finally, cleaned up certain property types which incorrectly allowed the by-reference pattern (disallowed under GML 3.2, E.2.4.5 for <<DataType?>>s).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/csml/XMLSchemas/csmlMain.xsd

    r1963 r1984  
    11<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Andrew Woolf (CCLRC) --> 
    2 <schema targetNamespace="http://ndg.nerc.ac.uk/csml" xmlns:csml="http://ndg.nerc.ac.uk/csml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:swe="http://www.opengis.net/swe" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.9"> 
     2<schema targetNamespace="http://ndg.nerc.ac.uk/csml" xmlns:swe="http://www.opengis.net/swe" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:csml="http://ndg.nerc.ac.uk/csml" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.9"> 
    33        <annotation> 
    44                <documentation>Main CSML schema file - includes domain geometries, coverage classes, feature types etc.</documentation> 
     
    77        <import namespace="http://www.opengis.net/swe" schemaLocation="sweCommon/phenomenon.xsd"/> 
    88        <!--====================================================================== --> 
     9        <!--==== CSML 'dataset' types ====--> 
     10        <!--====================================================================== --> 
     11        <!--====================================================================== --> 
     12        <complexType name="CSMLFeatureCollectionType"> 
     13                <annotation> 
     14                        <documentation>This is the base type or a CSML Feature Collection (ref GML 3.2, sections 9.1.10.1 and 22.3.3).</documentation> 
     15                </annotation> 
     16                <sequence> 
     17                        <element name="crsDictionary" minOccurs="0"> 
     18                                <complexType> 
     19                                        <sequence> 
     20                                                <element ref="gml:Dictionary"/> 
     21                                        </sequence> 
     22                                </complexType> 
     23                        </element> 
     24                        <element name="uomDictionary" minOccurs="0"> 
     25                                <complexType> 
     26                                        <sequence> 
     27                                                <element ref="gml:Dictionary"/> 
     28                                        </sequence> 
     29                                </complexType> 
     30                        </element> 
     31                        <element name="featureMember" minOccurs="0" maxOccurs="unbounded"> 
     32                                <complexType> 
     33                                        <complexContent> 
     34                                                <extension base="gml:AbstractFeatureMemberType"> 
     35                                                        <sequence> 
     36                                                                <element ref="gml:AbstractFeature"/> 
     37                                                        </sequence> 
     38                                                </extension> 
     39                                        </complexContent> 
     40                                </complexType> 
     41                        </element> 
     42                </sequence> 
     43                <attributeGroup ref="gml:AggregationAttributeGroup"/> 
     44        </complexType> 
     45        <element name="CSMLFeatureCollection" type="csml:CSMLFeatureCollectionType"/> 
     46        <!--====================================================================== --> 
     47        <!--====================================================================== --> 
    948        <!--==== Utility types ====--> 
    10         <!--====================================================================== --> 
    1149        <!--====================================================================== --> 
    1250        <!--====================================================================== --> 
     
    1755        </annotation> 
    1856        <simpleType name="TimeValueList"> 
     57                <annotation> 
     58                        <documentation>Provides a list of GML's TimePositionUnion (see GML 3.2, sect 15.2.2.7)</documentation> 
     59                </annotation> 
    1960                <list itemType="gml:TimePositionUnion"/> 
    2061        </simpleType> 
    2162        <complexType name="TimePositionListType"> 
     63                <annotation> 
     64                        <documentation>By direct analogy with gml:TimePositionType, adds attributes to csml:TimeValueList to support multiple time coordinate systems (see GML 3.2, sect 15.2.2.7).</documentation> 
     65                </annotation> 
    2266                <simpleContent> 
    2367                        <extension base="csml:TimeValueList"> 
     
    2872                </simpleContent> 
    2973        </complexType> 
    30         <element name="timePositionList" type="csml:TimePositionListType"/> 
     74        <element name="timePositionList" type="csml:TimePositionListType"> 
     75                <annotation> 
     76                        <documentation>By direct analogy with gml:timePosition, creates a list version of the same (see GML 3.2, sect 15.2.2.7).</documentation> 
     77                </annotation> 
     78        </element> 
    3179        <!--====================================================================== --> 
    3280        <complexType name="SpatialOrTemporalPositionListType"> 
    3381                <annotation> 
    34                         <documentation>SpatialOrTemporalPositionList allows efficient lists of either spatial or temporal positions.</documentation> 
    35                 </annotation> 
    36                 <choice> 
    37                         <element name="coordinateList"> 
    38                                 <simpleType> 
    39                                         <list itemType="double"/> 
    40                                 </simpleType> 
    41                         </element> 
    42                         <element ref="csml:timePositionList"/> 
    43                 </choice> 
     82                        <documentation>SpatialOrTemporalPositionList allows efficient lists of either spatial or temporal positions. This extends gml:AbstractGMLType in order to have identity and a by-reference property type; the implication is that it should be modelled in UML as a 'Type' rather than 'Union' or 'DataType' (see GML 3.2, sect E.2.4).</documentation> 
     83                </annotation> 
     84                <complexContent> 
     85                        <extension base="gml:AbstractGMLType"> 
     86                                <choice> 
     87                                        <element name="coordinateList"> 
     88                                                <simpleType> 
     89                                                        <list itemType="double"/> 
     90                                                </simpleType> 
     91                                        </element> 
     92                                        <element ref="csml:timePositionList"/> 
     93                                </choice> 
     94                        </extension> 
     95                </complexContent> 
    4496        </complexType> 
    4597        <element name="SpatialOrTemporalPositionList" type="csml:SpatialOrTemporalPositionListType" substitutionGroup="gml:AbstractGML"/> 
     
    69121                </sequence> 
    70122                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
    71                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    72123        </complexType> 
    73124        <!--====================================================================== --> 
     
    87138                </sequence> 
    88139                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
    89                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    90140        </complexType> 
    91141        <!--====================================================================== --> 
     
    105155                </sequence> 
    106156                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
    107                 <attributeGroup ref="gml:AssociationAttributeGroup"/> 
    108157        </complexType> 
    109158        <!--====================================================================== --> 
Note: See TracChangeset for help on using the changeset viewer.