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

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

Potentially want identity for  csml:SpatialOrTemporalPositionList.

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