source: TI02-CSML/branches/CSML2/XMLSchemas/csmlMain.xsd @ 1906

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

Sync commit before svn restructure for csml2...

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