Project

General

Profile

« Previous | Next » 

Revision 10458

Added by Jing Tao almost 7 years ago

Add the schema for pangaea.

View differences:

lib/schema/isotc211-pangaea/geometryPrimitives.xsd
1
<?xml version="1.0" encoding="UTF-8"?>
2
<schema targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified" version="3.2.0">
3
	<annotation>
4
		<appinfo source="urn:ogc:specification:gml:schema-xsd:geometryPrimitives:3.2.0">geometryPrimitives.xsd</appinfo>
5
		<documentation>See ISO/DIS 19136 Clause 11.
6
Beside the “simple” geometric primitives specified in the previous Clause, this Clause specifies additional primitives to describe real world situations which require a more expressive geometry model.
7
</documentation>
8
	</annotation>
9
	<include schemaLocation="geometryBasic2d.xsd"/>
10
	<complexType name="CurveType">
11
		<complexContent>
12
			<extension base="gml:AbstractCurveType">
13
				<sequence>
14
					<element ref="gml:segments"/>
15
				</sequence>
16
			</extension>
17
		</complexContent>
18
	</complexType>
19
	<element name="Curve" type="gml:CurveType" substitutionGroup="gml:AbstractCurve">
20
		<annotation>
21
			<documentation>A curve is a 1-dimensional primitive. Curves are continuous, connected, and have a measurable length in terms of the coordinate system. 
22
A curve is composed of one or more curve segments. Each curve segment within a curve may be defined using a different interpolation method. The curve segments are connected to one another, with the end point of each segment except the last being the start point of the next segment in the segment list.
23
The orientation of the curve is positive.
24
The element segments encapsulates the segments of the curve.</documentation>
25
		</annotation>
26
	</element>
27
	<complexType name="OrientableCurveType">
28
		<complexContent>
29
			<extension base="gml:AbstractCurveType">
30
				<sequence>
31
					<element ref="gml:baseCurve"/>
32
				</sequence>
33
				<attribute name="orientation" type="gml:SignType" default="+"/>
34
			</extension>
35
		</complexContent>
36
	</complexType>
37
	<element name="baseCurve" type="gml:CurvePropertyType">
38
		<annotation>
39
			<documentation>The property baseCurve references or contains the base curve, i.e. it either references the base curve via the XLink-attributes or contains the curve element. A curve element is any element which is substitutable for AbstractCurve. The base curve has positive orientation.</documentation>
40
		</annotation>
41
	</element>
42
	<element name="OrientableCurve" type="gml:OrientableCurveType" substitutionGroup="gml:AbstractCurve">
43
		<annotation>
44
			<documentation>OrientableCurve consists of a curve and an orientation. If the orientation is "+", then the OrientableCurve is identical to the baseCurve. If the orientation is "-", then the OrientableCurve is related to another AbstractCurve with a parameterization that reverses the sense of the curve traversal.</documentation>
45
		</annotation>
46
	</element>
47
	<complexType name="AbstractCurveSegmentType" abstract="true">
48
		<attribute name="numDerivativesAtStart" type="integer" default="0"/>
49
		<attribute name="numDerivativesAtEnd" type="integer" default="0"/>
50
		<attribute name="numDerivativeInterior" type="integer" default="0"/>
51
	</complexType>
52
	<element name="AbstractCurveSegment" type="gml:AbstractCurveSegmentType" abstract="true" substitutionGroup="gml:AbstractObject">
53
		<annotation>
54
			<documentation>A curve segment defines a homogeneous segment of a curve.
55
The attributes numDerivativesAtStart, numDerivativesAtEnd and numDerivativesInterior specify the type of continuity as specified in ISO 19107:2003, 6.4.9.3.
56
The AbstractCurveSegment element is the abstract head of the substituition group for all curve segment elements, i.e. continuous segments of the same interpolation mechanism.
57
All curve segments shall have an attribute interpolation with type gml:CurveInterpolationType specifying the curve interpolation mechanism used for this segment. This mechanism uses the control points and control parameters to determine the position of this curve segment.</documentation>
58
		</annotation>
59
	</element>
60
	<complexType name="CurveSegmentArrayPropertyType">
61
		<annotation>
62
			<documentation>gml:CurveSegmentArrayPropertyType is a container for an array of curve segments.</documentation>
63
		</annotation>
64
		<sequence minOccurs="0" maxOccurs="unbounded">
65
			<element ref="gml:AbstractCurveSegment"/>
66
		</sequence>
67
	</complexType>
68
	<element name="segments" type="gml:CurveSegmentArrayPropertyType">
69
		<annotation>
70
			<documentation>This property element contains a list of curve segments. The order of the elements is significant and shall be preserved when processing the array.</documentation>
71
		</annotation>
72
	</element>
73
	<simpleType name="CurveInterpolationType">
74
		<annotation>
75
			<documentation>gml:CurveInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema.</documentation>
76
		</annotation>
77
		<restriction base="string">
78
			<enumeration value="linear"/>
79
			<enumeration value="geodesic"/>
80
			<enumeration value="circularArc3Points"/>
81
			<enumeration value="circularArc2PointWithBulge"/>
82
			<enumeration value="circularArcCenterPointWithRadius"/>
83
			<enumeration value="elliptical"/>
84
			<enumeration value="clothoid"/>
85
			<enumeration value="conic"/>
86
			<enumeration value="polynomialSpline"/>
87
			<enumeration value="cubicSpline"/>
88
			<enumeration value="rationalSpline"/>
89
		</restriction>
90
	</simpleType>
91
	<complexType name="LineStringSegmentType">
92
		<complexContent>
93
			<extension base="gml:AbstractCurveSegmentType">
94
				<sequence>
95
					<choice>
96
						<choice minOccurs="2" maxOccurs="unbounded">
97
							<element ref="gml:pos"/>
98
							<element ref="gml:pointProperty"/>
99
							<element ref="gml:pointRep"/>
100
						</choice>
101
						<element ref="gml:posList"/>
102
						<element ref="gml:coordinates"/>
103
					</choice>
104
				</sequence>
105
				<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="linear"/>
106
			</extension>
107
		</complexContent>
108
	</complexType>
109
	<element name="LineStringSegment" type="gml:LineStringSegmentType" substitutionGroup="gml:AbstractCurveSegment">
110
		<annotation>
111
			<documentation>A LineStringSegment is a curve segment that is defined by two or more control points including the start and end point, with linear interpolation between them.
112
The content model follows the general pattern for the encoding of curve segments.</documentation>
113
		</annotation>
114
	</element>
115
	<complexType name="ArcStringType">
116
		<complexContent>
117
			<extension base="gml:AbstractCurveSegmentType">
118
				<sequence>
119
					<choice>
120
						<choice minOccurs="3" maxOccurs="unbounded">
121
							<element ref="gml:pos"/>
122
							<element ref="gml:pointProperty"/>
123
							<element ref="gml:pointRep"/>
124
						</choice>
125
						<element ref="gml:posList"/>
126
						<element ref="gml:coordinates"/>
127
					</choice>
128
				</sequence>
129
				<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc3Points"/>
130
				<attribute name="numArc" type="integer"/>
131
			</extension>
132
		</complexContent>
133
	</complexType>
134
	<element name="ArcString" type="gml:ArcStringType" substitutionGroup="gml:AbstractCurveSegment">
135
		<annotation>
136
			<documentation>An ArcString is a curve segment that uses three-point circular arc interpolation (“circularArc3Points”). The number of arcs in the arc string may be explicitly stated in the attribute numArc. The number of control points in the arc string shall be 2 * numArc + 1.
137
The content model follows the general pattern for the encoding of curve segments.</documentation>
138
		</annotation>
139
	</element>
140
	<complexType name="ArcType">
141
		<complexContent>
142
			<restriction base="gml:ArcStringType">
143
				<sequence>
144
					<choice>
145
						<choice minOccurs="3" maxOccurs="3">
146
							<element ref="gml:pos"/>
147
							<element ref="gml:pointProperty"/>
148
							<element ref="gml:pointRep"/>
149
						</choice>
150
						<element ref="gml:posList"/>
151
						<element ref="gml:coordinates"/>
152
					</choice>
153
				</sequence>
154
				<attribute name="numArc" type="integer" fixed="1"/>
155
			</restriction>
156
		</complexContent>
157
	</complexType>
158
	<element name="Arc" type="gml:ArcType" substitutionGroup="gml:ArcString">
159
		<annotation>
160
			<documentation>An Arc is an arc string with only one arc unit, i.e. three control points including the start and end point. As arc is an arc string consisting of a single arc, the attribute “numArc” is fixed to "1".</documentation>
161
		</annotation>
162
	</element>
163
	<complexType name="CircleType">
164
		<complexContent>
165
			<extension base="gml:ArcType"/>
166
		</complexContent>
167
	</complexType>
168
	<element name="Circle" type="gml:CircleType" substitutionGroup="gml:Arc">
169
		<annotation>
170
			<documentation>A Circle is an arc whose ends coincide to form a simple closed loop. The three control points shall be distinct non-co-linear points for the circle to be unambiguously defined. The arc is simply extended past the third control point until the first control point is encountered.</documentation>
171
		</annotation>
172
	</element>
173
	<complexType name="ArcStringByBulgeType">
174
		<complexContent>
175
			<extension base="gml:AbstractCurveSegmentType">
176
				<sequence>
177
					<choice>
178
						<choice minOccurs="2" maxOccurs="unbounded">
179
							<element ref="gml:pos"/>
180
							<element ref="gml:pointProperty"/>
181
							<element ref="gml:pointRep"/>
182
						</choice>
183
						<element ref="gml:posList"/>
184
						<element ref="gml:coordinates"/>
185
					</choice>
186
					<element name="bulge" type="double" maxOccurs="unbounded"/>
187
					<element name="normal" type="gml:VectorType" maxOccurs="unbounded"/>
188
				</sequence>
189
				<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc2PointWithBulge"/>
190
				<attribute name="numArc" type="integer"/>
191
			</extension>
192
		</complexContent>
193
	</complexType>
194
	<element name="ArcStringByBulge" type="gml:ArcStringByBulgeType" substitutionGroup="gml:AbstractCurveSegment">
195
		<annotation>
196
			<documentation>This variant of the arc computes the mid points of the arcs instead of storing the coordinates directly. The control point sequence consists of the start and end points of each arc plus the bulge (see ISO 19107:2003, 6.4.17.2). The normal is a vector normal (perpendicular) to the chord of the arc (see ISO 19107:2003, 6.4.17.4).
197
The interpolation is fixed as "circularArc2PointWithBulge".
198
The number of arcs in the arc string may be explicitly stated in the attribute numArc. The number of control points in the arc string shall be numArc + 1.
199
The content model follows the general pattern for the encoding of curve segments.</documentation>
200
		</annotation>
201
	</element>
202
	<complexType name="ArcByBulgeType">
203
		<complexContent>
204
			<restriction base="gml:ArcStringByBulgeType">
205
				<sequence>
206
					<choice>
207
						<choice minOccurs="2" maxOccurs="2">
208
							<element ref="gml:pos"/>
209
							<element ref="gml:pointProperty"/>
210
							<element ref="gml:pointRep"/>
211
						</choice>
212
						<element ref="gml:posList"/>
213
						<element ref="gml:coordinates"/>
214
					</choice>
215
					<element name="bulge" type="double"/>
216
					<element name="normal" type="gml:VectorType"/>
217
				</sequence>
218
				<attribute name="numArc" type="integer" fixed="1"/>
219
			</restriction>
220
		</complexContent>
221
	</complexType>
222
	<element name="ArcByBulge" type="gml:ArcByBulgeType" substitutionGroup="gml:ArcStringByBulge">
223
		<annotation>
224
			<documentation>An ArcByBulge is an arc string with only one arc unit, i.e. two control points, one bulge and one normal vector.
225
As arc is an arc string consisting of a single arc, the attribute “numArc” is fixed to "1".</documentation>
226
		</annotation>
227
	</element>
228
	<complexType name="ArcByCenterPointType">
229
		<complexContent>
230
			<extension base="gml:AbstractCurveSegmentType">
231
				<sequence>
232
					<choice>
233
						<choice>
234
							<element ref="gml:pos"/>
235
							<element ref="gml:pointProperty"/>
236
							<element ref="gml:pointRep"/>
237
						</choice>
238
						<element ref="gml:posList"/>
239
						<element ref="gml:coordinates"/>
240
					</choice>
241
					<element name="radius" type="gml:LengthType"/>
242
					<element name="startAngle" type="gml:AngleType" minOccurs="0"/>
243
					<element name="endAngle" type="gml:AngleType" minOccurs="0"/>
244
				</sequence>
245
				<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArcCenterPointWithRadius"/>
246
				<attribute name="numArc" type="integer" use="required" fixed="1"/>
247
			</extension>
248
		</complexContent>
249
	</complexType>
250
	<element name="ArcByCenterPoint" type="gml:ArcByCenterPointType" substitutionGroup="gml:AbstractCurveSegment">
251
		<annotation>
252
			<documentation>This variant of the arc requires that the points on the arc shall be computed instead of storing the coordinates directly. The single control point is the center point of the arc plus the radius and the bearing at start and end. This representation can be used only in 2D.
253
The element radius specifies the radius of the arc.
254
The element startAngle specifies the bearing of the arc at the start.
255
The element endAngle specifies the bearing of the arc at the end.
256
The interpolation is fixed as "circularArcCenterPointWithRadius".
257
Since this type describes always a single arc, the attribute “numArc” is fixed to "1".
258
The content model follows the general pattern for the encoding of curve segments.</documentation>
259
		</annotation>
260
	</element>
261
	<complexType name="CircleByCenterPointType">
262
		<complexContent>
263
			<restriction base="gml:ArcByCenterPointType">
264
				<sequence>
265
					<choice>
266
						<choice>
267
							<element ref="gml:pos"/>
268
							<element ref="gml:pointProperty"/>
269
							<element ref="gml:pointRep"/>
270
						</choice>
271
						<element ref="gml:posList"/>
272
						<element ref="gml:coordinates"/>
273
					</choice>
274
					<element name="radius" type="gml:LengthType"/>
275
				</sequence>
276
			</restriction>
277
		</complexContent>
278
	</complexType>
279
	<element name="CircleByCenterPoint" type="gml:CircleByCenterPointType" substitutionGroup="gml:ArcByCenterPoint">
280
		<annotation>
281
			<documentation>A gml:CircleByCenterPoint is an gml:ArcByCenterPoint with identical start and end angle to form a full circle. Again, this representation can be used only in 2D.</documentation>
282
		</annotation>
283
	</element>
284
	<complexType name="CubicSplineType">
285
		<complexContent>
286
			<extension base="gml:AbstractCurveSegmentType">
287
				<sequence>
288
					<choice>
289
						<choice minOccurs="2" maxOccurs="unbounded">
290
							<element ref="gml:pos"/>
291
							<element ref="gml:pointProperty"/>
292
							<element ref="gml:pointRep"/>
293
						</choice>
294
						<element ref="gml:posList"/>
295
						<element ref="gml:coordinates"/>
296
					</choice>
297
					<element name="vectorAtStart" type="gml:VectorType"/>
298
					<element name="vectorAtEnd" type="gml:VectorType"/>
299
				</sequence>
300
				<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="cubicSpline"/>
301
				<attribute name="degree" type="integer" fixed="3"/>
302
			</extension>
303
		</complexContent>
304
	</complexType>
305
	<element name="CubicSpline" type="gml:CubicSplineType" substitutionGroup="gml:AbstractCurveSegment">
306
		<annotation>
307
			<documentation>The number of control points shall be at least three.
308
vectorAtStart is the unit tangent vector at the start point of the spline. vectorAtEnd is the unit tangent vector at the end point of the spline. Only the direction of the vectors shall be used to determine the shape of the cubic spline, not their length.
309
interpolation is fixed as "cubicSpline".
310
degree shall be the degree of the polynomial used for the interpolation in this spline. Therefore the degree for a cubic spline is fixed to "3".
311
The content model follows the general pattern for the encoding of curve segments.</documentation>
312
		</annotation>
313
	</element>
314
	<complexType name="BSplineType">
315
		<complexContent>
316
			<extension base="gml:AbstractCurveSegmentType">
317
				<sequence>
318
					<choice>
319
						<choice minOccurs="0" maxOccurs="unbounded">
320
							<element ref="gml:pos"/>
321
							<element ref="gml:pointProperty"/>
322
							<element ref="gml:pointRep"/>
323
						</choice>
324
						<element ref="gml:posList"/>
325
						<element ref="gml:coordinates"/>
326
					</choice>
327
					<element name="degree" type="nonNegativeInteger"/>
328
					<element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="unbounded"/>
329
				</sequence>
330
				<attribute name="interpolation" type="gml:CurveInterpolationType" default="polynomialSpline"/>
331
				<attribute name="isPolynomial" type="boolean"/>
332
				<attribute name="knotType" type="gml:KnotTypesType"/>
333
			</extension>
334
		</complexContent>
335
	</complexType>
336
	<element name="BSpline" type="gml:BSplineType" substitutionGroup="gml:AbstractCurveSegment">
337
		<annotation>
338
			<documentation>A B-Spline is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions as specified in ISO 19107:2003, 6.4.30. Therefore, interpolation may be either "polynomialSpline" or "rationalSpline" depending on the interpolation type; default is "polynomialSpline".
339
degree shall be the degree of the polynomial used for interpolation in this spline.
340
knot shall be the sequence of distinct knots used to define the spline basis functions (see ISO 19107:2003, 6.4.26.2).
341
The attribute isPolynomial shall be set to “true” if this is a polynomial spline (see ISO 19107:2003, 6.4.30.5).
342
The attribute knotType shall provide the type of knot distribution used in defining this spline (see ISO 19107:2003, 6.4.30.4).
343
The content model follows the general pattern for the encoding of curve segments.</documentation>
344
		</annotation>
345
	</element>
346
	<complexType name="KnotType">
347
		<sequence>
348
			<element name="value" type="double"/>
349
			<element name="multiplicity" type="nonNegativeInteger"/>
350
			<element name="weight" type="double"/>
351
		</sequence>
352
	</complexType>
353
	<complexType name="KnotPropertyType">
354
		<annotation>
355
			<documentation>gml:KnotPropertyType encapsulates a knot to use it in a geometric type.</documentation>
356
		</annotation>
357
		<sequence>
358
			<element name="Knot" type="gml:KnotType">
359
				<annotation>
360
					<documentation>A knot is a breakpoint on a piecewise spline curve.
361
value is the value of the parameter at the knot of the spline (see ISO 19107:2003, 6.4.24.2).
362
multiplicity is the multiplicity of this knot used in the definition of the spline (with the same weight).
363
weight is the value of the averaging weight used for this knot of the spline.</documentation>
364
				</annotation>
365
			</element>
366
		</sequence>
367
	</complexType>
368
	<simpleType name="KnotTypesType">
369
		<annotation>
370
			<documentation>This enumeration type specifies values for the knots’ type (see ISO 19107:2003, 6.4.25).</documentation>
371
		</annotation>
372
		<restriction base="string">
373
			<enumeration value="uniform"/>
374
			<enumeration value="quasiUniform"/>
375
			<enumeration value="piecewiseBezier"/>
376
		</restriction>
377
	</simpleType>
378
	<complexType name="BezierType">
379
		<complexContent>
380
			<restriction base="gml:BSplineType">
381
				<sequence>
382
					<choice>
383
						<choice minOccurs="0" maxOccurs="unbounded">
384
							<element ref="gml:pos"/>
385
							<element ref="gml:pointProperty"/>
386
							<element ref="gml:pointRep"/>
387
						</choice>
388
						<element ref="gml:posList"/>
389
						<element ref="gml:coordinates"/>
390
					</choice>
391
					<element name="degree" type="nonNegativeInteger"/>
392
					<element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="2"/>
393
				</sequence>
394
				<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="polynomialSpline"/>
395
				<attribute name="isPolynomial" type="boolean" fixed="true"/>
396
				<attribute name="knotType" type="gml:KnotTypesType" use="prohibited"/>
397
			</restriction>
398
		</complexContent>
399
	</complexType>
400
	<element name="Bezier" type="gml:BezierType" substitutionGroup="gml:BSpline">
401
		<annotation>
402
			<documentation>Bezier curves are polynomial splines that use Bezier or Bernstein polynomials for interpolation purposes. It is a special case of the B-Spline curve with two knots.
403
degree shall be the degree of the polynomial used for interpolation in this spline.
404
knot shall be the sequence of distinct knots used to define the spline basis functions.
405
interpolation is fixed as "polynomialSpline".
406
isPolynomial is fixed as “true”.
407
knotType is not relevant for Bezier curve segments.
408
</documentation>
409
		</annotation>
410
	</element>
411
	<complexType name="OffsetCurveType">
412
		<complexContent>
413
			<extension base="gml:AbstractCurveSegmentType">
414
				<sequence>
415
					<element name="offsetBase" type="gml:CurvePropertyType"/>
416
					<element name="distance" type="gml:LengthType"/>
417
					<element name="refDirection" type="gml:VectorType" minOccurs="0"/>
418
				</sequence>
419
			</extension>
420
		</complexContent>
421
	</complexType>
422
	<element name="OffsetCurve" type="gml:OffsetCurveType" substitutionGroup="gml:AbstractCurveSegment">
423
		<annotation>
424
			<documentation>An offset curve is a curve at a constant distance from the basis curve. offsetBase is the base curve from which this curve is defined as an offset. distance and refDirection have the same meaning as specified in ISO 19107:2003, 6.4.23.
425
The content model follows the general pattern for the encoding of curve segments.</documentation>
426
		</annotation>
427
	</element>
428
	<complexType name="AffinePlacementType">
429
		<sequence>
430
			<element name="location" type="gml:DirectPositionType"/>
431
			<element name="refDirection" type="gml:VectorType" maxOccurs="unbounded"/>
432
			<element name="inDimension" type="positiveInteger"/>
433
			<element name="outDimension" type="positiveInteger"/>
434
		</sequence>
435
	</complexType>
436
	<element name="AffinePlacement" type="gml:AffinePlacementType" substitutionGroup="gml:AbstractObject">
437
		<annotation>
438
			<documentation>location, refDirection, inDimension and outDimension have the same meaning as specified in ISO 19107:2003, 6.4.21.</documentation>
439
		</annotation>
440
	</element>
441
	<complexType name="ClothoidType">
442
		<complexContent>
443
			<extension base="gml:AbstractCurveSegmentType">
444
				<sequence>
445
					<element name="refLocation">
446
						<complexType>
447
							<sequence>
448
								<element ref="gml:AffinePlacement"/>
449
							</sequence>
450
						</complexType>
451
					</element>
452
					<element name="scaleFactor" type="decimal"/>
453
					<element name="startParameter" type="double"/>
454
					<element name="endParameter" type="double"/>
455
				</sequence>
456
				<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="clothoid"/>
457
			</extension>
458
		</complexContent>
459
	</complexType>
460
	<element name="Clothoid" type="gml:ClothoidType" substitutionGroup="gml:AbstractCurveSegment">
461
		<annotation>
462
			<documentation>A clothoid, or Cornu's spiral, is plane curve whose curvature is a fixed function of its length.
463
refLocation, startParameter, endParameter and scaleFactor have the same meaning as specified in ISO 19107:2003, 6.4.22.
464
interpolation is fixed as "clothoid".
465
The content model follows the general pattern for the encoding of curve segments.</documentation>
466
		</annotation>
467
	</element>
468
	<complexType name="GeodesicStringType">
469
		<complexContent>
470
			<extension base="gml:AbstractCurveSegmentType">
471
				<choice>
472
					<element ref="gml:posList"/>
473
					<group ref="gml:geometricPositionGroup" minOccurs="2" maxOccurs="unbounded"/>
474
				</choice>
475
				<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="geodesic"/>
476
			</extension>
477
		</complexContent>
478
	</complexType>
479
	<element name="GeodesicString" type="gml:GeodesicStringType" substitutionGroup="gml:AbstractCurveSegment">
480
		<annotation>
481
			<documentation>A sequence of geodesic segments. 
482
The number of control points shall be at least two.
483
interpolation is fixed as "geodesic".
484
The content model follows the general pattern for the encoding of curve segments.</documentation>
485
		</annotation>
486
	</element>
487
	<complexType name="GeodesicType">
488
		<complexContent>
489
			<extension base="gml:GeodesicStringType"/>
490
		</complexContent>
491
	</complexType>
492
	<element name="Geodesic" type="gml:GeodesicType" substitutionGroup="gml:GeodesicString"/>
493
	<complexType name="SurfaceType">
494
		<complexContent>
495
			<extension base="gml:AbstractSurfaceType">
496
				<sequence>
497
					<element ref="gml:patches"/>
498
				</sequence>
499
			</extension>
500
		</complexContent>
501
	</complexType>
502
	<element name="Surface" type="gml:SurfaceType" substitutionGroup="gml:AbstractSurface">
503
		<annotation>
504
			<documentation>A Surface is a 2-dimensional primitive and is composed of one or more surface patches as specified in ISO 19107:2003, 6.3.17.1. The surface patches are connected to one another.
505
patches encapsulates the patches of the surface.</documentation>
506
		</annotation>
507
	</element>
508
	<complexType name="OrientableSurfaceType">
509
		<complexContent>
510
			<extension base="gml:AbstractSurfaceType">
511
				<sequence>
512
					<element ref="gml:baseSurface"/>
513
				</sequence>
514
				<attribute name="orientation" type="gml:SignType" default="+"/>
515
			</extension>
516
		</complexContent>
517
	</complexType>
518
	<element name="baseSurface" type="gml:SurfacePropertyType">
519
		<annotation>
520
			<documentation>The property baseSurface references or contains the base surface. The property baseSurface either references the base surface via the XLink-attributes or contains the surface element. A surface element is any element which is substitutable for gml:AbstractSurface. The base surface has positive orientation.</documentation>
521
		</annotation>
522
	</element>
523
	<element name="OrientableSurface" type="gml:OrientableSurfaceType" substitutionGroup="gml:AbstractSurface">
524
		<annotation>
525
			<documentation>OrientableSurface consists of a surface and an orientation. If the orientation is "+", then the OrientableSurface is identical to the baseSurface. If the orientation is "-", then the OrientableSurface is a reference to a gml:AbstractSurface with an up-normal that reverses the direction for this OrientableSurface, the sense of "the top of the surface".</documentation>
526
		</annotation>
527
	</element>
528
	<complexType name="AbstractSurfacePatchType" abstract="true"/>
529
	<element name="AbstractSurfacePatch" type="gml:AbstractSurfacePatchType" abstract="true">
530
		<annotation>
531
			<documentation>A surface patch defines a homogenuous portion of a surface. 
532
The AbstractSurfacePatch element is the abstract head of the substituition group for all surface patch elements describing a continuous portion of a surface.
533
All surface patches shall have an attribute interpolation (declared in the types derived from gml:AbstractSurfacePatchType) specifying the interpolation mechanism used for the patch using gml:SurfaceInterpolationType.</documentation>
534
		</annotation>
535
	</element>
536
	<complexType name="SurfacePatchArrayPropertyType">
537
		<annotation>
538
			<documentation>gml:SurfacePatchArrayPropertyType is a container for a sequence of surface patches.</documentation>
539
		</annotation>
540
		<sequence minOccurs="0" maxOccurs="unbounded">
541
			<element ref="gml:AbstractSurfacePatch"/>
542
		</sequence>
543
	</complexType>
544
	<element name="patches" type="gml:SurfacePatchArrayPropertyType">
545
		<annotation>
546
			<documentation>The patches property element contains the sequence of surface patches. The order of the elements is significant and shall be preserved when processing the array.</documentation>
547
		</annotation>
548
	</element>
549
	<simpleType name="SurfaceInterpolationType">
550
		<annotation>
551
			<documentation>gml:SurfaceInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema.</documentation>
552
		</annotation>
553
		<restriction base="string">
554
			<enumeration value="none"/>
555
			<enumeration value="planar"/>
556
			<enumeration value="spherical"/>
557
			<enumeration value="elliptical"/>
558
			<enumeration value="conic"/>
559
			<enumeration value="tin"/>
560
			<enumeration value="parametricCurve"/>
561
			<enumeration value="polynomialSpline"/>
562
			<enumeration value="rationalSpline"/>
563
			<enumeration value="triangulatedSpline"/>
564
		</restriction>
565
	</simpleType>
566
	<complexType name="PolygonPatchType">
567
		<complexContent>
568
			<extension base="gml:AbstractSurfacePatchType">
569
				<sequence>
570
					<element ref="gml:exterior" minOccurs="0"/>
571
					<element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/>
572
				</sequence>
573
				<attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/>
574
			</extension>
575
		</complexContent>
576
	</complexType>
577
	<element name="PolygonPatch" type="gml:PolygonPatchType" substitutionGroup="gml:AbstractSurfacePatch">
578
		<annotation>
579
			<documentation>A gml:PolygonPatch is a surface patch that is defined by a set of boundary curves and an underlying surface to which these curves adhere. The curves shall be coplanar and the polygon uses planar interpolation in its interior. 
580
interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of the patch shall be contained within that plane.</documentation>
581
		</annotation>
582
	</element>
583
	<complexType name="TriangleType">
584
		<complexContent>
585
			<extension base="gml:AbstractSurfacePatchType">
586
				<sequence>
587
					<element ref="gml:exterior"/>
588
				</sequence>
589
				<attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/>
590
			</extension>
591
		</complexContent>
592
	</complexType>
593
	<element name="Triangle" type="gml:TriangleType" substitutionGroup="gml:AbstractSurfacePatch">
594
		<annotation>
595
			<documentation>gml:Triangle represents a triangle as a surface patch with an outer boundary consisting of a linear ring. Note that this is a polygon (subtype) with no inner boundaries. The number of points in the linear ring shall be four.
596
The ring (element exterior) shall be a gml:LinearRing and shall form a triangle, the first and the last position shall be coincident.
597
interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of the patch shall be contained within that plane.</documentation>
598
		</annotation>
599
	</element>
600
	<complexType name="RectangleType">
601
		<complexContent>
602
			<extension base="gml:AbstractSurfacePatchType">
603
				<sequence>
604
					<element ref="gml:exterior"/>
605
				</sequence>
606
				<attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/>
607
			</extension>
608
		</complexContent>
609
	</complexType>
610
	<element name="Rectangle" type="gml:RectangleType" substitutionGroup="gml:AbstractSurfacePatch">
611
		<annotation>
612
			<documentation>gml:Rectangle represents a rectangle as a surface patch with an outer boundary consisting of a linear ring. Note that this is a polygon (subtype) with no inner boundaries. The number of points in the linear ring shall be five.
613
The ring (element exterior) shall be a gml:LinearRing and shall form a rectangle; the first and the last position shall be coincident.
614
interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of the patch shall be contained within that plane.</documentation>
615
		</annotation>
616
	</element>
617
	<complexType name="RingType">
618
		<complexContent>
619
			<extension base="gml:AbstractRingType">
620
				<sequence>
621
					<element ref="gml:curveMember" maxOccurs="unbounded"/>
622
				</sequence>
623
				<attributeGroup ref="gml:AggregationAttributeGroup"/>
624
			</extension>
625
		</complexContent>
626
	</complexType>
627
	<element name="Ring" type="gml:RingType" substitutionGroup="gml:AbstractRing">
628
		<annotation>
629
			<documentation>A ring is used to represent a single connected component of a surface boundary as specified in ISO 19107:2003, 6.3.6.
630
Every gml:curveMember references or contains one curve, i.e. any element which is substitutable for gml:AbstractCurve. In the context of a ring, the curves describe the boundary of the surface. The sequence of curves shall be contiguous and connected in a cycle.
631
If provided, the aggregationType attribute shall have the value “sequence”.</documentation>
632
		</annotation>
633
	</element>
634
	<element name="curveMember" type="gml:CurvePropertyType"/>
635
	<complexType name="RingPropertyType">
636
		<annotation>
637
			<documentation>A property with the content model of gml:RingPropertyType encapsulates a ring to represent a component of a surface boundary.</documentation>
638
		</annotation>
639
		<sequence>
640
			<element ref="gml:Ring"/>
641
		</sequence>
642
	</complexType>
643
	<group name="PointGrid">
644
		<annotation>
645
			<documentation>A gml:PointGrid group contains or references points or positions which are organised into sequences or grids. All rows shall have the same number of positions (columns).</documentation>
646
		</annotation>
647
		<sequence>
648
			<element name="rows">
649
				<complexType>
650
					<sequence>
651
						<element name="Row" maxOccurs="unbounded">
652
							<complexType>
653
								<group ref="gml:geometricPositionListGroup"/>
654
							</complexType>
655
						</element>
656
					</sequence>
657
				</complexType>
658
			</element>
659
		</sequence>
660
	</group>
661
	<complexType name="AbstractParametricCurveSurfaceType" abstract="true">
662
		<complexContent>
663
			<extension base="gml:AbstractSurfacePatchType">
664
				<attributeGroup ref="gml:AggregationAttributeGroup"/>
665
			</extension>
666
		</complexContent>
667
	</complexType>
668
	<element name="AbstractParametricCurveSurface" type="gml:AbstractParametricCurveSurfaceType" abstract="true" substitutionGroup="gml:AbstractSurfacePatch">
669
		<annotation>
670
			<documentation>The element provides a substitution group head for the surface patches based on parametric curves. All properties are specified in the derived subtypes. All derived subtypes shall conform to the constraints specified in ISO 19107:2003, 6.4.40.
671
If provided, the aggregationType attribute shall have the value “set”.</documentation>
672
		</annotation>
673
	</element>
674
	<complexType name="AbstractGriddedSurfaceType" abstract="true">
675
		<complexContent>
676
			<extension base="gml:AbstractParametricCurveSurfaceType">
677
				<sequence>
678
					<group ref="gml:PointGrid"/>
679
				</sequence>
680
				<attribute name="rows" type="integer"/>
681
				<attribute name="columns" type="integer"/>
682
			</extension>
683
		</complexContent>
684
	</complexType>
685
	<element name="AbstractGriddedSurface" type="gml:AbstractGriddedSurfaceType" abstract="true" substitutionGroup="gml:AbstractParametricCurveSurface">
686
		<annotation>
687
			<documentation>if provided, rows gives the number of rows, columns the number of columns in the parameter grid. The parameter grid is represented by an instance of the gml:PointGrid group.
688
The element provides a substitution group head for the surface patches based on a grid. All derived subtypes shall conform to the constraints specified in ISO 19107:2003, 6.4.41.</documentation>
689
		</annotation>
690
	</element>
691
	<complexType name="ConeType">
692
		<complexContent>
693
			<extension base="gml:AbstractGriddedSurfaceType">
694
				<attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/>
695
				<attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="linear"/>
696
			</extension>
697
		</complexContent>
698
	</complexType>
699
	<element name="Cone" type="gml:ConeType" substitutionGroup="gml:AbstractGriddedSurface"/>
700
	<complexType name="CylinderType">
701
		<complexContent>
702
			<extension base="gml:AbstractGriddedSurfaceType">
703
				<attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/>
704
				<attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="linear"/>
705
			</extension>
706
		</complexContent>
707
	</complexType>
708
	<element name="Cylinder" type="gml:CylinderType" substitutionGroup="gml:AbstractGriddedSurface"/>
709
	<complexType name="SphereType">
710
		<complexContent>
711
			<extension base="gml:AbstractGriddedSurfaceType">
712
				<attribute name="horizontalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/>
713
				<attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/>
714
			</extension>
715
		</complexContent>
716
	</complexType>
717
	<element name="Sphere" type="gml:SphereType" substitutionGroup="gml:AbstractGriddedSurface"/>
718
	<complexType name="PolyhedralSurfaceType">
719
		<complexContent>
720
			<restriction base="gml:SurfaceType">
721
				<sequence>
722
					<group ref="gml:StandardObjectProperties"/>
723
					<element ref="gml:polygonPatches"/>
724
				</sequence>
725
			</restriction>
726
		</complexContent>
727
	</complexType>
728
	<element name="polygonPatches" type="gml:PolygonPatchArrayPropertyType" substitutionGroup="gml:patches"/>
729
	<element name="PolyhedralSurface" type="gml:PolyhedralSurfaceType" substitutionGroup="gml:Surface">
730
		<annotation>
731
			<documentation>A polyhedral surface is a surface composed of polygon patches connected along their common boundary curves. This differs from the surface type only in the restriction on the types of surface patches acceptable.
732
polygonPatches encapsulates the polygon patches of the polyhedral surface.</documentation>
733
		</annotation>
734
	</element>
735
	<complexType name="PolygonPatchArrayPropertyType">
736
		<annotation>
737
			<documentation>gml:PolygonPatchArrayPropertyType provides a container for an array of polygon patches.</documentation>
738
		</annotation>
739
		<complexContent>
740
			<restriction base="gml:SurfacePatchArrayPropertyType">
741
				<sequence minOccurs="0" maxOccurs="unbounded">
742
					<element ref="gml:PolygonPatch"/>
743
				</sequence>
744
			</restriction>
745
		</complexContent>
746
	</complexType>
747
	<complexType name="TriangulatedSurfaceType">
748
		<complexContent>
749
			<restriction base="gml:SurfaceType">
750
				<sequence>
751
					<group ref="gml:StandardObjectProperties"/>
752
					<element ref="gml:trianglePatches"/>
753
				</sequence>
754
			</restriction>
755
		</complexContent>
756
	</complexType>
757
	<element name="trianglePatches" type="gml:TrianglePatchArrayPropertyType" substitutionGroup="gml:patches"/>
758
	<element name="TriangulatedSurface" type="gml:TriangulatedSurfaceType" substitutionGroup="gml:Surface">
759
		<annotation>
760
			<documentation>A triangulated surface is a polyhedral surface that is composed only of triangles. There is no restriction on how the triangulation is derived.
761
trianglePatches encapsulates the triangles of the triangulated surface.</documentation>
762
		</annotation>
763
	</element>
764
	<complexType name="TrianglePatchArrayPropertyType">
765
		<annotation>
766
			<documentation>gml:TrianglePatchArrayPropertyType provides a container for an array of triangle patches.</documentation>
767
		</annotation>
768
		<complexContent>
769
			<restriction base="gml:SurfacePatchArrayPropertyType">
770
				<sequence minOccurs="0" maxOccurs="unbounded">
771
					<element ref="gml:Triangle"/>
772
				</sequence>
773
			</restriction>
774
		</complexContent>
775
	</complexType>
776
	<complexType name="TinType">
777
		<complexContent>
778
			<extension base="gml:TriangulatedSurfaceType">
779
				<sequence>
780
					<element name="stopLines" type="gml:LineStringSegmentArrayPropertyType" minOccurs="0" maxOccurs="unbounded"/>
781
					<element name="breakLines" type="gml:LineStringSegmentArrayPropertyType" minOccurs="0" maxOccurs="unbounded"/>
782
					<element name="maxLength" type="gml:LengthType"/>
783
					<element name="controlPoint">
784
						<complexType>
785
							<choice>
786
								<element ref="gml:posList"/>
787
								<group ref="gml:geometricPositionGroup" minOccurs="3" maxOccurs="unbounded"/>
788
							</choice>
789
						</complexType>
790
					</element>
791
				</sequence>
792
			</extension>
793
		</complexContent>
794
	</complexType>
795
	<element name="Tin" type="gml:TinType" substitutionGroup="gml:TriangulatedSurface">
796
		<annotation>
797
			<documentation>A tin is a triangulated surface that uses the Delauny algorithm or a similar algorithm complemented with consideration of stoplines (stopLines), breaklines (breakLines), and maximum length of triangle sides (maxLength). controlPoint shall contain a set of the positions (three or more) used as posts for this TIN (corners of the triangles in the TIN). See ISO 19107:2003, 6.4.39 for details.</documentation>
798
		</annotation>
799
	</element>
800
	<complexType name="LineStringSegmentArrayPropertyType">
801
		<annotation>
802
			<documentation>gml:LineStringSegmentArrayPropertyType provides a container for line strings.</documentation>
803
		</annotation>
804
		<sequence minOccurs="0" maxOccurs="unbounded">
805
			<element ref="gml:LineStringSegment"/>
806
		</sequence>
807
	</complexType>
808
	<complexType name="AbstractSolidType">
809
		<annotation>
810
			<documentation>gml:AbstractSolidType is an abstraction of a solid to support the different levels of complexity. The solid may always be viewed as a geometric primitive, i.e. is contiguous.</documentation>
811
		</annotation>
812
		<complexContent>
813
			<extension base="gml:AbstractGeometricPrimitiveType"/>
814
		</complexContent>
815
	</complexType>
816
	<element name="AbstractSolid" type="gml:AbstractSolidType" abstract="true" substitutionGroup="gml:AbstractGeometricPrimitive">
817
		<annotation>
818
			<documentation>The AbstractSolid element is the abstract head of the substituition group for all (continuous) solid elements.</documentation>
819
		</annotation>
820
	</element>
821
	<complexType name="SolidPropertyType">
822
		<annotation>
823
			<documentation>A property that has a solid as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none.</documentation>
824
		</annotation>
825
		<sequence minOccurs="0">
826
			<element ref="gml:AbstractSolid"/>
827
		</sequence>
828
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
829
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
830
	</complexType>
831
	<element name="solidProperty" type="gml:SolidPropertyType">
832
		<annotation>
833
			<documentation>This property element either references a solid via the XLink-attributes or contains the solid element. solidProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for AbstractSolid.</documentation>
834
		</annotation>
835
	</element>
836
	<complexType name="SolidArrayPropertyType">
837
		<annotation>
838
			<documentation>gml:SolidArrayPropertyType is a container for an array of solids. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported.</documentation>
839
		</annotation>
840
		<sequence minOccurs="0" maxOccurs="unbounded">
841
			<element ref="gml:AbstractSolid"/>
842
		</sequence>
843
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
844
	</complexType>
845
	<element name="solidArrayProperty" type="gml:SolidArrayPropertyType">
846
		<annotation>
847
			<documentation>This property element contains a list of solid elements. solidArrayProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for a list of AbstractSolid.</documentation>
848
		</annotation>
849
	</element>
850
	<complexType name="SolidType">
851
		<complexContent>
852
			<extension base="gml:AbstractSolidType">
853
				<sequence>
854
					<element name="exterior" type="gml:ShellPropertyType" minOccurs="0"/>
855
					<element name="interior" type="gml:ShellPropertyType" minOccurs="0" maxOccurs="unbounded"/>
856
				</sequence>
857
			</extension>
858
		</complexContent>
859
	</complexType>
860
	<element name="Solid" type="gml:SolidType" substitutionGroup="gml:AbstractSolid">
861
		<annotation>
862
			<documentation>A solid is the basis for 3-dimensional geometry. The extent of a solid is defined by the boundary surfaces as specified in ISO 19107:2003, 6.3.18. exterior specifies the outer boundary, interior the inner boundary of the solid.</documentation>
863
		</annotation>
864
	</element>
865
	<complexType name="ShellType">
866
		<sequence>
867
			<element ref="gml:surfaceMember" maxOccurs="unbounded"/>
868
		</sequence>
869
		<attributeGroup ref="gml:AggregationAttributeGroup"/>
870
	</complexType>
871
	<element name="Shell" type="gml:ShellType" substitutionGroup="gml:AbstractObject">
872
		<annotation>
873
			<documentation>A shell is used to represent a single connected component of a solid boundary as specified in ISO 19107:2003, 6.3.8.
874
Every gml:surfaceMember references or contains one surface, i.e. any element which is substitutable for gml:AbstractSurface. In the context of a shell, the surfaces describe the boundary of the solid. 
875
If provided, the aggregationType attribute shall have the value “set”.
876
</documentation>
877
		</annotation>
878
	</element>
879
	<element name="surfaceMember" type="gml:SurfacePropertyType">
880
		<annotation>
881
			<documentation>This property element either references a surface via the XLink-attributes or contains the surface element. A surface element is any element, which is substitutable for gml:AbstractSurface.</documentation>
882
		</annotation>
883
	</element>
884
	<complexType name="ShellPropertyType">
885
		<annotation>
886
			<documentation>A property with the content model of gml:ShellPropertyType encapsulates a shell to represent a component of a solid boundary.</documentation>
887
		</annotation>
888
		<sequence>
889
			<element ref="gml:Shell"/>
890
		</sequence>
891
	</complexType>
892
</schema>
lib/schema/isotc211-pangaea/gml.xsd
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.2.0">
3
	<annotation>
4
		<appinfo source="urn:ogc:specification:gml:schema-xsd:gml:3.2.0">gml.xsd</appinfo>
5
	</annotation>
6
	<!-- ====================================================================== -->
7
	<include schemaLocation="dynamicFeature.xsd"/>
8
	<include schemaLocation="topology.xsd"/>
9
	<include schemaLocation="coverage.xsd"/>
10
	<include schemaLocation="coordinateReferenceSystems.xsd"/>
11
	<include schemaLocation="observation.xsd"/>
12
	<include schemaLocation="temporalReferenceSystems.xsd"/>
13
	<!-- ====================================================================== -->
14
</schema>
lib/schema/isotc211-pangaea/gml_basicTypes.xsd
1
<?xml version="1.0" encoding="UTF-8"?>
2
<schema targetNamespace="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.0">
3
	<annotation>
4
		<appinfo source="urn:ogc:specification:gml:schema-xsd:basicTypes:3.2.0">basicTypes.xsd</appinfo>
5
		<documentation>See ISO/DIS 19136 8.2.
6
W3C XML Schema provides a set of built-in “simple” types which define methods for representing values as literals without internal markup.  These are described in W3C XML Schema Part 2:2001.  Because GML is an XML encoding in which instances are described using XML Schema, these simple types shall be used as far as possible and practical for the representation of data types.  W3C XML Schema also provides methods for defining 
7
-	new simple types by restriction and combination of the built-in types, and 
8
-	complex types, with simple content, but which also have XML attributes.  
9
In many places where a suitable built-in simple type is not available, simple content types derived using the XML Schema mechanisms are used for the representation of data types in GML.  
10
A set of these simple content types that are required by several GML components are defined in the basicTypes schema, as well as some elements based on them. These are primarily based around components needed to record amounts, counts, flags and terms, together with support for exceptions or null values.</documentation>
11
	</annotation>
12
	<simpleType name="NilReasonType">
13
		<annotation>
14
			<documentation>gml:NilReasonType defines a content model that allows recording of an explanation for a void value or other exception.
15
gml:NilReasonType is a union of the following enumerated values:
16
-	inapplicable there is no value
17
-	missing the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist
18
-	template the value will be available later
19
-	unknown the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists
20
-	withheld the value is not divulged
21
-	other:text other brief explanation, where text is a string of two or more characters with no included spaces
22
and
23
-	anyURI which should refer to a resource which describes the reason for the exception
24
A particular community may choose to assign more detailed semantics to the standard values provided. Alternatively, the URI method enables a specific or more complete explanation for the absence of a value to be provided elsewhere and indicated by-reference in an instance document.
25
gml:NilReasonType is used as a member of a union in a number of simple content types where it is necessary to permit a value from the NilReasonType union as an alternative to the primary type.</documentation>
26
		</annotation>
27
		<union memberTypes="gml:NilReasonEnumeration anyURI"/>
28
	</simpleType>
29
	<simpleType name="NilReasonEnumeration">
30
		<union>
31
			<simpleType>
32
				<restriction base="string">
33
					<enumeration value="inapplicable"/>
34
					<enumeration value="missing"/>
35
					<enumeration value="template"/>
36
					<enumeration value="unknown"/>
37
					<enumeration value="withheld"/>
38
				</restriction>
39
			</simpleType>
40
			<simpleType>
41
				<restriction base="string">
42
					<pattern value="other:\w{2,}"/>
43
				</restriction>
44
			</simpleType>
45
		</union>
46
	</simpleType>
47
	<element name="Null" type="gml:NilReasonType">
48
		<annotation>
49
			<appinfo>deprecated</appinfo>
50
		</annotation>
51
	</element>
52
	<simpleType name="SignType">
53
		<annotation>
54
			<documentation>gml:SignType is a convenience type with values “+” (plus) and “-“ (minus).</documentation>
55
		</annotation>
56
		<restriction base="string">
57
			<enumeration value="-"/>
58
			<enumeration value="+"/>
59
		</restriction>
60
	</simpleType>
61
	<simpleType name="booleanOrNilReason">
62
		<annotation>
63
			<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
64
		</annotation>
65
		<union memberTypes="gml:NilReasonEnumeration boolean anyURI"/>
66
	</simpleType>
67
	<simpleType name="doubleOrNilReason">
68
		<annotation>
69
			<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
70
		</annotation>
71
		<union memberTypes="gml:NilReasonEnumeration double anyURI"/>
72
	</simpleType>
73
	<simpleType name="integerOrNilReason">
74
		<annotation>
75
			<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
76
		</annotation>
77
		<union memberTypes="gml:NilReasonEnumeration integer anyURI"/>
78
	</simpleType>
79
	<simpleType name="NameOrNilReason">
80
		<annotation>
81
			<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
82
		</annotation>
83
		<union memberTypes="gml:NilReasonEnumeration Name anyURI"/>
84
	</simpleType>
85
	<simpleType name="stringOrNilReason">
86
		<annotation>
87
			<documentation>Extension to the respective XML Schema built-in simple type to allow a choice of either a value of the built-in simple type or a reason for a nil value.</documentation>
88
		</annotation>
89
		<union memberTypes="gml:NilReasonEnumeration string anyURI"/>
90
	</simpleType>
91
	<complexType name="CodeType">
92
		<annotation>
93
			<documentation>gml:CodeType is a generalized type to be used for a term, keyword or name.
94
It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term.</documentation>
95
		</annotation>
96
		<simpleContent>
97
			<extension base="string">
98
				<attribute name="codeSpace" type="anyURI"/>
99
			</extension>
100
		</simpleContent>
101
	</complexType>
102
	<complexType name="CodeWithAuthorityType">
103
		<annotation>
104
			<documentation>gml:CodeWithAuthorityType requires that the codeSpace attribute is provided in an instance.</documentation>
105
		</annotation>
106
		<simpleContent>
107
			<restriction base="gml:CodeType">
108
				<attribute name="codeSpace" type="anyURI" use="required"/>
109
			</restriction>
110
		</simpleContent>
111
	</complexType>
112
	<complexType name="MeasureType">
113
		<annotation>
114
			<documentation>gml:MeasureType supports recording an amount encoded as a value of XML Schema double, together with a units of measure indicated by an attribute uom, short for “units Of measure”. The value of the uom attribute identifies a reference system for the amount, usually a ratio or interval scale.</documentation>
115
		</annotation>
116
		<simpleContent>
117
			<extension base="double">
118
				<attribute name="uom" type="gml:UomIdentifier" use="required"/>
119
			</extension>
120
		</simpleContent>
121
	</complexType>
122
	<simpleType name="UomIdentifier">
123
		<annotation>
124
			<documentation>The simple type gml:UomIdentifer defines the syntax and value space of the unit of measure identifier.</documentation>
125
		</annotation>
126
		<union memberTypes="gml:UomSymbol gml:UomURI"/>
127
	</simpleType>
128
	<simpleType name="UomSymbol">
129
		<annotation>
130
			<documentation>This type specifies a character string of length at least one, and restricted such that it must not contain any of the following characters: “:” (colon), “ “ (space), (newline), (carriage return), (tab). This allows values corresponding to familiar abbreviations, such as “kg”, “m/s”, etc. 
131
It is recommended that the symbol be an identifier for a unit of measure as specified in the “Unified Code of Units of Measure" (UCUM) (http://aurora.regenstrief.org/UCUM). This provides a set of symbols and a grammar for constructing identifiers for units of measure that are unique, and may be easily entered with a keyboard supporting the limited character set known as 7-bit ASCII. ISO 2955 formerly provided a specification with this scope, but was withdrawn in 2001. UCUM largely follows ISO 2955 with modifications to remove ambiguities and other problems.</documentation>
132
		</annotation>
133
		<restriction base="string">
134
			<pattern value="[^: \n\r\t]+"/>
135
		</restriction>
136
	</simpleType>
137
	<simpleType name="UomURI">
138
		<annotation>
139
			<documentation>This type specifies a URI, restricted such that it must start with one of the following sequences: “#”, “./”, “../”, or a string of characters followed by a “:”. These patterns ensure that the most common URI forms are supported, including absolute and relative URIs and URIs that are simple fragment identifiers, but prohibits certain forms of relative URI that could be mistaken for unit of measure symbol . 
140
NOTE	It is possible to re-write such a relative URI to conform to the restriction (e.g. “./m/s”).
141
In an instance document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a value corresponding to either 
142
-	a conventional unit of measure symbol,
143
-	a link to a definition of a unit of measure that does not have a conventional symbol, or when it is desired to indicate a precise or variant definition.</documentation>
144
		</annotation>
145
		<restriction base="anyURI">
146
			<pattern value="([a-zA-Z][a-zA-Z0-9\-\+\.]*:|\.\./|\./|#).*"/>
147
		</restriction>
148
	</simpleType>
149
	<complexType name="CoordinatesType">
150
		<annotation>
151
			<documentation>This type is deprecated for tuples with ordinate values that are numbers.
152
CoordinatesType is a text string, intended to be used to record an array of tuples or coordinates. 
153
While it is not possible to enforce the internal structure of the string through schema validation, some optional attributes have been provided in previous versions of GML to support a description of the internal structure. These attributes are deprecated. The attributes were intended to be used as follows:
154
Decimal	symbol used for a decimal point (default=”.” a stop or period)
155
cs        	symbol used to separate components within a tuple or coordinate string (default=”,” a comma)
156
ts        	symbol used to separate tuples or coordinate strings (default=” “ a space)
157
Since it is based on the XML Schema string type, CoordinatesType may be used in the construction of tables of tuples or arrays of tuples, including ones that contain mixed text and numeric values.</documentation>
158
		</annotation>
159
		<simpleContent>
160
			<extension base="string">
161
				<attribute name="decimal" type="string" default="."/>
162
				<attribute name="cs" type="string" default=","/>
163
				<attribute name="ts" type="string" default="&#x20;"/>
164
			</extension>
165
		</simpleContent>
166
	</complexType>
167
	<simpleType name="booleanList">
168
		<annotation>
169
			<documentation>A type for a list of values of the respective simple type.</documentation>
170
		</annotation>
171
		<list itemType="boolean"/>
172
	</simpleType>
173
	<simpleType name="doubleList">
174
		<annotation>
175
			<documentation>A type for a list of values of the respective simple type.</documentation>
176
		</annotation>
177
		<list itemType="double"/>
178
	</simpleType>
179
	<simpleType name="integerList">
180
		<annotation>
181
			<documentation>A type for a list of values of the respective simple type.</documentation>
182
		</annotation>
183
		<list itemType="integer"/>
184
	</simpleType>
185
	<simpleType name="NameList">
186
		<annotation>
187
			<documentation>A type for a list of values of the respective simple type.</documentation>
188
		</annotation>
189
		<list itemType="Name"/>
190
	</simpleType>
191
	<simpleType name="NCNameList">
192
		<annotation>
193
			<documentation>A type for a list of values of the respective simple type.</documentation>
194
		</annotation>
195
		<list itemType="NCName"/>
196
	</simpleType>
197
	<simpleType name="QNameList">
198
		<annotation>
199
			<documentation>A type for a list of values of the respective simple type.</documentation>
200
		</annotation>
201
		<list itemType="QName"/>
202
	</simpleType>
203
	<simpleType name="booleanOrNilReasonList">
204
		<annotation>
205
			<documentation>A type for a list of values of the respective simple type.</documentation>
206
		</annotation>
207
		<list itemType="gml:booleanOrNilReason"/>
208
	</simpleType>
209
	<simpleType name="NameOrNilReasonList">
210
		<annotation>
211
			<documentation>A type for a list of values of the respective simple type.</documentation>
212
		</annotation>
213
		<list itemType="gml:NameOrNilReason"/>
214
	</simpleType>
215
	<simpleType name="doubleOrNilReasonList">
216
		<annotation>
217
			<documentation>A type for a list of values of the respective simple type.</documentation>
218
		</annotation>
219
		<list itemType="gml:doubleOrNilReason"/>
220
	</simpleType>
221
	<simpleType name="integerOrNilReasonList">
222
		<annotation>
223
			<documentation>A type for a list of values of the respective simple type.</documentation>
224
		</annotation>
225
		<list itemType="gml:integerOrNilReason"/>
226
	</simpleType>
227
	<complexType name="CodeListType">
228
		<annotation>
229
			<documentation>gml:CodeListType provides for lists of terms. The values in an instance element shall all be valid according to the rules of the dictionary, classification scheme, or authority identified by the value of its codeSpace attribute.</documentation>
230
		</annotation>
231
		<simpleContent>
232
			<extension base="gml:NameList">
233
				<attribute name="codeSpace" type="anyURI"/>
234
			</extension>
235
		</simpleContent>
236
	</complexType>
237
	<complexType name="CodeOrNilReasonListType">
238
		<annotation>
239
			<documentation>gml:CodeOrNilReasonListType provides for lists of terms. The values in an instance element shall all be valid according to the rules of the dictionary, classification scheme, or authority identified by the value of its codeSpace attribute. An instance element may also include embedded values from NilReasonType. It is intended to be used in situations where a term or classification is expected, but the value may be absent for some reason.</documentation>
240
		</annotation>
241
		<simpleContent>
242
			<extension base="gml:NameOrNilReasonList">
243
				<attribute name="codeSpace" type="anyURI"/>
244
			</extension>
245
		</simpleContent>
246
	</complexType>
247
	<complexType name="MeasureListType">
248
		<annotation>
249
			<documentation>gml:MeasureListType provides for a list of quantities.</documentation>
250
		</annotation>
251
		<simpleContent>
252
			<extension base="gml:doubleList">
253
				<attribute name="uom" type="gml:UomIdentifier" use="required"/>
254
			</extension>
255
		</simpleContent>
256
	</complexType>
257
	<complexType name="MeasureOrNilReasonListType">
258
		<annotation>
259
			<documentation>gml:MeasureOrNilReasonListType provides for a list of quantities. An instance element may also include embedded values from NilReasonType. It is intended to be used in situations where a value is expected, but the value may be absent for some reason.</documentation>
260
		</annotation>
261
		<simpleContent>
262
			<extension base="gml:doubleOrNilReasonList">
263
				<attribute name="uom" type="gml:UomIdentifier" use="required"/>
264
			</extension>
265
		</simpleContent>
266
	</complexType>
267
</schema>
lib/schema/isotc211-pangaea/gsr.xsd
1
<?xml version="1.0" encoding="utf-8"?>
2
<xs:schema targetNamespace="http://www.isotc211.org/2005/gsr" elementFormDefault="qualified" version="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gsr="http://www.isotc211.org/2005/gsr">
3
	<!-- ================================= Annotation ================================ -->
4
	<xs:annotation>
5
		<xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:24:48 ====== </xs:documentation>
6
	</xs:annotation>
7
	<!-- ================================== Imports ================================== -->
8
	<xs:include schemaLocation="spatialReferencing.xsd"/>
9
	<!-- ########################################################################### -->
10
	<!-- ########################################################################### -->
11
	<!-- ================================== Classes ================================= -->
12
</xs:schema>
lib/schema/isotc211-pangaea/gts.xsd
1
<?xml version="1.0" encoding="utf-8"?>
2
<xs:schema targetNamespace="http://www.isotc211.org/2005/gts" elementFormDefault="qualified" version="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gts="http://www.isotc211.org/2005/gts">
3
	<!-- ================================= Annotation ================================ -->
4
	<xs:annotation>
5
		<xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:18:09 ====== </xs:documentation>
6
	</xs:annotation>
7
	<!-- ================================== Imports ================================== -->
8
	<xs:include schemaLocation="temporalObjects.xsd"/>
9
	<!-- ########################################################################### -->
10
	<!-- ########################################################################### -->
11
	<!-- ================================== Classes ================================= -->
12
</xs:schema>
lib/schema/isotc211-pangaea/measures.xsd
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" attributeFormDefault="unqualified" version="3.2.0" xml:lang="en">
3
	<annotation>
4
		<appinfo source="urn:ogc:specification:gml:schema-xsd:measures:3.2.0">measures.xsd</appinfo>
5
		<documentation>See ISO/DIS 19136 17.3.
6
gml:MeasureType is defined in the basicTypes schema.  The measure types defined here correspond with a set of convenience measure types described in ISO/TS 19103.  The XML implementation is based on the XML Schema simple type “double” which supports both decimal and scientific notation, and includes an XML attribute “uom” which refers to the units of measure for the value.  Note that, there is no requirement to store values using any particular format, and applications receiving elements of this type may choose to coerce the data to any other type as convenient. 
7
</documentation>
8
	</annotation>
9
	<include schemaLocation="units.xsd"/>
10
	<element name="measure" type="gml:MeasureType">
11
		<annotation>
12
			<documentation>The value of a physical quantity, together with its unit.</documentation>
13
		</annotation>
14
	</element>
15
	<complexType name="LengthType">
16
		<annotation>
17
			<documentation>This is a prototypical definition for a specific measure type defined as a vacuous extension (i.e. aliases) of gml:MeasureType. In this case, the content model supports the description of a length (or distance) quantity, with its units. The unit of measure referenced by uom shall be suitable for a length, such as metres or feet.</documentation>
18
		</annotation>
19
		<simpleContent>
20
			<extension base="gml:MeasureType"/>
21
		</simpleContent>
22
	</complexType>
23
	<complexType name="ScaleType">
24
		<simpleContent>
25
			<extension base="gml:MeasureType"/>
26
		</simpleContent>
27
	</complexType>
28
	<complexType name="TimeType">
29
		<simpleContent>
30
			<extension base="gml:MeasureType"/>
31
		</simpleContent>
32
	</complexType>
33
	<complexType name="GridLengthType">
34
		<simpleContent>
35
			<extension base="gml:MeasureType"/>
36
		</simpleContent>
37
	</complexType>
38
	<complexType name="AreaType">
39
		<simpleContent>
40
			<extension base="gml:MeasureType"/>
41
		</simpleContent>
42
	</complexType>
43
	<complexType name="VolumeType">
44
		<simpleContent>
45
			<extension base="gml:MeasureType"/>
46
		</simpleContent>
47
	</complexType>
48
	<complexType name="SpeedType">
49
		<simpleContent>
50
			<extension base="gml:MeasureType"/>
51
		</simpleContent>
52
	</complexType>
53
	<complexType name="AngleType">
54
		<simpleContent>
55
			<extension base="gml:MeasureType"/>
56
		</simpleContent>
57
	</complexType>
58
	<element name="angle" type="gml:AngleType">
59
		<annotation>
60
			<documentation>The gml:angle property element is used to record the value of an angle quantity as a single number, with its units.</documentation>
61
		</annotation>
62
	</element>
63
	<element name="dmsAngle" type="gml:DMSAngleType">
64
		<annotation>
65
			<appinfo>deprecated</appinfo>
66
		</annotation>
67
	</element>
68
	<complexType name="DMSAngleType">
69
		<annotation>
70
			<appinfo>deprecated</appinfo>
71
		</annotation>
72
		<sequence>
73
			<element ref="gml:degrees"/>
74
			<choice minOccurs="0">
75
				<element ref="gml:decimalMinutes"/>
76
				<sequence>
77
					<element ref="gml:minutes"/>
78
					<element ref="gml:seconds" minOccurs="0"/>
79
				</sequence>
80
			</choice>
81
		</sequence>
82
	</complexType>
83
	<element name="degrees" type="gml:DegreesType">
84
		<annotation>
85
			<appinfo>deprecated</appinfo>
86
		</annotation>
87
	</element>
88
	<complexType name="DegreesType">
89
		<annotation>
90
			<appinfo>deprecated</appinfo>
91
		</annotation>
92
		<simpleContent>
93
			<extension base="gml:DegreeValueType">
94
				<attribute name="direction">
95
					<simpleType>
96
						<restriction base="string">
97
							<enumeration value="N"/>
98
							<enumeration value="E"/>
99
							<enumeration value="S"/>
100
							<enumeration value="W"/>
101
							<enumeration value="+"/>
102
							<enumeration value="-"/>
103
						</restriction>
104
					</simpleType>
105
				</attribute>
106
			</extension>
107
		</simpleContent>
108
	</complexType>
109
	<simpleType name="DegreeValueType">
110
		<annotation>
111
			<appinfo>deprecated</appinfo>
112
		</annotation>
113
		<restriction base="nonNegativeInteger">
114
			<maxInclusive value="359"/>
115
		</restriction>
116
	</simpleType>
117
	<element name="decimalMinutes" type="gml:DecimalMinutesType">
118
		<annotation>
119
			<appinfo>deprecated</appinfo>
120
		</annotation>
121
	</element>
122
	<simpleType name="DecimalMinutesType">
123
		<annotation>
124
			<appinfo>deprecated</appinfo>
125
		</annotation>
126
		<restriction base="decimal">
127
			<minInclusive value="0.00"/>
128
			<maxExclusive value="60.00"/>
129
		</restriction>
130
	</simpleType>
131
	<element name="minutes" type="gml:ArcMinutesType">
132
		<annotation>
133
			<appinfo>deprecated</appinfo>
134
		</annotation>
135
	</element>
136
	<simpleType name="ArcMinutesType">
137
		<annotation>
138
			<appinfo>deprecated</appinfo>
139
		</annotation>
140
		<restriction base="nonNegativeInteger">
141
			<maxInclusive value="59"/>
142
		</restriction>
143
	</simpleType>
144
	<element name="seconds" type="gml:ArcSecondsType">
145
		<annotation>
146
			<appinfo>deprecated</appinfo>
147
		</annotation>
148
	</element>
149
	<simpleType name="ArcSecondsType">
150
		<annotation>
151
			<appinfo>deprecated</appinfo>
152
		</annotation>
153
		<restriction base="decimal">
154
			<minInclusive value="0.00"/>
155
			<maxExclusive value="60.00"/>
156
		</restriction>
157
	</simpleType>
158
	<complexType name="AngleChoiceType">
159
		<annotation>
160
			<appinfo>deprecated</appinfo>
161
		</annotation>
162
		<choice>
163
			<element ref="gml:angle"/>
164
			<element ref="gml:dmsAngle"/>
165
		</choice>
166
	</complexType>
167
</schema>
lib/schema/isotc211-pangaea/metadataExtension.xsd
1
<?xml version="1.0" encoding="utf-8"?>
2
<xs:schema targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd">
3
	<!-- ================================= Annotation ================================ -->
4
	<xs:annotation>
5
		<xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:03 ====== Method used to represent geographic information in the dataset</xs:documentation>
6
	</xs:annotation>
7
	<!-- ================================== Imports ================================== -->
8
	<xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="gco.xsd"/>
9
	<xs:include schemaLocation="citation.xsd"/>
10
	<!-- ########################################################################### -->
11
	<!-- ########################################################################### -->
12
	<!-- ================================== Classes ================================= -->
13
	<xs:complexType name="MD_ExtendedElementInformation_Type">
14
		<xs:annotation>
15
			<xs:documentation>New metadata element, not found in ISO 19115, which is required to describe geographic data</xs:documentation>
16
		</xs:annotation>
17
		<xs:complexContent>
18
			<xs:extension base="gco:AbstractObject_Type">
19
				<xs:sequence>
20
					<xs:element name="name" type="gco:CharacterString_PropertyType"/>
21
					<xs:element name="shortName" type="gco:CharacterString_PropertyType" minOccurs="0"/>
22
					<xs:element name="domainCode" type="gco:Integer_PropertyType" minOccurs="0"/>
23
					<xs:element name="definition" type="gco:CharacterString_PropertyType"/>
24
					<xs:element name="obligation" type="gmd:MD_ObligationCode_PropertyType" minOccurs="0"/>
25
					<xs:element name="condition" type="gco:CharacterString_PropertyType" minOccurs="0"/>
26
					<xs:element name="dataType" type="gmd:MD_DatatypeCode_PropertyType"/>
27
					<xs:element name="maximumOccurrence" type="gco:CharacterString_PropertyType" minOccurs="0"/>
28
					<xs:element name="domainValue" type="gco:CharacterString_PropertyType" minOccurs="0"/>
29
					<xs:element name="parentEntity" type="gco:CharacterString_PropertyType" maxOccurs="unbounded"/>
30
					<xs:element name="rule" type="gco:CharacterString_PropertyType"/>
31
					<xs:element name="rationale" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
32
					<xs:element name="source" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/>
33
				</xs:sequence>
34
			</xs:extension>
35
		</xs:complexContent>
36
	</xs:complexType>
37
	<!-- ........................................................................ -->
38
	<xs:element name="MD_ExtendedElementInformation" type="gmd:MD_ExtendedElementInformation_Type"/>
39
	<!-- ........................................................................ -->
40
	<xs:complexType name="MD_ExtendedElementInformation_PropertyType">
41
		<xs:sequence minOccurs="0">
42
			<xs:element ref="gmd:MD_ExtendedElementInformation"/>
43
		</xs:sequence>
44
		<xs:attributeGroup ref="gco:ObjectReference"/>
45
		<xs:attribute ref="gco:nilReason"/>
46
	</xs:complexType>
47
	<!-- =========================================================================== -->
48
	<xs:complexType name="MD_MetadataExtensionInformation_Type">
49
		<xs:annotation>
50
			<xs:documentation>Information describing metadata extensions.</xs:documentation>
51
		</xs:annotation>
52
		<xs:complexContent>
53
			<xs:extension base="gco:AbstractObject_Type">
54
				<xs:sequence>
55
					<xs:element name="extensionOnLineResource" type="gmd:CI_OnlineResource_PropertyType" minOccurs="0"/>
56
					<xs:element name="extendedElementInformation" type="gmd:MD_ExtendedElementInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
57
				</xs:sequence>
58
			</xs:extension>
59
		</xs:complexContent>
60
	</xs:complexType>
61
	<!-- ........................................................................ -->
62
	<xs:element name="MD_MetadataExtensionInformation" type="gmd:MD_MetadataExtensionInformation_Type"/>
63
	<!-- ........................................................................ -->
64
	<xs:complexType name="MD_MetadataExtensionInformation_PropertyType">
65
		<xs:sequence minOccurs="0">
66
			<xs:element ref="gmd:MD_MetadataExtensionInformation"/>
67
		</xs:sequence>
68
		<xs:attributeGroup ref="gco:ObjectReference"/>
69
		<xs:attribute ref="gco:nilReason"/>
70
	</xs:complexType>
71
	<!-- =========================================================================== -->
72
	<xs:simpleType name="MD_ObligationCode_Type">
73
		<xs:restriction base="xs:string">
74
			<xs:enumeration value="mandatory"/>
75
			<xs:enumeration value="optional"/>
76
			<xs:enumeration value="conditional"/>
77
		</xs:restriction>
78
	</xs:simpleType>
79
	<!-- ........................................................................ -->
80
	<xs:element name="MD_ObligationCode" type="gmd:MD_ObligationCode_Type" substitutionGroup="gco:CharacterString"/>
81
	<!-- ........................................................................ -->
82
	<xs:complexType name="MD_ObligationCode_PropertyType">
83
		<xs:sequence minOccurs="0">
84
			<xs:element ref="gmd:MD_ObligationCode"/>
85
		</xs:sequence>
86
		<xs:attribute ref="gco:nilReason"/>
87
	</xs:complexType>
88
	<!-- =========================================================================== -->
89
	<!-- ........................................................................ -->
90
	<xs:element name="MD_DatatypeCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/>
91
	<!-- ........................................................................ -->
92
	<xs:complexType name="MD_DatatypeCode_PropertyType">
93
		<xs:sequence minOccurs="0">
94
			<xs:element ref="gmd:MD_DatatypeCode"/>
95
		</xs:sequence>
96
		<xs:attribute ref="gco:nilReason"/>
97
	</xs:complexType>
98
	<!-- =========================================================================== -->
99
</xs:schema>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff