root / trunk / libraries / libGPE-GML / testdata / schemas / 3.1.1 / base / temporal.xsd @ 11160
History | View | Annotate | Download (15.2 KB)
1 |
<?xml version="1.0" encoding="UTF-8"?> |
---|---|
2 |
<schema targetNamespace="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.1.1"> |
3 |
<annotation> |
4 |
<appinfo source="urn:opengis:specification:gml:schema-xsd:temporal:3.1.1"/> |
5 |
<documentation xml:lang="en">The temporal schema for GML 3.1 provides constructs for handling time-varying spatial data. |
6 |
This schema reflects a partial implementation of the model described in ISO 19108:2002. |
7 |
Copyright (c) 2002-2005 OGC, All Rights Reserved. |
8 |
For conditions, see OGC Software Notice http://www.opengeospatial.org/about/?page=ipr</documentation> |
9 |
</annotation> |
10 |
<!-- ================================================================== --> |
11 |
<include schemaLocation="gmlBase.xsd"/> |
12 |
<!-- ================================================================== --> |
13 |
<!-- ==== Time Object ===== --> |
14 |
<!-- ================================================================== --> |
15 |
<element name="_TimeObject" type="gml:AbstractTimeObjectType" abstract="true" substitutionGroup="gml:_GML"> |
16 |
<annotation> |
17 |
<documentation xml:lang="en">This abstract element acts as the head of the substitution group for temporal primitives and complexes.</documentation> |
18 |
</annotation> |
19 |
</element> |
20 |
<!-- ===================================== --> |
21 |
<complexType name="AbstractTimeObjectType" abstract="true"> |
22 |
<annotation> |
23 |
<documentation xml:lang="en">The abstract supertype for temporal objects.</documentation> |
24 |
</annotation> |
25 |
<complexContent> |
26 |
<extension base="gml:AbstractGMLType"/> |
27 |
</complexContent> |
28 |
</complexType> |
29 |
<!-- ================================================================== --> |
30 |
<!-- ==== Time Primitive ===== --> |
31 |
<!-- ================================================================== --> |
32 |
<element name="_TimePrimitive" type="gml:AbstractTimePrimitiveType" abstract="true" substitutionGroup="gml:_TimeObject"> |
33 |
<annotation> |
34 |
<documentation xml:lang="en">This abstract element acts as the head of the substitution group for temporal primitives.</documentation> |
35 |
</annotation> |
36 |
</element> |
37 |
<!-- ===================================== --> |
38 |
<complexType name="AbstractTimePrimitiveType" abstract="true"> |
39 |
<annotation> |
40 |
<documentation xml:lang="en">The abstract supertype for temporal primitives.</documentation> |
41 |
</annotation> |
42 |
<complexContent> |
43 |
<extension base="gml:AbstractTimeObjectType"> |
44 |
<sequence> |
45 |
<element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" maxOccurs="unbounded"/> |
46 |
</sequence> |
47 |
</extension> |
48 |
</complexContent> |
49 |
</complexType> |
50 |
<!-- ================================================================== --> |
51 |
<complexType name="TimePrimitivePropertyType"> |
52 |
<sequence minOccurs="0"> |
53 |
<element ref="gml:_TimePrimitive"/> |
54 |
</sequence> |
55 |
<attributeGroup ref="gml:AssociationAttributeGroup"/> |
56 |
</complexType> |
57 |
<!-- ================================================================== --> |
58 |
<complexType name="RelatedTimeType"> |
59 |
<complexContent> |
60 |
<extension base="gml:TimePrimitivePropertyType"> |
61 |
<attribute name="relativePosition"> |
62 |
<simpleType> |
63 |
<restriction base="string"> |
64 |
<enumeration value="Before"/> |
65 |
<enumeration value="After"/> |
66 |
<enumeration value="Begins"/> |
67 |
<enumeration value="Ends"/> |
68 |
<enumeration value="During"/> |
69 |
<enumeration value="Equals"/> |
70 |
<enumeration value="Contains"/> |
71 |
<enumeration value="Overlaps"/> |
72 |
<enumeration value="Meets"/> |
73 |
<enumeration value="OverlappedBy"/> |
74 |
<enumeration value="MetBy"/> |
75 |
<enumeration value="BegunBy"/> |
76 |
<enumeration value="EndedBy"/> |
77 |
</restriction> |
78 |
</simpleType> |
79 |
</attribute> |
80 |
</extension> |
81 |
</complexContent> |
82 |
</complexType> |
83 |
<!-- ================================================================== --> |
84 |
<!-- ==== Time Complex ===== --> |
85 |
<!-- ================================================================== --> |
86 |
<element name="_TimeComplex" type="gml:AbstractTimeComplexType" abstract="true" substitutionGroup="gml:_TimeObject"> |
87 |
<annotation> |
88 |
<documentation xml:lang="en">This abstract element acts as the head of the substitution group for temporal complexes. |
89 |
Temporal complex is an aggregation of temporal primitives as its components, |
90 |
represents a temporal geometric complex and a temporal topology complex. |
91 |
N.B. Temporal geometric complex is not defined in this schema.</documentation> |
92 |
</annotation> |
93 |
</element> |
94 |
<!-- ================================================================== --> |
95 |
<complexType name="AbstractTimeComplexType" abstract="true"> |
96 |
<annotation> |
97 |
<documentation xml:lang="en">The abstract supertype for temporal complexes.</documentation> |
98 |
</annotation> |
99 |
<complexContent> |
100 |
<extension base="gml:AbstractTimeObjectType"/> |
101 |
</complexContent> |
102 |
</complexType> |
103 |
<!-- ================================================================== --> |
104 |
<!-- ==== Time Geometric Primitive ===== --> |
105 |
<!-- ================================================================== --> |
106 |
<element name="_TimeGeometricPrimitive" type="gml:AbstractTimeGeometricPrimitiveType" abstract="true" substitutionGroup="gml:_TimePrimitive"> |
107 |
<annotation> |
108 |
<documentation xml:lang="en">This abstract element acts as the head of the substitution group for temporal geometric primitives.</documentation> |
109 |
</annotation> |
110 |
</element> |
111 |
<!-- ===================================== --> |
112 |
<complexType name="AbstractTimeGeometricPrimitiveType" abstract="true"> |
113 |
<annotation> |
114 |
<documentation xml:lang="en">The abstract supertype for temporal geometric primitives. |
115 |
A temporal geometry must be associated with a temporal reference system via URI. |
116 |
The Gregorian calendar with UTC is the default reference system, following ISO |
117 |
8601. Other reference systems in common use include the GPS calendar and the |
118 |
Julian calendar.</documentation> |
119 |
</annotation> |
120 |
<complexContent> |
121 |
<extension base="gml:AbstractTimePrimitiveType"> |
122 |
<attribute name="frame" type="anyURI" use="optional" default="#ISO-8601"/> |
123 |
</extension> |
124 |
</complexContent> |
125 |
</complexType> |
126 |
<!-- ================================================================== --> |
127 |
<complexType name="TimeGeometricPrimitivePropertyType"> |
128 |
<sequence minOccurs="0"> |
129 |
<element ref="gml:_TimeGeometricPrimitive"/> |
130 |
</sequence> |
131 |
<attributeGroup ref="gml:AssociationAttributeGroup"/> |
132 |
</complexType> |
133 |
<!-- ================================================================== --> |
134 |
<!-- ==== Time Instant ===== --> |
135 |
<!-- ================================================================== --> |
136 |
<element name="TimeInstant" type="gml:TimeInstantType" substitutionGroup="gml:_TimeGeometricPrimitive"/> |
137 |
<!-- ===================================== --> |
138 |
<complexType name="TimeInstantType"> |
139 |
<annotation> |
140 |
<documentation>Omit back-pointers begunBy, endedBy.</documentation> |
141 |
</annotation> |
142 |
<complexContent> |
143 |
<extension base="gml:AbstractTimeGeometricPrimitiveType"> |
144 |
<sequence> |
145 |
<element ref="gml:timePosition"/> |
146 |
</sequence> |
147 |
</extension> |
148 |
</complexContent> |
149 |
</complexType> |
150 |
<!-- ================================================================== --> |
151 |
<complexType name="TimeInstantPropertyType"> |
152 |
<sequence minOccurs="0"> |
153 |
<element ref="gml:TimeInstant"/> |
154 |
</sequence> |
155 |
<attributeGroup ref="gml:AssociationAttributeGroup"/> |
156 |
</complexType> |
157 |
<!-- ================================================================== --> |
158 |
<!-- ==== Time Period ===== --> |
159 |
<!-- ================================================================== --> |
160 |
<element name="TimePeriod" type="gml:TimePeriodType" substitutionGroup="gml:_TimeGeometricPrimitive"/> |
161 |
<!-- ===================================== --> |
162 |
<complexType name="TimePeriodType"> |
163 |
<complexContent> |
164 |
<extension base="gml:AbstractTimeGeometricPrimitiveType"> |
165 |
<sequence> |
166 |
<choice> |
167 |
<element name="beginPosition" type="gml:TimePositionType"/> |
168 |
<element name="begin" type="gml:TimeInstantPropertyType"/> |
169 |
</choice> |
170 |
<choice> |
171 |
<element name="endPosition" type="gml:TimePositionType"/> |
172 |
<element name="end" type="gml:TimeInstantPropertyType"/> |
173 |
</choice> |
174 |
<group ref="gml:timeLength" minOccurs="0"/> |
175 |
</sequence> |
176 |
</extension> |
177 |
</complexContent> |
178 |
</complexType> |
179 |
<!-- ================================================================== --> |
180 |
<complexType name="TimePeriodPropertyType"> |
181 |
<sequence minOccurs="0"> |
182 |
<element ref="gml:TimePeriod"/> |
183 |
</sequence> |
184 |
<attributeGroup ref="gml:AssociationAttributeGroup"/> |
185 |
</complexType> |
186 |
<!-- ================================================================== --> |
187 |
<!-- ==== duration & interval ===== --> |
188 |
<!-- ================================================================== --> |
189 |
<group name="timeLength"> |
190 |
<annotation> |
191 |
<documentation>This model group is provided as an alternative to the abstract susbstitutionGroup head _timeLength. |
192 |
ISO 19136 comment 411</documentation> |
193 |
</annotation> |
194 |
<choice> |
195 |
<element ref="gml:duration"/> |
196 |
<element ref="gml:timeInterval"/> |
197 |
</choice> |
198 |
</group> |
199 |
<!-- ================================================================== --> |
200 |
<element name="duration" type="duration"> |
201 |
<annotation> |
202 |
<documentation xml:lang="en">This element is an instance of the primitive xsd:duration simple type to |
203 |
enable use of the ISO 8601 syntax for temporal length (e.g. P5DT4H30M). |
204 |
It is a valid subtype of TimeDurationType according to section 3.14.6, |
205 |
rule 2.2.4 in XML Schema, Part 1.</documentation> |
206 |
</annotation> |
207 |
</element> |
208 |
<!-- ================================================================== --> |
209 |
<element name="timeInterval" type="gml:TimeIntervalLengthType"> |
210 |
<annotation> |
211 |
<documentation>This element is a valid subtype of TimeDurationType |
212 |
according to section 3.14.6, rule 2.2.4 in XML Schema, Part 1.</documentation> |
213 |
</annotation> |
214 |
</element> |
215 |
<!-- ===================================== --> |
216 |
<complexType name="TimeIntervalLengthType" final="#all"> |
217 |
<annotation> |
218 |
<documentation xml:lang="en">This type extends the built-in xsd:decimal simple type to allow floating-point |
219 |
values for temporal length. According to the ISO 11404 model you have to use |
220 |
positiveInteger together with appropriate values for radix and factor. The |
221 |
resolution of the time interval is to one radix ^(-factor) of the specified |
222 |
time unit (e.g. unit="second", radix="10", factor="3" specifies a resolution |
223 |
of milliseconds). It is a subtype of TimeDurationType.</documentation> |
224 |
</annotation> |
225 |
<simpleContent> |
226 |
<extension base="decimal"> |
227 |
<attribute name="unit" type="gml:TimeUnitType" use="required"/> |
228 |
<attribute name="radix" type="positiveInteger" use="optional"/> |
229 |
<attribute name="factor" type="integer" use="optional"/> |
230 |
</extension> |
231 |
</simpleContent> |
232 |
</complexType> |
233 |
<!-- ================================================================== --> |
234 |
<simpleType name="TimeUnitType"> |
235 |
<annotation> |
236 |
<documentation xml:lang="en">Standard units for measuring time intervals (see ISO 31-1).</documentation> |
237 |
</annotation> |
238 |
<union> |
239 |
<simpleType> |
240 |
<restriction base="string"> |
241 |
<enumeration value="year"/> |
242 |
<enumeration value="day"/> |
243 |
<enumeration value="hour"/> |
244 |
<enumeration value="minute"/> |
245 |
<enumeration value="second"/> |
246 |
</restriction> |
247 |
</simpleType> |
248 |
<simpleType> |
249 |
<restriction base="string"> |
250 |
<pattern value="other:\w{2,}"/> |
251 |
</restriction> |
252 |
</simpleType> |
253 |
</union> |
254 |
</simpleType> |
255 |
<!-- ================================================================== --> |
256 |
<!-- ==== Time Position ===== --> |
257 |
<!-- ================================================================== --> |
258 |
<element name="timePosition" type="gml:TimePositionType"> |
259 |
<annotation> |
260 |
<documentation>Direct representation of a temporal position</documentation> |
261 |
</annotation> |
262 |
</element> |
263 |
<!-- ================================================================== --> |
264 |
<complexType name="TimePositionType" final="#all"> |
265 |
<annotation> |
266 |
<documentation xml:lang="en">Direct representation of a temporal position. |
267 |
Indeterminate time values are also allowed, as described in ISO 19108. The indeterminatePosition |
268 |
attribute can be used alone or it can qualify a specific value for temporal position (e.g. before |
269 |
2002-12, after 1019624400). |
270 |
For time values that identify position within a calendar, the calendarEraName attribute provides |
271 |
the name of the calendar era to which the date is referenced (e.g. the Meiji era of the Japanese calendar).</documentation> |
272 |
</annotation> |
273 |
<simpleContent> |
274 |
<extension base="gml:TimePositionUnion"> |
275 |
<attribute name="frame" type="anyURI" use="optional" default="#ISO-8601"/> |
276 |
<attribute name="calendarEraName" type="string" use="optional"/> |
277 |
<attribute name="indeterminatePosition" type="gml:TimeIndeterminateValueType" use="optional"/> |
278 |
</extension> |
279 |
</simpleContent> |
280 |
</complexType> |
281 |
<!-- ================================================================== --> |
282 |
<simpleType name="TimePositionUnion"> |
283 |
<annotation> |
284 |
<documentation xml:lang="en">The ISO 19108:2002 hierarchy of subtypes for temporal position are collapsed |
285 |
by defining a union of XML Schema simple types for indicating temporal position relative |
286 |
to a specific reference system. |
287 |
|
288 |
Dates and dateTime may be indicated with varying degrees of precision. |
289 |
dateTime by itself does not allow right-truncation, except for fractions of seconds. |
290 |
When used with non-Gregorian calendars based on years, months, days, |
291 |
the same lexical representation should still be used, with leading zeros added if the |
292 |
year value would otherwise have fewer than four digits. |
293 |
|
294 |
An ordinal position may be referenced via URI identifying the definition of an ordinal era. |
295 |
|
296 |
A time coordinate value is indicated as a decimal (e.g. UNIX time, GPS calendar).</documentation> |
297 |
</annotation> |
298 |
<union memberTypes="gml:CalDate time dateTime anyURI decimal"/> |
299 |
</simpleType> |
300 |
<!-- ================================================================== --> |
301 |
<simpleType name="CalDate"> |
302 |
<annotation> |
303 |
<documentation xml:lang="en">Calendar dates may be indicated with varying degrees of precision, |
304 |
using year, year-month, date. |
305 |
When used with non-Gregorian calendars based on years, months, days, |
306 |
the same lexical representation should still be used, with leading zeros added if the |
307 |
year value would otherwise have fewer than four digits. |
308 |
time is used for a position that recurs daily (see clause 5.4.4.2 of ISO 19108:2002).</documentation> |
309 |
</annotation> |
310 |
<union memberTypes="date gYearMonth gYear"/> |
311 |
</simpleType> |
312 |
<!-- ================================================================== --> |
313 |
<simpleType name="TimeIndeterminateValueType"> |
314 |
<annotation> |
315 |
<documentation xml:lang="en">This enumerated data type specifies values for indeterminate positions.</documentation> |
316 |
</annotation> |
317 |
<restriction base="string"> |
318 |
<enumeration value="after"/> |
319 |
<enumeration value="before"/> |
320 |
<enumeration value="now"/> |
321 |
<enumeration value="unknown"/> |
322 |
</restriction> |
323 |
</simpleType> |
324 |
<!-- ================================================================== --> |
325 |
<!-- ==== Convenience properties ==== --> |
326 |
<!-- ================================================================== --> |
327 |
<element name="validTime" type="gml:TimePrimitivePropertyType"/> |
328 |
<!-- ===================================== --> |
329 |
</schema> |