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

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

Attempt to fix some oxygen validation errors (doesn't change any content)

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