Changeset 1733 for TI02-CSML/branches


Ignore:
Timestamp:
22/11/06 09:22:21 (13 years ago)
Author:
awoolf
Message:

Sanity check of schemas with minor corrections, mods to UML.

Location:
TI02-CSML/branches/CSML2/XMLSchemas
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/branches/CSML2/XMLSchemas/csmlMain.xsd

    r1710 r1733  
    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: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"> 
     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"> 
    33        <annotation> 
    44                <documentation>Main CSML schema file - includes domain geometries, coverage classes, feature types etc.</documentation> 
     
    175175                        <extension base="gml:AbstractFeatureType"> 
    176176                                <sequence> 
    177                                         <element name="time" type="gml:TimeInstantPropertyType"/> 
     177                                        <element name="time" type="gml:TimePositionType"/> 
    178178                                        <element name="value" type="csml:ReferenceableGridCoveragePropertyType"/> 
    179179                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     
    205205        <complexType name="GridSeriesDomainType"> 
    206206                <annotation> 
    207                         <documentation>The SC_CRS to which this is referenced (via the inherited gml:SRSReferenceGroup attributeGroup) should be a csml:SpatioTemporalCRS of srsDimension 3 or 4. In addition, one of the GridOrdinateDescription objects must have a timePositonList. Finally, the grid dimension should be 3 or 4. These constraints could perhaps be implemented by deriving by restriction from ReferenceableGridType and applying facets to the attributes (?), or perhaps using schematron. For now, leave it unenforced but understood....</documentation> 
     207                        <documentation>The SC_CRS to which this is referenced (via the inherited gml:SRSReferenceGroup attributeGroup) should be a csml:SpatioTemporalCRS of srsDimension 3 or 4. In addition, one of the GridOrdinateDescription objects must have a timePositionList. Finally, the grid dimension should be 3 or 4. These constraints could perhaps be implemented by deriving by restriction from ReferenceableGridType and applying facets to the attributes (?), or perhaps using schematron. For now, leave it unenforced but understood....</documentation> 
    208208                </annotation> 
    209209                <complexContent> 
    210210                        <restriction base="csml:ReferenceableGridType"> 
    211211                                <sequence> 
    212                                         <sequence> 
    213                                                 <group ref="gml:StandardObjectProperties"/> 
    214                                         </sequence> 
    215                                         <sequence> 
    216                                                 <element name="limits" type="gml:GridLimitsType"/> 
    217                                                 <choice> 
    218                                                         <element name="axisLabels" type="gml:NCNameList"/> 
    219                                                         <element name="axisName" type="string" maxOccurs="unbounded"/> 
    220                                                 </choice> 
    221                                         </sequence> 
    222                                         <sequence> 
    223                                                 <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    224                                         </sequence> 
     212                                        <group ref="gml:StandardObjectProperties"/> 
     213                                        <element name="limits" type="gml:GridLimitsType"/> 
     214                                        <choice> 
     215                                                <element name="axisLabels" type="gml:NCNameList"/> 
     216                                                <element name="axisName" type="string" maxOccurs="unbounded"/> 
     217                                        </choice> 
     218                                        <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    225219                                </sequence> 
    226220                        </restriction> 
     
    292286                        <extension base="gml:AbstractFeatureType"> 
    293287                                <sequence> 
    294                                         <element name="time" type="gml:TimeInstantPropertyType"/> 
     288                                        <element name="time" type="gml:TimePositionType" minOccurs="0"/> 
    295289                                        <element name="value"> 
    296290                                                <complexType> 
     
    300294                                                </complexType> 
    301295                                        </element> 
     296                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
    302297                                </sequence> 
    303298                        </extension> 
     
    369364                        <extension base="gml:AbstractFeatureType"> 
    370365                                <sequence> 
    371                                         <element name="location" type="gml:PointPropertyType"/> 
    372                                         <element name="time" type="gml:TimeInstantPropertyType" minOccurs="0"/> 
     366                                        <element name="location" type="gml:DirectPositionType"/> 
     367                                        <element name="time" type="gml:TimePositionType" minOccurs="0"/> 
    373368                                        <element name="value" type="csml:PointCoveragePropertyType"/> 
    374369                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     
    405400                                        <group ref="gml:StandardObjectProperties"/> 
    406401                                        <element ref="gml:boundedBy" minOccurs="0"/> 
    407                                         <element ref="gml:location" minOccurs="0"/> 
    408402                                        <element ref="csml:alternatePointDomain"/> 
    409403                                        <element ref="gml:rangeSet"/> 
     
    418412                        <element ref="csml:AlternatePointCoverage"/> 
    419413                </sequence> 
     414                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
    420415        </complexType> 
    421416        <!--====================================================================== --> 
     
    447442                        <extension base="gml:AbstractTimeComplexType"> 
    448443                                <sequence> 
    449                                         <element ref="csml:timePositionList"/> 
     444                                        <element name="time" type="csml:TimePositionListType"/> 
    450445                                </sequence> 
    451446                        </extension> 
     
    477472                                        <group ref="gml:StandardObjectProperties"/> 
    478473                                        <element ref="gml:boundedBy" minOccurs="0"/> 
    479                                         <element ref="gml:location" minOccurs="0"/> 
    480474                                        <element ref="csml:pointSeriesDomain"/> 
    481475                                        <element ref="gml:rangeSet"/> 
     
    497491                        <extension base="gml:AbstractFeatureType"> 
    498492                                <sequence> 
    499                                         <element name="location" type="gml:PointPropertyType" minOccurs="0"/> 
     493                                        <element name="location" type="gml:DirectPositionType" minOccurs="0"/> 
    500494                                        <element name="value" type="csml:PointSeriesCoveragePropertyType"/> 
    501495                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     
    578572                        <extension base="gml:AbstractFeatureType"> 
    579573                                <sequence> 
    580                                         <element name="location" type="gml:PointPropertyType" minOccurs="0"/> 
    581                                         <element name="time" type="gml:TimeInstantPropertyType" minOccurs="0"/> 
     574                                        <element name="location" type="gml:DirectPositionType" minOccurs="0"/> 
     575                                        <element name="time" type="gml:TimePositionType" minOccurs="0"/> 
    582576                                        <element name="value" type="csml:ProfileCoveragePropertyType"/> 
    583577                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     
    601595                        <restriction base="csml:ReferenceableGridType"> 
    602596                                <sequence> 
    603                                         <sequence> 
    604                                                 <group ref="gml:StandardObjectProperties"/> 
    605                                         </sequence> 
    606                                         <sequence> 
    607                                                 <element name="limits" type="gml:GridLimitsType"/> 
    608                                                 <choice> 
    609                                                         <element name="axisLabels" type="gml:NCNameList"/> 
    610                                                         <element name="axisName" type="string" maxOccurs="unbounded"/> 
    611                                                 </choice> 
    612                                         </sequence> 
    613                                         <sequence> 
    614                                                 <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    615                                         </sequence> 
     597                                        <group ref="gml:StandardObjectProperties"/> 
     598                                        <element name="limits" type="gml:GridLimitsType"/> 
     599                                        <choice> 
     600                                                <element name="axisLabels" type="gml:NCNameList"/> 
     601                                                <element name="axisName" type="string" maxOccurs="unbounded"/> 
     602                                        </choice> 
     603                                        <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    616604                                </sequence> 
    617605                                <attribute name="srsDimension" fixed="2"/> 
     
    664652                        <extension base="gml:AbstractFeatureType"> 
    665653                                <sequence> 
    666                                         <element name="location" type="gml:PointPropertyType" minOccurs="0"/> 
     654                                        <element name="location" type="gml:DirectPositionType" minOccurs="0"/> 
    667655                                        <element name="value" type="csml:ProfileSeriesCoveragePropertyType"/> 
    668656                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     
    686674                        <extension base="gml:AbstractFeatureType"> 
    687675                                <sequence> 
    688                                         <element name="location" type="gml:PointPropertyType" minOccurs="0"/> 
     676                                        <element name="location" type="gml:DirectPositionType" minOccurs="0"/> 
    689677                                        <element name="profileLength"> 
    690678                                                <simpleType> 
     
    713701                        <extension base="gml:AbstractFeatureType"> 
    714702                                <sequence> 
    715                                         <group ref="gml:geometricPositionListGroup"/> 
    716                                         <element ref="csml:timePositionList"/> 
     703                                        <element name="stationLocations" type="gml:DirectPositionListType"/> 
     704                                        <element name="stationTimes" type="csml:TimePositionListType"/> 
    717705                                        <element name="profileLength"> 
    718706                                                <simpleType> 
     
    793781                        <restriction base="csml:ReferenceableGridType"> 
    794782                                <sequence> 
    795                                         <sequence> 
    796                                                 <group ref="gml:StandardObjectProperties"/> 
    797                                         </sequence> 
    798                                         <sequence> 
    799                                                 <element name="limits" type="gml:GridLimitsType"/> 
    800                                                 <choice> 
    801                                                         <element name="axisLabels" type="gml:NCNameList"/> 
    802                                                         <element name="axisName" type="string" maxOccurs="unbounded"/> 
    803                                                 </choice> 
    804                                         </sequence> 
    805                                         <sequence> 
    806                                                 <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    807                                         </sequence> 
     783                                        <group ref="gml:StandardObjectProperties"/> 
     784                                        <element name="limits" type="gml:GridLimitsType"/> 
     785                                        <choice> 
     786                                                <element name="axisLabels" type="gml:NCNameList"/> 
     787                                                <element name="axisName" type="string" maxOccurs="unbounded"/> 
     788                                        </choice> 
     789                                        <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    808790                                </sequence> 
    809791                                <attribute name="dimension" fixed="2"/> 
     
    856838                        <extension base="gml:AbstractFeatureType"> 
    857839                                <sequence> 
    858                                         <element name="elevation" type="gml:AngleType"/> 
     840                                        <element name="elevation" type="gml:AngleType" minOccurs="0"/> 
    859841                                        <element name="value" type="csml:ScanningRadarCoveragePropertyType"/> 
    860842                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     
    863845                </complexContent> 
    864846        </complexType> 
     847        <element name="ScanningRadarFeature" type="csml:ScanningRadarFeatureType" substitutionGroup="gml:AbstractFeature"/> 
     848        <complexType name="ScanningRadarFeaturePropertyType"> 
     849                <sequence> 
     850                        <element ref="csml:ScanningRadarFeature"/> 
     851                </sequence> 
     852        </complexType> 
    865853        <!--====================================================================== --> 
    866854        <!--====================================================================== --> 
     
    871859                        <restriction base="csml:ReferenceableGridType"> 
    872860                                <sequence> 
    873                                         <sequence> 
    874                                                 <group ref="gml:StandardObjectProperties"/> 
    875                                         </sequence> 
    876                                         <sequence> 
    877                                                 <element name="limits" type="gml:GridLimitsType"/> 
    878                                                 <choice> 
    879                                                         <element name="axisLabels" type="gml:NCNameList"/> 
    880                                                         <element name="axisName" type="string" maxOccurs="unbounded"/> 
    881                                                 </choice> 
    882                                         </sequence> 
    883                                         <sequence> 
    884                                                 <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    885                                         </sequence> 
     861                                        <group ref="gml:StandardObjectProperties"/> 
     862                                        <element name="limits" type="gml:GridLimitsType"/> 
     863                                        <choice> 
     864                                                <element name="axisLabels" type="gml:NCNameList"/> 
     865                                                <element name="axisName" type="string" maxOccurs="unbounded"/> 
     866                                        </choice> 
     867                                        <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    886868                                </sequence> 
    887869                                <attribute name="dimension" fixed="2"/> 
     
    934916                        <extension base="gml:AbstractFeatureType"> 
    935917                                <sequence> 
    936                                         <group ref="gml:geometricPositionListGroup"/> 
    937                                         <element ref="csml:timePositionList"/> 
     918                                        <element name="stationLocations" type="gml:DirectPositionListType"/> 
     919                                        <element name="stationTimes" type="csml:TimePositionListType"/> 
    938920                                        <element name="value" type="csml:SectionCoveragePropertyType"/> 
    939921                                        <element name="parameter" type="swe:PhenomenonPropertyType"/> 
     
    980962                        <restriction base="csml:ReferenceableGridType"> 
    981963                                <sequence> 
    982                                         <sequence> 
    983                                                 <group ref="gml:StandardObjectProperties"/> 
    984                                         </sequence> 
    985                                         <sequence> 
    986                                                 <element name="limits" type="gml:GridLimitsType"/> 
    987                                                 <choice> 
    988                                                         <element name="axisLabels" type="gml:NCNameList"/> 
    989                                                         <element name="axisName" type="string" maxOccurs="unbounded"/> 
    990                                                 </choice> 
    991                                         </sequence> 
    992                                         <sequence> 
    993                                                 <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    994                                         </sequence> 
     964                                        <group ref="gml:StandardObjectProperties"/> 
     965                                        <element name="limits" type="gml:GridLimitsType"/> 
     966                                        <choice> 
     967                                                <element name="axisLabels" type="gml:NCNameList"/> 
     968                                                <element name="axisName" type="string" maxOccurs="unbounded"/> 
     969                                        </choice> 
     970                                        <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/> 
    995971                                </sequence> 
    996972                                <attribute name="dimension" fixed="1"/> 
     
    1023999                                        <group ref="gml:StandardObjectProperties"/> 
    10241000                                        <element ref="gml:boundedBy" minOccurs="0"/> 
    1025                                         <element ref="gml:location" minOccurs="0"/> 
    10261001                                        <element ref="csml:trajectoryDomain"/> 
    10271002                                        <element ref="gml:rangeSet"/> 
     
    10541029                        <element ref="csml:TrajectoryFeature"/> 
    10551030                </sequence> 
     1031                <attributeGroup ref="gml:OwnershipAttributeGroup"/> 
    10561032        </complexType> 
    10571033        <!--====================================================================== --> 
  • TI02-CSML/branches/CSML2/XMLSchemas/csmlStorageDescriptor.xsd

    r1693 r1733  
    1212        <!--====================================================================== --> 
    1313        <!--====================================================================== --> 
    14         <complexType name="AbstractArrayDescriptorType" abstract="true"> 
     14        <complexType name="ArrayDescriptorType" abstract="true"> 
    1515                <annotation> 
    1616                        <documentation>An abstract type for prescribing an array of numeric values as an indirect realisation of numeric content.</documentation> 
     
    3333                                </simpleType> 
    3434                        </element> 
    35                         <sequence> 
    36                                 <element name="regExpTransform" type="string" minOccurs="0"/> 
    37                                 <element name="numericTransform" type="string" minOccurs="0"/> 
    38                         </sequence> 
    39                 </sequence> 
    40         </complexType> 
    41         <element name="_ArrayDescriptor" type="csml:AbstractArrayDescriptorType" abstract="true" substitutionGroup="gml:ValueArray"/> 
    42         <complexType name="AbstractArrayDescriptorPropertyType"> 
    43                 <sequence> 
    44                         <element ref="csml:_ArrayDescriptor"/> 
    45                 </sequence> 
    46         </complexType> 
    47         <!--====================================================================== --> 
    48         <element name="AggregatedArray" type="csml:AggregatedArrayType" substitutionGroup="csml:_ArrayDescriptor"/> 
     35                        <element name="regExpTransform" type="string" minOccurs="0"/> 
     36                        <element name="numericTransform" type="string" minOccurs="0"/> 
     37                </sequence> 
     38                <attribute name="id" type="ID"/> 
     39        </complexType> 
     40        <element name="ArrayDescriptor" type="csml:ArrayDescriptorType" abstract="true" substitutionGroup="gml:ValueArray"/> 
     41        <complexType name="ArrayDescriptorPropertyType"> 
     42                <sequence> 
     43                        <element ref="csml:ArrayDescriptor"/> 
     44                </sequence> 
     45        </complexType> 
     46        <!--====================================================================== --> 
    4947        <complexType name="AggregatedArrayType"> 
    5048                <annotation> 
     
    5250                </annotation> 
    5351                <complexContent> 
    54                         <extension base="csml:AbstractArrayDescriptorType"> 
     52                        <extension base="csml:ArrayDescriptorType"> 
    5553                                <sequence> 
    5654                                        <element name="aggType"> 
     
    6361                                        </element> 
    6462                                        <element name="aggIndex" type="int"/> 
    65                                         <element name="component" type="csml:AbstractArrayDescriptorPropertyType" maxOccurs="unbounded"/> 
    66                                 </sequence> 
    67                         </extension> 
    68                 </complexContent> 
    69         </complexType> 
    70         <!--====================================================================== --> 
    71         <element name="InlineArray" type="csml:InlineArrayType" substitutionGroup="csml:_ArrayDescriptor"/> 
     63                                        <element name="component" type="csml:ArrayDescriptorPropertyType" maxOccurs="unbounded"/> 
     64                                </sequence> 
     65                        </extension> 
     66                </complexContent> 
     67        </complexType> 
     68        <element name="AggregatedArray" type="csml:AggregatedArrayType" substitutionGroup="csml:ArrayDescriptor"/> 
     69        <complexType name="AggregatedArrayPropertyType"> 
     70                <sequence> 
     71                        <element ref="csml:AggregatedArray"/> 
     72                </sequence> 
     73        </complexType> 
     74        <!--====================================================================== --> 
    7275        <complexType name="InlineArrayType"> 
    7376                <annotation> 
     
    7578                </annotation> 
    7679                <complexContent> 
    77                         <extension base="csml:AbstractArrayDescriptorType"> 
    78                                 <sequence> 
    79                                         <element name="values" type="gml:doubleOrNilReasonList"/> 
    80                                 </sequence> 
    81                         </extension> 
    82                 </complexContent> 
    83         </complexType> 
    84         <!--====================================================================== --> 
    85         <element name="ArrayGenerator" type="csml:ArrayGeneratorType" substitutionGroup="csml:_ArrayDescriptor"/> 
     80                        <extension base="csml:ArrayDescriptorType"> 
     81                                <sequence> 
     82                                        <element name="values"> 
     83                                                <simpleType> 
     84                                                        <list itemType="anySimpleType"/> 
     85                                                </simpleType> 
     86                                        </element> 
     87                                </sequence> 
     88                        </extension> 
     89                </complexContent> 
     90        </complexType> 
     91        <element name="InlineArray" type="csml:InlineArrayType" substitutionGroup="csml:ArrayDescriptor"/> 
     92        <complexType name="InlineArrayPropertyType"> 
     93                <sequence> 
     94                        <element ref="csml:InlineArray"/> 
     95                </sequence> 
     96        </complexType> 
     97        <!--====================================================================== --> 
    8698        <complexType name="ArrayGeneratorType"> 
    8799                <complexContent> 
    88                         <extension base="csml:AbstractArrayDescriptorType"> 
     100                        <extension base="csml:ArrayDescriptorType"> 
    89101                                <sequence> 
    90102                                        <element name="expression" type="string"/> 
     
    93105                </complexContent> 
    94106        </complexType> 
    95         <!--====================================================================== --> 
    96         <element name="_FileExtract" type="csml:AbstractFileExtractType" abstract="true" substitutionGroup="csml:_ArrayDescriptor"/> 
    97         <complexType name="AbstractFileExtractType" abstract="true"> 
    98                 <complexContent> 
    99                         <extension base="csml:AbstractArrayDescriptorType"> 
    100                                 <sequence> 
    101                                         <element name="fileName" type="string"/> 
    102                                 </sequence> 
    103                         </extension> 
    104                 </complexContent> 
    105         </complexType> 
    106         <!--====================================================================== --> 
    107         <element name="NASAAmesExtract" type="csml:NASAAmesExtractType" substitutionGroup="csml:_FileExtract"/> 
     107        <element name="ArrayGenerator" type="csml:ArrayGeneratorType" substitutionGroup="csml:ArrayDescriptor"/> 
     108        <complexType name="ArrayGeneratorPropertyType"> 
     109                <sequence> 
     110                        <element ref="csml:ArrayGenerator"/> 
     111                </sequence> 
     112        </complexType> 
     113        <!--====================================================================== --> 
     114        <complexType name="FileExtractType" abstract="true"> 
     115                <complexContent> 
     116                        <extension base="csml:ArrayDescriptorType"> 
     117                                <sequence> 
     118                                        <element name="fileName" type="anyURI"/> 
     119                                </sequence> 
     120                        </extension> 
     121                </complexContent> 
     122        </complexType> 
     123        <element name="FileExtract" type="csml:FileExtractType" abstract="true" substitutionGroup="csml:ArrayDescriptor"/> 
     124        <!--====================================================================== --> 
    108125        <complexType name="NASAAmesExtractType"> 
    109126                <complexContent> 
    110                         <extension base="csml:AbstractFileExtractType"> 
     127                        <extension base="csml:FileExtractType"> 
    111128                                <sequence> 
    112129                                        <element name="variableName" type="string"/> 
     
    116133                </complexContent> 
    117134        </complexType> 
    118         <!--====================================================================== --> 
    119         <element name="NetCDFExtract" type="csml:NetCDFExtractType" substitutionGroup="csml:_FileExtract"/> 
     135        <element name="NASAAmesExtract" type="csml:NASAAmesExtractType" substitutionGroup="csml:FileExtract"/> 
     136        <complexType name="NASAAmesExtractPropertyType"> 
     137                <sequence> 
     138                        <element ref="csml:NASAAmesExtract"/> 
     139                </sequence> 
     140        </complexType> 
     141        <!--====================================================================== --> 
    120142        <complexType name="NetCDFExtractType"> 
    121143                <complexContent> 
    122                         <extension base="csml:AbstractFileExtractType"> 
     144                        <extension base="csml:FileExtractType"> 
    123145                                <sequence> 
    124146                                        <element name="variableName" type="string"/> 
     
    127149                </complexContent> 
    128150        </complexType> 
    129         <!--====================================================================== --> 
    130         <element name="GRIBExtract" type="csml:GRIBExtractType" substitutionGroup="csml:_FileExtract"/> 
     151        <element name="NetCDFExtract" type="csml:NetCDFExtractType" substitutionGroup="csml:FileExtract"/> 
     152        <complexType name="NetCDFExtractPropertyType"> 
     153                <sequence> 
     154                        <element ref="csml:NetCDFExtract"/> 
     155                </sequence> 
     156        </complexType> 
     157        <!--====================================================================== --> 
    131158        <complexType name="GRIBExtractType"> 
    132159                <complexContent> 
    133                         <extension base="csml:AbstractFileExtractType"> 
     160                        <extension base="csml:FileExtractType"> 
    134161                                <sequence> 
    135162                                        <element name="parameterCode" type="int"/> 
     
    141168                </complexContent> 
    142169        </complexType> 
    143         <!--====================================================================== --> 
    144         <!--====================================================================== --> 
    145         <!--====================================================================== --> 
     170        <element name="GRIBExtract" type="csml:GRIBExtractType" substitutionGroup="csml:FileExtract"/> 
     171        <complexType name="GRIBExtractPropertyType"> 
     172                <sequence> 
     173                        <element ref="csml:GRIBExtract"/> 
     174                </sequence> 
     175        </complexType> 
     176        <!--====================================================================== --> 
     177        <complexType name="CDMLExtractType"> 
     178                <complexContent> 
     179                        <extension base="csml:NetCDFExtractType"/> 
     180                </complexContent> 
     181        </complexType> 
     182        <element name="CDMLExtract" substitutionGroup="csml:NetCDFExtract"/> 
     183        <complexType name="CDMLExtractPropertyType"> 
     184                <sequence> 
     185                        <element ref="csml:CDMLExtract"/> 
     186                </sequence> 
     187        </complexType> 
     188        <!--====================================================================== --> 
     189        <complexType name="RawFileExtractType"> 
     190                <complexContent> 
     191                        <extension base="csml:FileExtractType"> 
     192                                <sequence> 
     193                                        <element name="bitDepth" type="int" minOccurs="0"/> 
     194                                        <element name="endianness" type="string" minOccurs="0"/> 
     195                                </sequence> 
     196                        </extension> 
     197                </complexContent> 
     198        </complexType> 
     199        <element name="RawFileExtract" type="csml:RawFileExtractType" substitutionGroup="csml:FileExtract"/> 
     200        <!--====================================================================== --> 
     201        <complexType name="RawFileExtractPropertyType"> 
     202                <sequence> 
     203                        <element ref="csml:RawFileExtract"/> 
     204                </sequence> 
     205        </complexType> 
    146206        <!--====================================================================== --> 
    147207        <!--====================================================================== --> 
Note: See TracChangeset for help on using the changeset viewer.