Statistics
| Revision:

root / trunk / libraries / libGPE-GML / testdata / schemas / 3.1.1 / base / geometryBasic0d1d.xsd @ 11160

History | View | Annotate | Download (32.2 KB)

1
<?xml version="1.0" encoding="UTF-8"?>
2
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by David Burggraf (Galdos Systems Inc) -->
3
<schema targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns:sch="http://www.ascc.net/xml/schematron"
4
        xmlns="http://www.w3.org/2001/XMLSchema">
5
	<annotation>
6
		<appinfo source="urn:opengis:specification:gml:schema-xsd:geometryBasic0d1d:v3.1.1">geometryBasic0d1d.xsd</appinfo>
7
		<appinfo source="urn:opengis:specification:gml:schema-xsd:geometryBasic0d1d:v3.1.1">
8
			<sch:title>Schematron validation</sch:title>
9
			<sch:pattern name="Check SRS tags">
10
				<sch:rule abstract="true" id="CRSLabels">
11
					<sch:report test="not(@srsDimension) or @srsName">The presence of a dimension attribute implies the presence of the srsName attribute.</sch:report>
12
					<sch:report test="not(@axisLabels) or @srsName">The presence of an axisLabels attribute implies the presence of the srsName attribute.</sch:report>
13
					<sch:report test="not(@uomLabels) or @srsName">The presence of an uomLabels attribute implies the presence of the srsName attribute.</sch:report>
14
					<sch:report test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)">The presence of an uomLabels attribute implies the presence of the axisLabels attribute and vice versa.</sch:report>
15
				</sch:rule>
16
			</sch:pattern>
17
			<sch:pattern name="Check Dimension">
18
				<sch:rule abstract="true" id="Count">
19
					<sch:report test="not(@count) or @srsDimension">The presence of a count attribute implies the presence of the dimension attribute.</sch:report>
20
				</sch:rule>
21
			</sch:pattern>
22
		</appinfo>
23
		<documentation>Copyright (c) 2001-2005 OGC, All Rights Reserved.
24
	For conditions, see OGC Software Notice http://www.opengeospatial.org/about/?page=ipr</documentation>
25
	</annotation>
26
	<!-- ============================================================== -->
27
	<include schemaLocation="measures.xsd">
28
		<annotation>
29
			<documentation>This includes not only measures.xsd, but also units.xsd, gmlBase.xsd and basicTypes.xsd.</documentation>
30
		</annotation>
31
	</include>
32
	<!-- ============================================================== -->
33
	<!-- ===========  abstract supertype for geometry objects =================== -->
34
	<!-- ============================================================== -->
35
	<element name="_Geometry" type="gml:AbstractGeometryType" abstract="true" substitutionGroup="gml:_GML">
36
		<annotation>
37
			<documentation>The "_Geometry" element is the abstract head of the substituition group for all geometry elements of GML 3. This 
38
			includes pre-defined and user-defined geometry elements. Any geometry element must be a direct or indirect extension/restriction 
39
			of AbstractGeometryType and must be directly or indirectly in the substitution group of "_Geometry".</documentation>
40
			<appinfo>
41
				<sch:pattern name="Check SRS tags">
42
					<sch:rule context="gml:_Geometry">
43
						<sch:extends rule="CRSLabels"/>
44
					</sch:rule>
45
				</sch:pattern>
46
			</appinfo>
47
		</annotation>
48
	</element>
49
	<!-- ============================================================== -->
50
	<complexType name="GeometryPropertyType">
51
		<annotation>
52
			<documentation>A geometric property can either be any geometry element encapsulated in an element of this type or an XLink reference 
53
			to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Note that either 
54
			the reference or the contained element must be given, but not both or none.</documentation>
55
		</annotation>
56
		<sequence minOccurs="0">
57
			<element ref="gml:_Geometry"/>
58
		</sequence>
59
		<attributeGroup ref="gml:AssociationAttributeGroup">
60
			<annotation>
61
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference 
62
				remote resources (including those elsewhere in the same document). A simple link element can be constructed by 
63
				including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation 
64
				of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create 
65
				sophisticated links between resources; such links can be used to reference remote properties. A simple link element 
66
				can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by 
67
				including the gml:AssociationAttributeGroup.</documentation>
68
			</annotation>
69
		</attributeGroup>
70
	</complexType>
71
	<!-- ============================================================== -->
72
	<complexType name="GeometryArrayPropertyType">
73
		<annotation>
74
			<documentation>A container for an array of geometry elements. The elements are always contained in the array property, 
75
			referencing geometry elements or arrays of geometry elements is not supported.</documentation>
76
		</annotation>
77
		<sequence>
78
			<element ref="gml:_Geometry" minOccurs="0" maxOccurs="unbounded"/>
79
		</sequence>
80
	</complexType>
81
	<!-- ============================================================== -->
82
	<complexType name="AbstractGeometryType" abstract="true">
83
		<annotation>
84
			<documentation>All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may 
85
			have an identifying attribute ("gml:id"), a name (attribute "name") and a description (attribute "description"). It may be associated 
86
			with a spatial reference system (attribute "srsName"). The following rules shall be adhered: - Every geometry type shall derive 
87
			from this abstract type. - Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the 
88
			substitution group of _Geometry.</documentation>
89
		</annotation>
90
		<complexContent>
91
			<extension base="gml:AbstractGMLType">
92
				<attribute name="gid" type="string" use="optional">
93
					<annotation>
94
						<documentation>This attribute is included for backward compatibility with GML 2 and is deprecated with GML 3. 
95
						This identifer is superceded by "gml:id" inherited from AbstractGMLType. The attribute "gid" should not be used 
96
						anymore and may be deleted in future versions of GML without further notice.</documentation>
97
					</annotation>
98
				</attribute>
99
				<attributeGroup ref="gml:SRSReferenceGroup"/>
100
			</extension>
101
		</complexContent>
102
	</complexType>
103
	<!-- ============================================================== -->
104
	<attributeGroup name="SRSReferenceGroup">
105
		<annotation>
106
			<documentation>Optional reference to the CRS used by this geometry, with optional additional information to simplify use when 
107
			a more complete definition of the CRS is not needed.</documentation>
108
		</annotation>
109
		<attribute name="srsName" type="anyURI" use="optional">
110
			<annotation>
111
				<documentation>In general this reference points to a CRS instance of gml:CoordinateReferenceSystemType 
112
				(see coordinateReferenceSystems.xsd). For well known references it is not required that the CRS description exists at the 
113
				location the URI points to. If no srsName attribute is given, the CRS must be specified as part of the larger context this 
114
				geometry element is part of, e.g. a geometric element like point, curve, etc. It is expected that this attribute will be specified 
115
				at the direct position level only in rare cases.</documentation>
116
			</annotation>
117
		</attribute>
118
		<attribute name="srsDimension" type="positiveInteger" use="optional">
119
			<annotation>
120
				<documentation>The "srsDimension" is the length of coordinate sequence (the number of entries in the list). This dimension is 
121
				specified by the coordinate reference system. When the srsName attribute is omitted, this attribute shall be omitted.</documentation>
122
			</annotation>
123
		</attribute>
124
		<attributeGroup ref="gml:SRSInformationGroup"/>
125
	</attributeGroup>
126
	<!-- =================================================== -->
127
	<attributeGroup name="SRSInformationGroup">
128
		<annotation>
129
			<documentation>Optional additional and redundant information for a CRS to simplify use when a more complete definition of the 
130
			CRS is not needed. This information shall be the same as included in the more complete definition of the CRS, referenced by the 
131
			srsName attribute. When the srsName attribute is included, either both or neither of the axisLabels and uomLabels attributes 
132
			shall be included. When the srsName attribute is omitted, both of these attributes shall be omitted.</documentation>
133
		</annotation>
134
		<attribute name="axisLabels" type="gml:NCNameList" use="optional">
135
			<annotation>
136
				<documentation>Ordered list of labels for all the axes of this CRS. The gml:axisAbbrev value should be used for these axis 
137
				labels, after spaces and forbiddden characters are removed. When the srsName attribute is included, this attribute is optional. 
138
				When the srsName attribute is omitted, this attribute shall also be omitted.</documentation>
139
			</annotation>
140
		</attribute>
141
		<attribute name="uomLabels" type="gml:NCNameList" use="optional">
142
			<annotation>
143
				<documentation>Ordered list of unit of measure (uom) labels for all the axes of this CRS. The value of the string in the 
144
				gml:catalogSymbol should be used for this uom labels, after spaces and forbiddden characters are removed. When the 
145
				axisLabels attribute is included, this attribute shall also be included. When the axisLabels attribute is omitted, this attribute 
146
				shall also be omitted.</documentation>
147
			</annotation>
148
		</attribute>
149
	</attributeGroup>
150
	<!-- ============================================================== -->
151
	<element name="_GeometricPrimitive" type="gml:AbstractGeometricPrimitiveType" abstract="true" substitutionGroup="gml:_Geometry">
152
		<annotation>
153
			<documentation>The "_GeometricPrimitive" element is the abstract head of the substituition group for all (pre- and user-defined) 
154
			geometric primitives.</documentation>
155
		</annotation>
156
	</element>
157
	<!-- ============================================================== -->
158
	<complexType name="AbstractGeometricPrimitiveType" abstract="true">
159
		<annotation>
160
			<documentation>This is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not 
161
			decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their 
162
			coordinate tuples.</documentation>
163
		</annotation>
164
		<complexContent>
165
			<extension base="gml:AbstractGeometryType"/>
166
		</complexContent>
167
	</complexType>
168
	<!-- ============================================================== -->
169
	<complexType name="GeometricPrimitivePropertyType">
170
		<annotation>
171
			<documentation>A property that has a geometric primitive as its value domain can either be an appropriate geometry element 
172
			encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry 
173
			elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither 
174
			both nor none.</documentation>
175
		</annotation>
176
		<sequence minOccurs="0">
177
			<element ref="gml:_GeometricPrimitive"/>
178
		</sequence>
179
		<attributeGroup ref="gml:AssociationAttributeGroup">
180
			<annotation>
181
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote 
182
				resources (including those elsewhere in the same document). A simple link element can be constructed by including a 
183
				specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide 
184
				Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between 
185
				resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer 
186
				functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
187
			</annotation>
188
		</attributeGroup>
189
	</complexType>
190
	<!-- =========================================================== -->
191
	<!-- primitive geometry objects (0-dimensional) -->
192
	<!-- ============================================================== -->
193
	<element name="Point" type="gml:PointType" substitutionGroup="gml:_GeometricPrimitive"/>
194
	<!-- ============================================================== -->
195
	<complexType name="PointType">
196
		<annotation>
197
			<documentation>A Point is defined by a single coordinate tuple.</documentation>
198
		</annotation>
199
		<complexContent>
200
			<extension base="gml:AbstractGeometricPrimitiveType">
201
				<sequence>
202
					<choice>
203
						<annotation>
204
							<documentation>GML supports two different ways to specify the direct poisiton of a point. 1. The "pos" element is of type 
205
							DirectPositionType.</documentation>
206
						</annotation>
207
						<element ref="gml:pos"/>
208
						<element ref="gml:coordinates">
209
							<annotation>
210
								<documentation>Deprecated with GML version 3.1.0 for coordinates with ordinate values that are numbers. Use "pos" 
211
								instead. The "coordinates" element shall only be used for coordinates with ordinates that require a string 
212
								representation, e.g. DMS representations.</documentation>
213
							</annotation>
214
						</element>
215
						<element ref="gml:coord">
216
							<annotation>
217
								<documentation>Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for 
218
								backwards compatibility with GML 2.</documentation>
219
							</annotation>
220
						</element>
221
					</choice>
222
				</sequence>
223
			</extension>
224
		</complexContent>
225
	</complexType>
226
	<!-- ============================================================== -->
227
	<element name="pointProperty" type="gml:PointPropertyType">
228
		<annotation>
229
			<appinfo>
230
				<sch:pattern name="Check either href or content not both">
231
					<sch:rule context="gml:pointProperty">
232
						<sch:extends rule="hrefOrContent"/>
233
					</sch:rule>
234
				</sch:pattern>
235
			</appinfo>
236
			<documentation>This property element either references a point via the XLink-attributes or contains the point element. pointProperty 
237
			is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that 
238
			is substitutable for Point.</documentation>
239
		</annotation>
240
	</element>
241
	<!-- ============================================================== -->
242
	<element name="pointRep" type="gml:PointPropertyType">
243
		<annotation>
244
			<documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.</documentation>
245
		</annotation>
246
	</element>
247
	<!-- ============================================================== -->
248
	<complexType name="PointPropertyType">
249
		<annotation>
250
			<documentation>A property that has a point as its value domain can either be an appropriate geometry element encapsulated in an 
251
			element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located 
252
			elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none.</documentation>
253
		</annotation>
254
		<sequence minOccurs="0">
255
			<element ref="gml:Point"/>
256
		</sequence>
257
		<attributeGroup ref="gml:AssociationAttributeGroup">
258
			<annotation>
259
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote 
260
				resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific 
261
				set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. 
262
				XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be 
263
				used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has 
264
				been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
265
			</annotation>
266
		</attributeGroup>
267
	</complexType>
268
	<!-- ============================================================== -->
269
	<element name="pointArrayProperty" type="gml:PointArrayPropertyType"/>
270
	<!-- =========================================================== -->
271
	<complexType name="PointArrayPropertyType">
272
		<annotation>
273
			<documentation>A container for an array of points. The elements are always contained in the array property, referencing geometry 
274
			elements or arrays of geometry elements is not supported.</documentation>
275
		</annotation>
276
		<sequence>
277
			<element ref="gml:Point" minOccurs="0" maxOccurs="unbounded"/>
278
		</sequence>
279
	</complexType>
280
	<!-- =========================================================== -->
281
	<!-- primitive geometry objects (1-dimensional) -->
282
	<!-- ============================================================== -->
283
	<element name="_Curve" type="gml:AbstractCurveType" abstract="true" substitutionGroup="gml:_GeometricPrimitive">
284
		<annotation>
285
			<documentation>The "_Curve" element is the abstract head of the substituition group for all (continuous) curve elements.</documentation>
286
		</annotation>
287
	</element>
288
	<!-- ============================================================== -->
289
	<complexType name="AbstractCurveType" abstract="true">
290
		<annotation>
291
			<documentation>An abstraction of a curve to support the different levels of complexity. The curve can always be viewed as a geometric 
292
			primitive, i.e. is continuous.</documentation>
293
		</annotation>
294
		<complexContent>
295
			<extension base="gml:AbstractGeometricPrimitiveType"/>
296
		</complexContent>
297
	</complexType>
298
	<!-- ============================================================== -->
299
	<element name="curveProperty" type="gml:CurvePropertyType">
300
		<annotation>
301
			<appinfo>
302
				<sch:pattern name="Check either href or content not both">
303
					<sch:rule context="gml:curveProperty">
304
						<sch:extends rule="hrefOrContent"/>
305
					</sch:rule>
306
				</sch:pattern>
307
			</appinfo>
308
			<documentation>This property element either references a curve via the XLink-attributes or contains the curve element. curveProperty is the 
309
			predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is 
310
			substitutable for _Curve.</documentation>
311
		</annotation>
312
	</element>
313
	<!-- ============================================================== -->
314
	<complexType name="CurvePropertyType">
315
		<annotation>
316
			<documentation>A property that has a curve as its value domain can either be an appropriate geometry element encapsulated in an 
317
			element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere 
318
			in the same document). Either the reference or the contained element must be given, but neither both nor none.</documentation>
319
		</annotation>
320
		<sequence minOccurs="0">
321
			<element ref="gml:_Curve"/>
322
		</sequence>
323
		<attributeGroup ref="gml:AssociationAttributeGroup">
324
			<annotation>
325
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote 
326
				resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific 
327
				set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. 
328
				XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used 
329
				to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built 
330
				into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
331
			</annotation>
332
		</attributeGroup>
333
	</complexType>
334
	<!-- ============================================================== -->
335
	<element name="curveArrayProperty" type="gml:CurveArrayPropertyType"/>
336
	<!-- =========================================================== -->
337
	<complexType name="CurveArrayPropertyType">
338
		<annotation>
339
			<documentation>A container for an array of curves. The elements are always contained in the array property, referencing geometry elements 
340
			or arrays of geometry elements is not supported.</documentation>
341
		</annotation>
342
		<sequence>
343
			<element ref="gml:_Curve" minOccurs="0" maxOccurs="unbounded"/>
344
		</sequence>
345
	</complexType>
346
	<!-- =========================================================== -->
347
	<element name="LineString" type="gml:LineStringType" substitutionGroup="gml:_Curve"/>
348
	<!-- =========================================================== -->
349
	<complexType name="LineStringType">
350
		<annotation>
351
			<documentation>A LineString is a special curve that consists of a single segment with linear interpolation. It is defined by two or more coordinate 
352
			tuples, with linear interpolation between them. It is backwards compatible with the LineString of GML 2, GM_LineString of ISO 19107 is 
353
			implemented by LineStringSegment.</documentation>
354
		</annotation>
355
		<complexContent>
356
			<extension base="gml:AbstractCurveType">
357
				<sequence>
358
					<choice>
359
						<annotation>
360
							<documentation>GML supports two different ways to specify the control points of a line string. 1. A sequence of "pos" 
361
							(DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part 
362
							of this curve, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference 
363
							another point defined outside of this curve (reuse of existing points). 2. The "posList" element allows for a compact way to 
364
							specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong 
365
							to this curve only. The number of direct positions in the list must be at least two.</documentation>
366
						</annotation>
367
						<choice minOccurs="2" maxOccurs="unbounded">
368
							<element ref="gml:pos"/>
369
							<element ref="gml:pointProperty"/>
370
							<element ref="gml:pointRep">
371
								<annotation>
372
									<documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility 
373
									with GML 3.0.0.</documentation>
374
								</annotation>
375
							</element>
376
							<element ref="gml:coord">
377
								<annotation>
378
									<documentation>Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for backwards 
379
									compatibility with GML 2.</documentation>
380
								</annotation>
381
							</element>
382
						</choice>
383
						<element ref="gml:posList"/>
384
						<element ref="gml:coordinates">
385
							<annotation>
386
								<documentation>Deprecated with GML version 3.1.0. Use "posList" instead.</documentation>
387
							</annotation>
388
						</element>
389
					</choice>
390
				</sequence>
391
			</extension>
392
		</complexContent>
393
	</complexType>
394
	<!-- ============================================================== -->
395
	<!-- positions -->
396
	<!-- =========================================================== -->
397
	<element name="pos" type="gml:DirectPositionType">
398
		<annotation>
399
			<appinfo>
400
				<sch:pattern name="Check SRS tags">
401
					<sch:rule context="gml:pos">
402
						<sch:extends rule="CRSLabels"/>
403
					</sch:rule>
404
				</sch:pattern>
405
			</appinfo>
406
		</annotation>
407
	</element>
408
	<!-- ============================================================== -->
409
	<complexType name="DirectPositionType">
410
		<annotation>
411
			<documentation>DirectPosition instances hold the coordinates for a position within some coordinate reference system (CRS). Since 
412
			DirectPositions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the 
413
			"srsName" attribute will in general be missing, if this particular DirectPosition is included in a larger element with such a reference to a 
414
			CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS.</documentation>
415
		</annotation>
416
		<simpleContent>
417
			<extension base="gml:doubleList">
418
				<attributeGroup ref="gml:SRSReferenceGroup"/>
419
			</extension>
420
		</simpleContent>
421
	</complexType>
422
	<!-- =========================================================== -->
423
	<element name="posList" type="gml:DirectPositionListType">
424
		<annotation>
425
			<appinfo>
426
				<sch:pattern name="Check SRS tags">
427
					<sch:rule context="gml:posList">
428
						<sch:extends rule="CRSLabels"/>
429
					</sch:rule>
430
				</sch:pattern>
431
			</appinfo>
432
			<appinfo>
433
				<sch:pattern name="Check Dimension">
434
					<sch:rule context="gml:posList">
435
						<sch:extends rule="Count"/>
436
					</sch:rule>
437
				</sch:pattern>
438
			</appinfo>
439
		</annotation>
440
	</element>
441
	<!-- ============================================================== -->
442
	<complexType name="DirectPositionListType">
443
		<annotation>
444
			<documentation>DirectPositionList instances hold the coordinates for a sequence of direct positions within the same coordinate 
445
			reference system (CRS).</documentation>
446
		</annotation>
447
		<simpleContent>
448
			<extension base="gml:doubleList">
449
				<attributeGroup ref="gml:SRSReferenceGroup"/>
450
				<attribute name="count" type="positiveInteger" use="optional">
451
					<annotation>
452
						<documentation>"count" allows to specify the number of direct positions in the list. If the attribute count is present then 
453
						the attribute srsDimension shall be present, too.</documentation>
454
					</annotation>
455
				</attribute>
456
			</extension>
457
		</simpleContent>
458
	</complexType>
459
	<!-- ============================================================== -->
460
	<element name="vector" type="gml:VectorType">
461
		<annotation>
462
			<appinfo>
463
				<sch:pattern name="Check SRS tags">
464
					<sch:rule context="gml:vector">
465
						<sch:extends rule="CRSLabels"/>
466
					</sch:rule>
467
				</sch:pattern>
468
			</appinfo>
469
		</annotation>
470
	</element>
471
	<!-- ============================================================== -->
472
	<complexType name="VectorType">
473
		<annotation>
474
			<documentation>Vector instances hold the compoents for a (usually spatial) vector within some coordinate reference system (CRS). 
475
			Since Vectors will often be included in larger objects that have references to CRS, the "srsName" attribute may be missing. 
476
			In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS.
477

    
478
			Note that this content model is the same as DirectPositionType, but is defined separately to reflect the distinct semantics, and to avoid validation problems. SJDC 2004-12-02</documentation>
479
		</annotation>
480
		<simpleContent>
481
			<extension base="gml:doubleList">
482
				<attributeGroup ref="gml:SRSReferenceGroup"/>
483
			</extension>
484
		</simpleContent>
485
	</complexType>
486
	<!-- ============================================================== -->
487
	<group name="geometricPositionGroup">
488
		<annotation>
489
			<documentation>A geometric position represented either by a DirectPosition or a Point.</documentation>
490
		</annotation>
491
		<choice>
492
			<element ref="gml:pos"/>
493
			<element ref="gml:pointProperty"/>
494
		</choice>
495
	</group>
496
	<!-- ============================================================== -->
497
	<group name="geometricPositionListGroup">
498
		<annotation>
499
			<documentation>A list of geometric positions represented either by a DirectPosition or a Point.</documentation>
500
		</annotation>
501
		<choice>
502
			<element ref="gml:posList"/>
503
			<group ref="gml:geometricPositionGroup" maxOccurs="unbounded"/>
504
		</choice>
505
	</group>
506
	<!-- ============================================================== -->
507
	<element name="coordinates" type="gml:CoordinatesType">
508
		<annotation>
509
			<documentation>Deprecated with GML version 3.1.0.</documentation>
510
		</annotation>
511
	</element>
512
	<!-- =========================================================== -->
513
	<!-- Envelope -->
514
	<!-- =========================================================== -->
515
	<element name="Envelope" type="gml:EnvelopeType"/>
516
	<!-- =========================================================== -->
517
	<complexType name="EnvelopeType">
518
		<annotation>
519
			<documentation>Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions. The first direct 
520
			position is the "lower corner" (a coordinate position consisting of all the minimal ordinates for each dimension for all points within the envelope), 
521
			the second one the "upper corner" (a coordinate position consisting of all the maximal ordinates for each dimension for all points within the 
522
			envelope).</documentation>
523
		</annotation>
524
		<choice>
525
			<sequence>
526
				<element name="lowerCorner" type="gml:DirectPositionType"/>
527
				<element name="upperCorner" type="gml:DirectPositionType"/>
528
			</sequence>
529
			<element ref="gml:coord" minOccurs="2" maxOccurs="2">
530
				<annotation>
531
					<appinfo>deprecated</appinfo>
532
					<documentation>deprecated with GML version 3.0</documentation>
533
				</annotation>
534
			</element>
535
			<element ref="gml:pos" minOccurs="2" maxOccurs="2">
536
				<annotation>
537
					<appinfo>deprecated</appinfo>
538
					<documentation>Deprecated with GML version 3.1. Use the explicit properties "lowerCorner" and "upperCorner" instead.</documentation>
539
				</annotation>
540
			</element>
541
			<element ref="gml:coordinates">
542
				<annotation>
543
					<documentation>Deprecated with GML version 3.1.0. Use the explicit properties "lowerCorner" and "upperCorner" instead.</documentation>
544
				</annotation>
545
			</element>
546
		</choice>
547
		<attributeGroup ref="gml:SRSReferenceGroup"/>
548
	</complexType>
549
	<!-- =========================================================== -->
550
	<!-- =========================================================== -->
551
	<!-- =========================================================== -->
552
	<!--  	 	The following types and elements are deprecated and should not be used ! 	 	-->
553
	<element name="coord" type="gml:CoordType">
554
		<annotation>
555
			<documentation>Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "pos" element instead.</documentation>
556
		</annotation>
557
	</element>
558
	<complexType name="CoordType">
559
		<annotation>
560
			<documentation>Represents a coordinate tuple in one, two, or three dimensions. Deprecated with GML 3.0 and replaced by 
561
			DirectPositionType.</documentation>
562
		</annotation>
563
		<sequence>
564
			<element name="X" type="decimal"/>
565
			<element name="Y" type="decimal" minOccurs="0"/>
566
			<element name="Z" type="decimal" minOccurs="0"/>
567
		</sequence>
568
	</complexType>
569
	<!-- =========================================================== -->
570
	<element name="lineStringProperty" type="gml:LineStringPropertyType">
571
		<annotation>
572
			<documentation>Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "curveProperty" instead. This 
573
			property element either references a line string via the XLink-attributes or contains the line string element.</documentation>
574
		</annotation>
575
	</element>
576
	<!-- =========================================================== -->
577
	<complexType name="LineStringPropertyType">
578
		<annotation>
579
			<documentation>This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use 
580
			CurvePropertyType instead. A property that has a line string as its value domain can either be an appropriate geometry element encapsulated 
581
			in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere 
582
			in the same document). Either the reference or the contained element must be given, but neither both nor none.</documentation>
583
		</annotation>
584
		<sequence minOccurs="0">
585
			<element ref="gml:LineString"/>
586
		</sequence>
587
		<attributeGroup ref="gml:AssociationAttributeGroup">
588
			<annotation>
589
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources 
590
				(including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. 
591
				The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to 
592
				be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. 
593
				A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by 
594
				including the gml:AssociationAttributeGroup.</documentation>
595
			</annotation>
596
		</attributeGroup>
597
	</complexType>
598
	<!-- =========================================================== -->
599
</schema>