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> |