source: TI02-CSML/trunk/csml/XMLSchemas/csmlMain.xsd @ 2102

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI02-CSML/trunk/csml/XMLSchemas/csmlMain.xsd@2102
Revision 2102, 49.6 KB checked in by awoolf, 13 years ago (diff)

Added phenom dict to Feature Collection, changed TimeSeriesDomain? to TimeSeries?

  • Property svn:executable set to *
Line 
1<!-- 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">
3        <annotation>
4                <documentation>Main CSML schema file - includes domain geometries, coverage classes, feature types etc.</documentation>
5        </annotation>
6        <import namespace="http://www.opengis.net/gml" schemaLocation="gml/gml.xsd"/>
7        <import namespace="http://www.opengis.net/swe" schemaLocation="sweCommon/phenomenon.xsd"/>
8        <!--====================================================================== -->
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                <complexContent>
17                        <extension base="gml:AbstractFeatureType">
18                                <sequence>
19                                        <element name="crsDictionary" minOccurs="0">
20                                                <complexType>
21                                                        <sequence>
22                                                                <element ref="gml:Dictionary"/>
23                                                        </sequence>
24                                                </complexType>
25                                        </element>
26                                        <element name="phenomenonDictionary" minOccurs="0">
27                                                <complexType>
28                                                        <sequence>
29                                                                <element ref="gml:Dictionary"/>
30                                                        </sequence>
31                                                </complexType>
32                                        </element>
33                                        <element name="uomDictionary" minOccurs="0">
34                                                <complexType>
35                                                        <sequence>
36                                                                <element ref="gml:Dictionary"/>
37                                                        </sequence>
38                                                </complexType>
39                                        </element>
40                                        <element name="featureMember" minOccurs="0" maxOccurs="unbounded">
41                                                <complexType>
42                                                        <complexContent>
43                                                                <extension base="gml:AbstractFeatureMemberType">
44                                                                        <sequence>
45                                                                                <element ref="gml:AbstractFeature"/>
46                                                                        </sequence>
47                                                                </extension>
48                                                        </complexContent>
49                                                </complexType>
50                                        </element>
51                                </sequence>
52                                <attributeGroup ref="gml:AggregationAttributeGroup"/>
53                        </extension>
54                </complexContent>
55        </complexType>
56        <element name="CSMLFeatureCollection" type="csml:CSMLFeatureCollectionType"/>
57        <!--====================================================================== -->
58        <!--====================================================================== -->
59        <!--==== Utility types ====-->
60        <!--====================================================================== -->
61        <!--====================================================================== -->
62        <!--==== ReferenceableGrid ==== -->
63        <!--====================================================================== -->
64        <annotation>
65                <documentation>TimeValueList and TimePositionListType based on the obvious extensions of GML TimePositionUnion and TimePositionType, and identical to the equivalents in SWE.</documentation>
66        </annotation>
67        <simpleType name="TimeValueList">
68                <annotation>
69                        <documentation>Provides a list of GML's TimePositionUnion (see GML 3.2, sect 15.2.2.7)</documentation>
70                </annotation>
71                <list itemType="gml:TimePositionUnion"/>
72        </simpleType>
73        <complexType name="TimePositionListType">
74                <annotation>
75                        <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>
76                </annotation>
77                <simpleContent>
78                        <extension base="csml:TimeValueList">
79                                <attribute name="frame" type="anyURI" default="#ISO-8601"/>
80                                <attribute name="calendarEraName" type="string"/>
81                                <attribute name="indeterminatePosition" type="gml:TimeIndeterminateValueType"/>
82                        </extension>
83                </simpleContent>
84        </complexType>
85        <element name="timePositionList" type="csml:TimePositionListType">
86                <annotation>
87                        <documentation>By direct analogy with gml:timePosition, creates a list version of the same (see GML 3.2, sect 15.2.2.7).</documentation>
88                </annotation>
89        </element>
90        <!--====================================================================== -->
91        <complexType name="SpatialOrTemporalPositionListType">
92                <annotation>
93                        <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>
94                </annotation>
95                <complexContent>
96                        <extension base="gml:AbstractGMLType">
97                                <choice>
98                                        <element name="coordinateList">
99                                                <simpleType>
100                                                        <list itemType="double"/>
101                                                </simpleType>
102                                        </element>
103                                        <element ref="csml:timePositionList"/>
104                                </choice>
105                        </extension>
106                </complexContent>
107        </complexType>
108        <element name="SpatialOrTemporalPositionList" type="csml:SpatialOrTemporalPositionListType" substitutionGroup="gml:AbstractGML"/>
109        <complexType name="SpatialOrTemporalPositionListPropertyType">
110                <sequence minOccurs="0">
111                        <element ref="csml:SpatialOrTemporalPositionList"/>
112                </sequence>
113                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
114                <attributeGroup ref="gml:AssociationAttributeGroup"/>
115        </complexType>
116        <!--====================================================================== -->
117        <complexType name="GridOrdinateDescriptionType">
118                <annotation>
119                        <documentation>GridOrdinateDescription defines grid point locations over entire Grid for a single spatial or temporal coordinate axis.</documentation>
120                </annotation>
121                <sequence>
122                        <element name="coordAxisLabel" type="NCName"/>
123                        <element name="coordAxisValues" type="csml:SpatialOrTemporalPositionListPropertyType"/>
124                        <element name="gridAxesSpanned" type="gml:NCNameList"/>
125                        <element name="sequenceRule" type="gml:SequenceRuleType"/>
126                </sequence>
127        </complexType>
128        <element name="GridOrdinateDescription" type="csml:GridOrdinateDescriptionType" substitutionGroup="gml:AbstractObject"/>
129        <complexType name="GridOrdinateDescriptionPropertyType">
130                <sequence minOccurs="0">
131                        <element ref="csml:GridOrdinateDescription"/>
132                </sequence>
133                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
134        </complexType>
135        <!--====================================================================== -->
136        <complexType name="GridPointDescriptionType">
137                <annotation>
138                        <documentation>GridPointDescription defines grid point locations over entire Grid by listing direct positions in given sequence order.</documentation>
139                </annotation>
140                <sequence>
141                        <group ref="gml:geometricPositionListGroup"/>
142                        <element name="sequenceRule" type="gml:SequenceRuleType"/>
143                </sequence>
144        </complexType>
145        <element name="GridPointDescription" type="csml:GridPointDescriptionType" substitutionGroup="gml:AbstractObject"/>
146        <complexType name="GridPointDescriptionPropertyType">
147                <sequence minOccurs="0">
148                        <element ref="csml:GridPointDescription"/>
149                </sequence>
150                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
151        </complexType>
152        <!--====================================================================== -->
153        <complexType name="GridCoordinatesTableType">
154                <annotation>
155                        <documentation>Defines a table providing the transformation between grid coordinates and external coordinate reference system (see ISO 19123 8.2.1). Allows all grid point locations to be listed explicitly (using the gml:gridPoints property), or individual ordinates to be listed for each coordinate system axis (using a set of gml:gridOrdinate elements – one for each axis of the coordinate reference system).</documentation>
156                </annotation>
157                <choice>
158                        <element name="gridOrdinate" type="csml:GridOrdinateDescriptionPropertyType" maxOccurs="unbounded"/>
159                        <element name="gridPoints" type="csml:GridPointDescriptionPropertyType"/>
160                </choice>
161        </complexType>
162        <element name="GridCoordinatesTable" type="csml:GridCoordinatesTableType" substitutionGroup="gml:AbstractObject"/>
163        <complexType name="GridCoordinatesTablePropertyType">
164                <sequence minOccurs="0">
165                        <element ref="csml:GridCoordinatesTable"/>
166                </sequence>
167                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
168        </complexType>
169        <!--====================================================================== -->
170        <complexType name="ReferenceableGridType">
171                <annotation>
172                        <documentation>An implementation of CV_ReferenceableGrid of ISO 19123.
173                        The association role 'crs' to the SC_CRS to which it is referenceable is implemented using the gml:SRSReferenceGroup attributeGroup inherited from gml:Grid.</documentation>
174                </annotation>
175                <complexContent>
176                        <extension base="gml:GridType">
177                                <sequence>
178                                        <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/>
179                                </sequence>
180                        </extension>
181                </complexContent>
182        </complexType>
183        <element name="ReferenceableGrid" type="csml:ReferenceableGridType" substitutionGroup="gml:Grid"/>
184        <complexType name="ReferenceableGridPropertyType">
185                <sequence minOccurs="0">
186                        <element ref="csml:ReferenceableGrid"/>
187                </sequence>
188                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
189                <attributeGroup ref="gml:AssociationAttributeGroup"/>
190        </complexType>
191        <!--====================================================================== -->
192        <!--====================================================================== -->
193        <!--==== ReferenceableGridCoverage ====-->
194        <!--====================================================================== -->
195        <complexType name="ReferenceableGridDomainType">
196                <annotation>
197                        <documentation>Implemented by analogy with gml:RectifiedGridDomainType.</documentation>
198                </annotation>
199                <complexContent>
200                        <restriction base="gml:DomainSetType">
201                                <sequence minOccurs="0">
202                                        <choice>
203                                                <element ref="csml:ReferenceableGrid"/>
204                                        </choice>
205                                </sequence>
206                        </restriction>
207                </complexContent>
208        </complexType>
209        <element name="referenceableGridDomain" type="csml:ReferenceableGridDomainType" substitutionGroup="gml:domainSet"/>
210        <!--====================================================================== -->
211        <complexType name="ReferenceableGridCoverageType">
212                <annotation>
213                        <documentation>Implementation of ISO 19123 CV_DiscreteGridPointCoverage for a CV_ReferenceableGrid domain.</documentation>
214                </annotation>
215                <complexContent>
216                        <restriction base="gml:AbstractDiscreteCoverageType">
217                                <sequence>
218                                        <group ref="gml:StandardObjectProperties"/>
219                                        <element ref="gml:boundedBy" minOccurs="0"/>
220                                        <element ref="csml:referenceableGridDomain"/>
221                                        <element ref="gml:rangeSet"/>
222                                        <element ref="gml:coverageFunction" minOccurs="0"/>
223                                </sequence>
224                        </restriction>
225                </complexContent>
226        </complexType>
227        <element name="ReferenceableGridCoverage" type="csml:ReferenceableGridCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"/>
228        <complexType name="ReferenceableGridCoveragePropertyType">
229                <sequence minOccurs="0">
230                        <element ref="csml:ReferenceableGridCoverage"/>
231                </sequence>
232                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
233                <attributeGroup ref="gml:AssociationAttributeGroup"/>
234        </complexType>
235        <!--====================================================================== -->
236        <!--====================================================================== -->
237        <!--==== CSML Grid Feature Type ====-->
238        <!--====================================================================== -->
239        <complexType name="GridFeatureType">
240                <complexContent>
241                        <extension base="gml:AbstractFeatureType">
242                                <sequence>
243                                        <element name="time" type="gml:TimePositionType"/>
244                                        <element name="value" type="csml:ReferenceableGridCoveragePropertyType"/>
245                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
246                                </sequence>
247                        </extension>
248                </complexContent>
249        </complexType>
250        <element name="GridFeature" type="csml:GridFeatureType" substitutionGroup="gml:AbstractFeature"/>
251        <complexType name="GridFeaturePropertyType">
252                <sequence minOccurs="0">
253                        <element ref="csml:GridFeature"/>
254                </sequence>
255                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
256                <attributeGroup ref="gml:AssociationAttributeGroup"/>
257        </complexType>
258        <!--====================================================================== -->
259        <!--====================================================================== -->
260        <!--==== CSML GridSeries Feature Type ====-->
261        <!--====================================================================== -->
262        <complexType name="SpatioTemporalCRSType">
263                <annotation>
264                        <documentation>Exactly one component reference system must be a TM_TemporalCRS (i.e. gml:TemporalCRS)</documentation>
265                </annotation>
266                <complexContent>
267                        <extension base="gml:CompoundCRSType"/>
268                </complexContent>
269        </complexType>
270        <element name="SpatioTemporalCRS" type="csml:SpatioTemporalCRSType" substitutionGroup="gml:CompoundCRS"/>
271        <!--====================================================================== -->
272        <complexType name="GridSeriesDomainType">
273                <annotation>
274                        <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>
275                </annotation>
276                <complexContent>
277                        <restriction base="csml:ReferenceableGridType">
278                                <sequence>
279                                        <sequence>
280                                                <group ref="gml:StandardObjectProperties"/>
281                                        </sequence>
282                                        <sequence>
283                                                <element name="limits" type="gml:GridLimitsType"/>
284                                                <choice>
285                                                        <element name="axisLabels" type="gml:NCNameList"/>
286                                                        <element name="axisName" type="string" maxOccurs="unbounded"/>
287                                                </choice>
288                                        </sequence>
289                                        <sequence>
290                                                <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/>
291                                        </sequence>
292                                </sequence>
293                        </restriction>
294                </complexContent>
295        </complexType>
296        <element name="GridSeriesDomain" type="csml:GridSeriesDomainType" substitutionGroup="csml:ReferenceableGrid"/>
297        <complexType name="GridSeriesDomainPropertyType">
298                <sequence minOccurs="0">
299                        <element ref="csml:GridSeriesDomain"/>
300                </sequence>
301                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
302                <attributeGroup ref="gml:AssociationAttributeGroup"/>
303        </complexType>
304        <!--====================================================================== -->
305        <complexType name="GridSeriesCoverageDomainType">
306                <complexContent>
307                        <restriction base="gml:GridDomainType">
308                                <sequence minOccurs="0">
309                                        <element ref="csml:GridSeriesDomain"/>
310                                </sequence>
311                        </restriction>
312                </complexContent>
313        </complexType>
314        <element name="gridSeriesDomain" type="csml:GridSeriesCoverageDomainType" substitutionGroup="gml:gridDomain"/>
315        <!--====================================================================== -->
316        <complexType name="GridSeriesCoverageType">
317                <complexContent>
318                        <restriction base="gml:GridCoverageType">
319                                <sequence>
320                                        <group ref="gml:StandardObjectProperties"/>
321                                        <element ref="gml:boundedBy" minOccurs="0"/>
322                                        <element ref="csml:gridSeriesDomain"/>
323                                        <element ref="gml:rangeSet"/>
324                                        <element ref="gml:coverageFunction" minOccurs="0"/>
325                                </sequence>
326                        </restriction>
327                </complexContent>
328        </complexType>
329        <element name="GridSeriesCoverage" type="csml:GridSeriesCoverageType" substitutionGroup="gml:GridCoverage"/>
330        <complexType name="GridSeriesCoveragePropertyType">
331                <sequence minOccurs="0">
332                        <element ref="csml:GridSeriesCoverage"/>
333                </sequence>
334                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
335                <attributeGroup ref="gml:AssociationAttributeGroup"/>
336        </complexType>
337        <!--====================================================================== -->
338        <complexType name="GridSeriesFeatureType">
339                <complexContent>
340                        <extension base="gml:AbstractFeatureType">
341                                <sequence>
342                                        <element name="value" type="csml:GridSeriesCoveragePropertyType"/>
343                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
344                                </sequence>
345                        </extension>
346                </complexContent>
347        </complexType>
348        <element name="GridSeriesFeature" type="csml:GridSeriesFeatureType" substitutionGroup="gml:AbstractFeature"/>
349        <complexType name="GridSeriesFeaturePropertyType">
350                <sequence minOccurs="0">
351                        <element ref="csml:GridSeriesFeature"/>
352                </sequence>
353                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
354                <attributeGroup ref="gml:AssociationAttributeGroup"/>
355        </complexType>
356        <!--====================================================================== -->
357        <!--====================================================================== -->
358        <!--==== CSML PointCollection Feature Type ====-->
359        <!--====================================================================== -->
360        <complexType name="PointCollectionFeatureType">
361                <complexContent>
362                        <extension base="gml:AbstractFeatureType">
363                                <sequence>
364                                        <element name="time" type="gml:TimePositionType" minOccurs="0"/>
365                                        <element name="value">
366                                                <complexType>
367                                                        <sequence>
368                                                                <element ref="gml:MultiPointCoverage"/>
369                                                        </sequence>
370                                                </complexType>
371                                        </element>
372                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
373                                </sequence>
374                        </extension>
375                </complexContent>
376        </complexType>
377        <element name="PointCollectionFeature" type="csml:PointCollectionFeatureType" substitutionGroup="gml:AbstractFeature"/>
378        <complexType name="PointCollectionFeaturePropertyType">
379                <sequence minOccurs="0">
380                        <element ref="csml:PointCollectionFeature"/>
381                </sequence>
382                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
383                <attributeGroup ref="gml:AssociationAttributeGroup"/>
384        </complexType>
385        <!--====================================================================== -->
386        <!--====================================================================== -->
387        <!--==== CSML Point Feature Type ====-->
388        <!--====================================================================== -->
389        <complexType name="PointDomainType">
390                <annotation>
391                        <documentation>Restricts a gml:MultiPoint to having a single pointMember.</documentation>
392                </annotation>
393                <complexContent>
394                        <restriction base="gml:MultiPointType">
395                                <sequence>
396                                        <group ref="gml:StandardObjectProperties"/>
397                                        <element ref="gml:pointMember" minOccurs="0"/>
398                                </sequence>
399                        </restriction>
400                </complexContent>
401        </complexType>
402        <element name="PointDomain" type="csml:PointDomainType" substitutionGroup="gml:MultiPoint"/>
403        <complexType name="PointDomainPropertyType">
404                <sequence minOccurs="0">
405                        <element ref="csml:PointDomain"/>
406                </sequence>
407                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
408                <attributeGroup ref="gml:AssociationAttributeGroup"/>
409        </complexType>
410        <!--====================================================================== -->
411        <complexType name="PointCoverageDomainType">
412                <complexContent>
413                        <restriction base="gml:MultiPointDomainType">
414                                <sequence minOccurs="0">
415                                        <element ref="csml:PointDomain"/>
416                                </sequence>
417                        </restriction>
418                </complexContent>
419        </complexType>
420        <element name="pointDomain" type="csml:PointCoverageDomainType" substitutionGroup="gml:multiPointDomain"/>
421        <!--====================================================================== -->
422        <complexType name="PointCoverageType">
423                <complexContent>
424                        <restriction base="gml:MultiPointCoverageType">
425                                <sequence>
426                                        <group ref="gml:StandardObjectProperties"/>
427                                        <element ref="gml:boundedBy" minOccurs="0"/>
428                                        <element ref="csml:pointDomain"/>
429                                        <element ref="gml:rangeSet"/>
430                                        <element ref="gml:coverageFunction" minOccurs="0"/>
431                                </sequence>
432                        </restriction>
433                </complexContent>
434        </complexType>
435        <element name="PointCoverage" type="csml:PointCoverageType" substitutionGroup="gml:MultiPointCoverage"/>
436        <complexType name="PointCoveragePropertyType">
437                <sequence minOccurs="0">
438                        <element ref="csml:PointCoverage"/>
439                </sequence>
440                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
441                <attributeGroup ref="gml:AssociationAttributeGroup"/>
442        </complexType>
443        <!--====================================================================== -->
444        <complexType name="PointFeatureType">
445                <complexContent>
446                        <extension base="gml:AbstractFeatureType">
447                                <sequence>
448                                        <element name="location" type="gml:DirectPositionType"/>
449                                        <element name="time" type="gml:TimePositionType" minOccurs="0"/>
450                                        <element name="value" type="csml:PointCoveragePropertyType"/>
451                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
452                                </sequence>
453                        </extension>
454                </complexContent>
455        </complexType>
456        <element name="PointFeature" type="csml:PointFeatureType" substitutionGroup="gml:AbstractFeature"/>
457        <complexType name="PointFeaturePropertyType">
458                <sequence minOccurs="0">
459                        <element ref="csml:PointFeature"/>
460                </sequence>
461                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
462                <attributeGroup ref="gml:AssociationAttributeGroup"/>
463        </complexType>
464        <!--====================================================================== -->
465        <!--====================================================================== -->
466        <!--==== Alternate Point Feature Type ====-->
467        <!--====================================================================== -->
468        <complexType name="AlternatePointDomainType">
469                <complexContent>
470                        <restriction base="gml:DomainSetType">
471                                <sequence minOccurs="0">
472                                        <element ref="gml:Point"/>
473                                </sequence>
474                        </restriction>
475                </complexContent>
476        </complexType>
477        <element name="alternatePointDomain" type="csml:AlternatePointDomainType" substitutionGroup="gml:domainSet"/>
478        <!--====================================================================== -->
479        <complexType name="AlternatePointCoverageType">
480                <complexContent>
481                        <restriction base="gml:AbstractDiscreteCoverageType">
482                                <sequence>
483                                        <group ref="gml:StandardObjectProperties"/>
484                                        <element ref="gml:boundedBy" minOccurs="0"/>
485                                        <element ref="csml:alternatePointDomain"/>
486                                        <element ref="gml:rangeSet"/>
487                                        <element ref="gml:coverageFunction" minOccurs="0"/>
488                                </sequence>
489                        </restriction>
490                </complexContent>
491        </complexType>
492        <element name="AlternatePointCoverage" type="csml:AlternatePointCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"/>
493        <complexType name="AlternatePointCoveragePropertyType">
494                <sequence minOccurs="0">
495                        <element ref="csml:AlternatePointCoverage"/>
496                </sequence>
497                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
498                <attributeGroup ref="gml:AssociationAttributeGroup"/>
499        </complexType>
500        <!--====================================================================== -->
501        <complexType name="AlternatePointFeatureType">
502                <complexContent>
503                        <extension base="gml:AbstractFeatureType">
504                                <sequence>
505                                        <element name="location" type="gml:PointPropertyType"/>
506                                        <element name="time" type="gml:TimeInstantPropertyType" minOccurs="0"/>
507                                        <element name="value" type="csml:AlternatePointCoveragePropertyType"/>
508                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
509                                </sequence>
510                        </extension>
511                </complexContent>
512        </complexType>
513        <element name="AlternatePointFeature" type="csml:AlternatePointFeatureType" substitutionGroup="gml:AbstractFeature"/>
514        <complexType name="AlternatePointFeaturePropertyType">
515                <sequence minOccurs="0">
516                        <element ref="csml:AlternatePointFeature"/>
517                </sequence>
518                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
519                <attributeGroup ref="gml:AssociationAttributeGroup"/>
520        </complexType>
521        <!--====================================================================== -->
522        <!--====================================================================== -->
523        <!--==== CSML PointSeries Feature Type ====-->
524        <!--====================================================================== -->
525        <complexType name="TimeSeriesType">
526                <complexContent>
527                        <extension base="gml:AbstractTimeComplexType">
528                                <sequence>
529                                        <element ref="csml:timePositionList"/>
530                                </sequence>
531                        </extension>
532                </complexContent>
533        </complexType>
534        <element name="TimeSeries" type="csml:TimeSeriesType" substitutionGroup="gml:AbstractTimeComplex"/>
535        <complexType name="TimeSeriesPropertyType">
536                <sequence minOccurs="0">
537                        <element ref="csml:TimeSeries"/>
538                </sequence>
539                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
540                <attributeGroup ref="gml:AssociationAttributeGroup"/>
541        </complexType>
542        <!--====================================================================== -->
543        <complexType name="PointSeriesCoverageDomainType">
544                <complexContent>
545                        <restriction base="gml:DomainSetType">
546                                <sequence minOccurs="0">
547                                        <element ref="csml:TimeSeries"/>
548                                </sequence>
549                        </restriction>
550                </complexContent>
551        </complexType>
552        <element name="pointSeriesDomain" type="csml:PointSeriesCoverageDomainType" substitutionGroup="gml:domainSet"/>
553        <!--====================================================================== -->
554        <complexType name="PointSeriesCoverageType">
555                <complexContent>
556                        <restriction base="gml:AbstractDiscreteCoverageType">
557                                <sequence>
558                                        <group ref="gml:StandardObjectProperties"/>
559                                        <element ref="gml:boundedBy" minOccurs="0"/>
560                                        <element ref="csml:pointSeriesDomain"/>
561                                        <element ref="gml:rangeSet"/>
562                                        <element ref="gml:coverageFunction" minOccurs="0"/>
563                                </sequence>
564                        </restriction>
565                </complexContent>
566        </complexType>
567        <element name="PointSeriesCoverage" type="csml:PointSeriesCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"/>
568        <complexType name="PointSeriesCoveragePropertyType">
569                <sequence minOccurs="0">
570                        <element ref="csml:PointSeriesCoverage"/>
571                </sequence>
572                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
573                <attributeGroup ref="gml:AssociationAttributeGroup"/>
574        </complexType>
575        <!--====================================================================== -->
576        <complexType name="PointSeriesFeatureType">
577                <complexContent>
578                        <extension base="gml:AbstractFeatureType">
579                                <sequence>
580                                        <element name="location" type="gml:DirectPositionType" minOccurs="0"/>
581                                        <element name="value" type="csml:PointSeriesCoveragePropertyType"/>
582                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
583                                </sequence>
584                        </extension>
585                </complexContent>
586        </complexType>
587        <element name="PointSeriesFeature" type="csml:PointSeriesFeatureType" substitutionGroup="gml:AbstractFeature"/>
588        <complexType name="PointSeriesFeaturePropertyType">
589                <sequence minOccurs="0">
590                        <element ref="csml:PointSeriesFeature"/>
591                </sequence>
592                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
593                <attributeGroup ref="gml:AssociationAttributeGroup"/>
594        </complexType>
595        <!--====================================================================== -->
596        <!--====================================================================== -->
597        <!--==== CSML Profile Feature Type ====-->
598        <!--====================================================================== -->
599        <complexType name="ProfileDomainType">
600                <annotation>
601                        <documentation>Constrains a gml:MultiPoint to a vertical line of points. The associated CRS should be a valid subtype of gml:VerticalCRS.</documentation>
602                </annotation>
603                <complexContent>
604                        <restriction base="gml:MultiPointType">
605                                <sequence>
606                                        <sequence>
607                                                <group ref="gml:StandardObjectProperties"/>
608                                        </sequence>
609                                        <sequence>
610                                                <element ref="gml:pointMember" minOccurs="0" maxOccurs="unbounded"/>
611                                                <element ref="gml:pointMembers" minOccurs="0"/>
612                                        </sequence>
613                                </sequence>
614                                <attribute name="srsDimension" type="positiveInteger" fixed="1"/>
615                        </restriction>
616                </complexContent>
617        </complexType>
618        <element name="ProfileDomain" type="csml:ProfileDomainType" substitutionGroup="gml:MultiPoint"/>
619        <complexType name="ProfileDomainPropertyType">
620                <sequence minOccurs="0">
621                        <element ref="csml:ProfileDomain"/>
622                </sequence>
623                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
624                <attributeGroup ref="gml:AssociationAttributeGroup"/>
625        </complexType>
626        <!--====================================================================== -->
627        <complexType name="ProfileCoverageDomainType">
628                <complexContent>
629                        <restriction base="gml:MultiPointDomainType">
630                                <sequence minOccurs="0">
631                                        <element ref="csml:ProfileDomain"/>
632                                </sequence>
633                        </restriction>
634                </complexContent>
635        </complexType>
636        <element name="profileDomain" type="csml:ProfileCoverageDomainType" substitutionGroup="gml:multiPointDomain"/>
637        <!--====================================================================== -->
638        <complexType name="ProfileCoverageType">
639                <complexContent>
640                        <restriction base="gml:MultiPointCoverageType">
641                                <sequence>
642                                        <group ref="gml:StandardObjectProperties"/>
643                                        <element ref="gml:boundedBy" minOccurs="0"/>
644                                        <element ref="csml:profileDomain"/>
645                                        <element ref="gml:rangeSet"/>
646                                        <element ref="gml:coverageFunction" minOccurs="0"/>
647                                </sequence>
648                        </restriction>
649                </complexContent>
650        </complexType>
651        <element name="ProfileCoverage" type="csml:ProfileCoverageType" substitutionGroup="gml:MultiPointCoverage"/>
652        <complexType name="ProfileCoveragePropertyType">
653                <sequence minOccurs="0">
654                        <element ref="csml:ProfileCoverage"/>
655                </sequence>
656                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
657                <attributeGroup ref="gml:AssociationAttributeGroup"/>
658        </complexType>
659        <!--====================================================================== -->
660        <complexType name="ProfileFeatureType">
661                <complexContent>
662                        <extension base="gml:AbstractFeatureType">
663                                <sequence>
664                                        <element name="location" type="gml:DirectPositionType" minOccurs="0"/>
665                                        <element name="time" type="gml:TimePositionType" minOccurs="0"/>
666                                        <element name="value" type="csml:ProfileCoveragePropertyType"/>
667                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
668                                </sequence>
669                        </extension>
670                </complexContent>
671        </complexType>
672        <element name="ProfileFeature" type="csml:ProfileFeatureType" substitutionGroup="gml:AbstractFeature"/>
673        <complexType name="ProfileFeaturePropertyType">
674                <sequence minOccurs="0">
675                        <element ref="csml:ProfileFeature"/>
676                </sequence>
677                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
678                <attributeGroup ref="gml:AssociationAttributeGroup"/>
679        </complexType>
680        <!--====================================================================== -->
681        <!--====================================================================== -->
682        <!--==== CSML ProfileSeries Feature Type ====-->
683        <!--====================================================================== -->
684        <complexType name="ProfileSeriesDomainType">
685                <annotation>
686                        <documentation>The SC_CRS to which this is referenced (via the inherited gml:SRSReferenceGroup attributeGroup) should be a csml:SpatioTemporalCRS of srsDimension 2. In addition, one of the GridOrdinateDescription objects must have a timePositonList. Finally, the grid dimension should be 2.</documentation>
687                </annotation>
688                <complexContent>
689                        <restriction base="csml:ReferenceableGridType">
690                                <sequence>
691                                        <sequence>
692                                                <group ref="gml:StandardObjectProperties"/>
693                                        </sequence>
694                                        <sequence>
695                                                <element name="limits" type="gml:GridLimitsType"/>
696                                                <choice>
697                                                        <element name="axisLabels" type="gml:NCNameList"/>
698                                                        <element name="axisName" type="string" maxOccurs="unbounded"/>
699                                                </choice>
700                                        </sequence>
701                                        <sequence>
702                                                <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/>
703                                        </sequence>
704                                </sequence>
705                                <attribute name="dimension" type="positiveInteger" use="required" fixed="2"/>
706                                <attribute name="srsDimension" type="positiveInteger" fixed="2"/>
707                        </restriction>
708                </complexContent>
709        </complexType>
710        <element name="ProfileSeriesDomain" type="csml:ProfileSeriesDomainType" substitutionGroup="csml:ReferenceableGrid"/>
711        <complexType name="ProfileSeriesDomainPropertyType">
712                <sequence minOccurs="0">
713                        <element ref="csml:ProfileSeriesDomain"/>
714                </sequence>
715                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
716                <attributeGroup ref="gml:AssociationAttributeGroup"/>
717        </complexType>
718        <!--====================================================================== -->
719        <complexType name="ProfileSeriesCoverageDomainType">
720                <complexContent>
721                        <restriction base="gml:GridDomainType">
722                                <sequence minOccurs="0">
723                                        <choice>
724                                                <element ref="csml:ProfileSeriesDomain"/>
725                                        </choice>
726                                </sequence>
727                        </restriction>
728                </complexContent>
729        </complexType>
730        <element name="profileSeriesDomain" type="csml:ProfileSeriesCoverageDomainType" substitutionGroup="gml:gridDomain"/>
731        <!--====================================================================== -->
732        <complexType name="ProfileSeriesCoverageType">
733                <complexContent>
734                        <restriction base="gml:GridCoverageType">
735                                <sequence>
736                                        <group ref="gml:StandardObjectProperties"/>
737                                        <element ref="gml:boundedBy" minOccurs="0"/>
738                                        <element ref="csml:profileSeriesDomain"/>
739                                        <element ref="gml:rangeSet"/>
740                                        <element ref="gml:coverageFunction" minOccurs="0"/>
741                                </sequence>
742                        </restriction>
743                </complexContent>
744        </complexType>
745        <element name="ProfileSeriesCoverage" type="csml:ProfileSeriesCoverageType" substitutionGroup="gml:GridCoverage"/>
746        <complexType name="ProfileSeriesCoveragePropertyType">
747                <sequence minOccurs="0">
748                        <element ref="csml:ProfileSeriesCoverage"/>
749                </sequence>
750                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
751                <attributeGroup ref="gml:AssociationAttributeGroup"/>
752        </complexType>
753        <!--====================================================================== -->
754        <complexType name="ProfileSeriesFeatureType">
755                <complexContent>
756                        <extension base="gml:AbstractFeatureType">
757                                <sequence>
758                                        <element name="location" type="gml:DirectPositionType" minOccurs="0"/>
759                                        <element name="value" type="csml:ProfileSeriesCoveragePropertyType"/>
760                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
761                                </sequence>
762                        </extension>
763                </complexContent>
764        </complexType>
765        <element name="ProfileSeriesFeature" type="csml:ProfileSeriesFeatureType" substitutionGroup="gml:AbstractFeature"/>
766        <complexType name="ProfileSeriesFeaturePropertyType">
767                <sequence minOccurs="0">
768                        <element ref="csml:ProfileSeriesFeature"/>
769                </sequence>
770                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
771                <attributeGroup ref="gml:AssociationAttributeGroup"/>
772        </complexType>
773        <!--====================================================================== -->
774        <!--====================================================================== -->
775        <!--==== CSML RaggedProfileSeries Feature Type ====-->
776        <!--====================================================================== -->
777        <complexType name="RaggedProfileSeriesFeatureType">
778                <complexContent>
779                        <extension base="gml:AbstractFeatureType">
780                                <sequence>
781                                        <element name="location" type="gml:DirectPositionType" minOccurs="0"/>
782                                        <element name="profileLength">
783                                                <simpleType>
784                                                        <list itemType="int"/>
785                                                </simpleType>
786                                        </element>
787                                        <element name="value" type="csml:ProfileSeriesCoveragePropertyType"/>
788                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
789                                </sequence>
790                        </extension>
791                </complexContent>
792        </complexType>
793        <element name="RaggedProfileSeriesFeature" type="csml:RaggedProfileSeriesFeatureType" substitutionGroup="gml:AbstractFeature"/>
794        <complexType name="RaggedProfileSeriesFeaturePropertyType">
795                <sequence minOccurs="0">
796                        <element ref="csml:RaggedProfileSeriesFeature"/>
797                </sequence>
798                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
799                <attributeGroup ref="gml:AssociationAttributeGroup"/>
800        </complexType>
801        <!--====================================================================== -->
802        <!--====================================================================== -->
803        <!--==== CSML RaggedSection Feature Type ====-->
804        <!--====================================================================== -->
805        <complexType name="RaggedSectionFeatureType">
806                <complexContent>
807                        <extension base="gml:AbstractFeatureType">
808                                <sequence>
809                                        <element name="stationLocations" type="gml:DirectPositionListType"/>
810                                        <element name="stationTimes" type="csml:TimePositionListType"/>
811                                        <element name="profileLength">
812                                                <simpleType>
813                                                        <list itemType="int"/>
814                                                </simpleType>
815                                        </element>
816                                        <element name="value" type="csml:SectionCoveragePropertyType"/>
817                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
818                                </sequence>
819                        </extension>
820                </complexContent>
821        </complexType>
822        <element name="RaggedSectionFeature" type="csml:RaggedSectionFeatureType" substitutionGroup="gml:AbstractFeature"/>
823        <complexType name="RaggedSectionFeaturePropertyType">
824                <sequence minOccurs="0">
825                        <element ref="csml:RaggedSectionFeature"/>
826                </sequence>
827                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
828                <attributeGroup ref="gml:AssociationAttributeGroup"/>
829        </complexType>
830        <!--====================================================================== -->
831        <!--====================================================================== -->
832        <!--==== CSML ScanningRadar Feature Type ====-->
833        <!--====================================================================== -->
834        <element name="polarCS" substitutionGroup="gml:coordinateSystem">
835                <complexType>
836                        <complexContent>
837                                <restriction base="gml:CoordinateSystemPropertyType">
838                                        <sequence minOccurs="0">
839                                                <element ref="gml:PolarCS"/>
840                                        </sequence>
841                                </restriction>
842                        </complexContent>
843                </complexType>
844        </element>
845        <element name="azimuthRangeDatum" substitutionGroup="gml:engineeringDatum">
846                <complexType>
847                        <complexContent>
848                                <restriction base="gml:EngineeringDatumPropertyType">
849                                        <sequence minOccurs="0">
850                                                <element ref="gml:EngineeringDatum"/>
851                                        </sequence>
852                                </restriction>
853                        </complexContent>
854                </complexType>
855        </element>
856        <complexType name="AzimuthRangeCRSType">
857                <complexContent>
858                        <restriction base="gml:EngineeringCRSType">
859                                <sequence>
860                                        <sequence>
861                                                <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/>
862                                                <element ref="gml:description" minOccurs="0"/>
863                                                <element ref="gml:descriptionReference" minOccurs="0"/>
864                                                <element ref="gml:identifier"/>
865                                                <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/>
866                                        </sequence>
867                                        <sequence>
868                                                <element ref="gml:remarks" minOccurs="0"/>
869                                        </sequence>
870                                        <sequence>
871                                                <element ref="gml:domainOfValidity" minOccurs="0" maxOccurs="unbounded"/>
872                                                <element ref="gml:scope" maxOccurs="unbounded"/>
873                                        </sequence>
874                                        <sequence>
875                                                <element ref="csml:polarCS"/>
876                                                <element ref="csml:azimuthRangeDatum"/>
877                                        </sequence>
878                                </sequence>
879                        </restriction>
880                </complexContent>
881        </complexType>
882        <!--====================================================================== -->
883        <complexType name="ScanningRadarDomainType">
884                <annotation>
885                        <documentation>The SC_CRS to which this is associated (through the gml:srsName attribute) should be an AzimuthRangeCRS.</documentation>
886                </annotation>
887                <complexContent>
888                        <restriction base="csml:ReferenceableGridType">
889                                <sequence>
890                                        <sequence>
891                                                <group ref="gml:StandardObjectProperties"/>
892                                        </sequence>
893                                        <sequence>
894                                                <element name="limits" type="gml:GridLimitsType"/>
895                                                <choice>
896                                                        <element name="axisLabels" type="gml:NCNameList"/>
897                                                        <element name="axisName" type="string" maxOccurs="unbounded"/>
898                                                </choice>
899                                        </sequence>
900                                        <sequence>
901                                                <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/>
902                                        </sequence>
903                                </sequence>
904                                <attribute name="srsDimension" type="positiveInteger" fixed="2"/>
905                                <attribute name="dimension" type="positiveInteger" use="required" fixed="2"/>
906                        </restriction>
907                </complexContent>
908        </complexType>
909        <element name="ScanningRadarDomain" type="csml:ScanningRadarDomainType" substitutionGroup="csml:ReferenceableGrid"/>
910        <complexType name="ScanningRadarDomainPropertyType">
911                <sequence minOccurs="0">
912                        <element ref="csml:ScanningRadarDomain"/>
913                </sequence>
914                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
915                <attributeGroup ref="gml:AssociationAttributeGroup"/>
916        </complexType>
917        <!--====================================================================== -->
918        <complexType name="ScanningRadarCoverageDomainType">
919                <complexContent>
920                        <restriction base="gml:GridDomainType">
921                                <sequence minOccurs="0">
922                                        <choice>
923                                                <element ref="csml:ScanningRadarDomain"/>
924                                        </choice>
925                                </sequence>
926                        </restriction>
927                </complexContent>
928        </complexType>
929        <element name="scanningRadarDomain" type="csml:ScanningRadarCoverageDomainType" substitutionGroup="gml:gridDomain"/>
930        <!--====================================================================== -->
931        <complexType name="ScanningRadarCoverageType">
932                <complexContent>
933                        <restriction base="gml:GridCoverageType">
934                                <sequence>
935                                        <group ref="gml:StandardObjectProperties"/>
936                                        <element ref="gml:boundedBy" minOccurs="0"/>
937                                        <element ref="csml:scanningRadarDomain"/>
938                                        <element ref="gml:rangeSet"/>
939                                        <element ref="gml:coverageFunction" minOccurs="0"/>
940                                </sequence>
941                        </restriction>
942                </complexContent>
943        </complexType>
944        <element name="ScanningRadarCoverage" type="csml:ScanningRadarCoverageType" substitutionGroup="gml:GridCoverage"/>
945        <complexType name="ScanningRadarCoveragePropertyType">
946                <sequence minOccurs="0">
947                        <element ref="csml:ScanningRadarCoverage"/>
948                </sequence>
949                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
950                <attributeGroup ref="gml:AssociationAttributeGroup"/>
951        </complexType>
952        <!--====================================================================== -->
953        <complexType name="ScanningRadarFeatureType">
954                <complexContent>
955                        <extension base="gml:AbstractFeatureType">
956                                <sequence>
957                                        <element name="elevation" type="gml:AngleType" minOccurs="0"/>
958                                        <element name="value" type="csml:ScanningRadarCoveragePropertyType"/>
959                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
960                                </sequence>
961                        </extension>
962                </complexContent>
963        </complexType>
964        <element name="ScanningRadarFeature" type="csml:ScanningRadarFeatureType" substitutionGroup="gml:AbstractFeature"/>
965        <complexType name="ScanningRadarFeaturePropertyType">
966                <sequence minOccurs="0">
967                        <element ref="csml:ScanningRadarFeature"/>
968                </sequence>
969                <attributeGroup ref="gml:AssociationAttributeGroup"/>
970        </complexType>
971        <!--====================================================================== -->
972        <!--====================================================================== -->
973        <!--==== CSML Section Feature Type ====-->
974        <!--====================================================================== -->
975        <complexType name="SectionDomainType">
976                <complexContent>
977                        <restriction base="csml:ReferenceableGridType">
978                                <sequence>
979                                        <sequence>
980                                                <group ref="gml:StandardObjectProperties"/>
981                                        </sequence>
982                                        <sequence>
983                                                <element name="limits" type="gml:GridLimitsType"/>
984                                                <choice>
985                                                        <element name="axisLabels" type="gml:NCNameList"/>
986                                                        <element name="axisName" type="string" maxOccurs="unbounded"/>
987                                                </choice>
988                                        </sequence>
989                                        <sequence>
990                                                <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/>
991                                        </sequence>
992                                </sequence>
993                                <attribute name="srsDimension" type="positiveInteger" fixed="3"/>
994                                <attribute name="dimension" type="positiveInteger" use="required" fixed="2"/>
995                        </restriction>
996                </complexContent>
997        </complexType>
998        <element name="SectionDomain" type="csml:SectionDomainType" substitutionGroup="csml:ReferenceableGrid"/>
999        <complexType name="SectionDomainPropertyType">
1000                <sequence minOccurs="0">
1001                        <element ref="csml:SectionDomain"/>
1002                </sequence>
1003                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
1004                <attributeGroup ref="gml:AssociationAttributeGroup"/>
1005        </complexType>
1006        <!--====================================================================== -->
1007        <complexType name="SectionCoverageDomainType">
1008                <complexContent>
1009                        <restriction base="gml:GridDomainType">
1010                                <sequence minOccurs="0">
1011                                        <choice>
1012                                                <element ref="csml:SectionDomain"/>
1013                                        </choice>
1014                                </sequence>
1015                        </restriction>
1016                </complexContent>
1017        </complexType>
1018        <element name="sectionDomain" type="csml:SectionCoverageDomainType" substitutionGroup="gml:gridDomain"/>
1019        <!--====================================================================== -->
1020        <complexType name="SectionCoverageType">
1021                <complexContent>
1022                        <restriction base="gml:GridCoverageType">
1023                                <sequence>
1024                                        <group ref="gml:StandardObjectProperties"/>
1025                                        <element ref="gml:boundedBy" minOccurs="0"/>
1026                                        <element ref="csml:sectionDomain"/>
1027                                        <element ref="gml:rangeSet"/>
1028                                        <element ref="gml:coverageFunction" minOccurs="0"/>
1029                                </sequence>
1030                        </restriction>
1031                </complexContent>
1032        </complexType>
1033        <element name="SectionCoverage" type="csml:SectionCoverageType" substitutionGroup="gml:GridCoverage"/>
1034        <complexType name="SectionCoveragePropertyType">
1035                <sequence minOccurs="0">
1036                        <element ref="csml:SectionCoverage"/>
1037                </sequence>
1038                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
1039                <attributeGroup ref="gml:AssociationAttributeGroup"/>
1040        </complexType>
1041        <!--====================================================================== -->
1042        <complexType name="SectionFeatureType">
1043                <complexContent>
1044                        <extension base="gml:AbstractFeatureType">
1045                                <sequence>
1046                                        <element name="stationLocations" type="gml:DirectPositionListType"/>
1047                                        <element name="stationTimes" type="csml:TimePositionListType"/>
1048                                        <element name="value" type="csml:SectionCoveragePropertyType"/>
1049                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
1050                                </sequence>
1051                        </extension>
1052                </complexContent>
1053        </complexType>
1054        <element name="SectionFeature" type="csml:SectionFeatureType" substitutionGroup="gml:AbstractFeature"/>
1055        <complexType name="SectionFeaturePropertyType">
1056                <sequence minOccurs="0">
1057                        <element ref="csml:SectionFeature"/>
1058                </sequence>
1059                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
1060                <attributeGroup ref="gml:AssociationAttributeGroup"/>
1061        </complexType>
1062        <!--====================================================================== -->
1063        <!--====================================================================== -->
1064        <!--==== CSML Swath Feature Type ====-->
1065        <!--====================================================================== -->
1066        <complexType name="SwathFeatureType">
1067                <complexContent>
1068                        <extension base="gml:AbstractFeatureType">
1069                                <sequence>
1070                                        <element name="eqCrossLon" type="double" minOccurs="0"/>
1071                                        <element name="eqCrossTime" type="gml:TimePositionType" minOccurs="0"/>
1072                                        <element name="value" type="csml:ReferenceableGridCoveragePropertyType"/>
1073                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
1074                                </sequence>
1075                        </extension>
1076                </complexContent>
1077        </complexType>
1078        <element name="SwathFeature" type="csml:SwathFeatureType" substitutionGroup="gml:AbstractFeature"/>
1079        <complexType name="SwathFeaturePropertyType">
1080                <sequence minOccurs="0">
1081                        <element ref="csml:SwathFeature"/>
1082                </sequence>
1083                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
1084                <attributeGroup ref="gml:AssociationAttributeGroup"/>
1085        </complexType>
1086        <!--====================================================================== -->
1087        <!--====================================================================== -->
1088        <!--==== CSML Trajectory Feature Type ====-->
1089        <!--====================================================================== -->
1090        <complexType name="TrajectoryDomainType">
1091                <complexContent>
1092                        <restriction base="csml:ReferenceableGridType">
1093                                <sequence>
1094                                        <sequence>
1095                                                <group ref="gml:StandardObjectProperties"/>
1096                                        </sequence>
1097                                        <sequence>
1098                                                <element name="limits" type="gml:GridLimitsType"/>
1099                                                <choice>
1100                                                        <element name="axisLabels" type="gml:NCNameList"/>
1101                                                        <element name="axisName" type="string" maxOccurs="unbounded"/>
1102                                                </choice>
1103                                        </sequence>
1104                                        <sequence>
1105                                                <element name="coordTransformTable" type="csml:GridCoordinatesTablePropertyType"/>
1106                                        </sequence>
1107                                </sequence>
1108                                <attribute name="dimension" type="positiveInteger" use="required" fixed="1"/>
1109                        </restriction>
1110                </complexContent>
1111        </complexType>
1112        <element name="TrajectoryDomain" type="csml:TrajectoryDomainType" substitutionGroup="csml:ReferenceableGrid"/>
1113        <complexType name="TrajectoryDomainPropertyType">
1114                <sequence minOccurs="0">
1115                        <element ref="csml:TrajectoryDomain"/>
1116                </sequence>
1117                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
1118                <attributeGroup ref="gml:AssociationAttributeGroup"/>
1119        </complexType>
1120        <!--====================================================================== -->
1121        <complexType name="TrajectoryCoverageDomainType">
1122                <complexContent>
1123                        <restriction base="gml:DomainSetType">
1124                                <sequence minOccurs="0">
1125                                        <choice>
1126                                                <element ref="csml:TrajectoryDomain"/>
1127                                        </choice>
1128                                </sequence>
1129                        </restriction>
1130                </complexContent>
1131        </complexType>
1132        <element name="trajectoryDomain" type="csml:TrajectoryCoverageDomainType" substitutionGroup="gml:domainSet"/>
1133        <!--====================================================================== -->
1134        <complexType name="TrajectoryCoverageType">
1135                <complexContent>
1136                        <restriction base="gml:AbstractDiscreteCoverageType">
1137                                <sequence>
1138                                        <group ref="gml:StandardObjectProperties"/>
1139                                        <element ref="gml:boundedBy" minOccurs="0"/>
1140                                        <element ref="csml:trajectoryDomain"/>
1141                                        <element ref="gml:rangeSet"/>
1142                                        <element ref="gml:coverageFunction" minOccurs="0"/>
1143                                </sequence>
1144                        </restriction>
1145                </complexContent>
1146        </complexType>
1147        <element name="TrajectoryCoverage" type="csml:TrajectoryCoverageType" substitutionGroup="gml:AbstractDiscreteCoverage"/>
1148        <complexType name="TrajectoryCoveragePropertyType">
1149                <sequence minOccurs="0">
1150                        <element ref="csml:TrajectoryCoverage"/>
1151                </sequence>
1152                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
1153                <attributeGroup ref="gml:AssociationAttributeGroup"/>
1154        </complexType>
1155        <!--====================================================================== -->
1156        <complexType name="TrajectoryFeatureType">
1157                <complexContent>
1158                        <extension base="gml:AbstractFeatureType">
1159                                <sequence>
1160                                        <element name="value" type="csml:TrajectoryCoveragePropertyType"/>
1161                                        <element name="parameter" type="swe:PhenomenonPropertyType"/>
1162                                </sequence>
1163                        </extension>
1164                </complexContent>
1165        </complexType>
1166        <element name="TrajectoryFeature" type="csml:TrajectoryFeatureType" substitutionGroup="gml:AbstractFeature"/>
1167        <complexType name="TrajectoryFeaturePropertyType">
1168                <sequence minOccurs="0">
1169                        <element ref="csml:TrajectoryFeature"/>
1170                </sequence>
1171                <attributeGroup ref="gml:OwnershipAttributeGroup"/>
1172                <attributeGroup ref="gml:AssociationAttributeGroup"/>
1173        </complexType>
1174        <!--====================================================================== -->
1175</schema>
Note: See TracBrowser for help on using the repository browser.