Project

General

Profile

« Previous | Next » 

Revision 9573

Added by Jing Tao about 8 years ago

Remove the directory which is not in the noaa.

View differences:

lib/schema/isotc211-noaa/gml311/measures.xsd
1
<?xml version="1.0" encoding="UTF-8"?>
2
<schema targetNamespace="http://www.opengis.net/gml" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.1.1.2" xml:lang="en" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml">
3
	<annotation>
4
		<appinfo source="urn:opengis:specification:gml:schema-measures:3.1.1"/>
5
		<documentation>Extends the units.xsd and basicTypes.xsd schemas with types for recording measures using specific types of units, especially the measures and units needed for coordinate reference systems and coordinate operations. The specific unit types encoded are length, angle, scale factor, time, area, volume, speed, and grid length. This schema allows angle values to be recorded as single numbers or in degree-minute-second format. 
6
		Parts of this schema are based on Subclause 6.5.7 of ISO/CD 19103 Geographic information - Conceptual schema language, on Subclause A.5.2.2.3 of ISO/CD 19118 Geographic information - Encoding, and on Subclause 4.7 of OpenGIS Recommendation Paper OGC 02-007r4 Units of Measure Use and Definition Recommendations.
7
		
8
		GML is an OGC Standard.
9
		Copyright (c) 2001,2005,2010 Open Geospatial Consortium.
10
		To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
11
		</documentation>
12
	</annotation>
13
	<!-- ==============================================================
14
       includes and imports
15
	============================================================== -->
16
	<include schemaLocation="gml.xsd"/>
17
	<include schemaLocation="units.xsd"/>
18
	<!-- ==============================================================
19
       elements and types
20
	============================================================== -->
21
	<!-- This schema uses the gml:MeasureType defined in basicTypes.xsd with the modified meaning:
22
			<documentation>Value of a quantity, with its units. This element uses the XML Schema primitive data type "double" because it supports both decimal and scientific notation, and thus offers flexibility and precision. However, 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. The XML attribute uom references the units or scale by which the amount should be multiplied. For a reference within the same XML document, the abbreviated XPointer prefix "#" symbol should be used, followed by a text abbreviation of the unit name. However, the "#" symbol may be optional, and still may be interpreted as a reference. </documentation> -->
23
	<!-- =========================================================== -->
24
	<element name="measure" type="gml:MeasureType"/>
25
	<!-- =========================================================== -->
26
	<complexType name="LengthType">
27
		<annotation>
28
			<documentation>Value of a length (or distance) quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a length, such as metres or feet.</documentation>
29
		</annotation>
30
		<simpleContent>
31
			<restriction base="gml:MeasureType"/>
32
		</simpleContent>
33
	</complexType>
34
	<!-- =========================================================== -->
35
	<complexType name="ScaleType">
36
		<annotation>
37
			<documentation>Value of a scale factor (or ratio) that has no physical unit. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a scale factor, such as percent, permil, or parts-per-million.</documentation>
38
		</annotation>
39
		<simpleContent>
40
			<restriction base="gml:MeasureType"/>
41
		</simpleContent>
42
	</complexType>
43
	<!-- =========================================================== -->
44
	<complexType name="TimeType">
45
		<annotation>
46
			<documentation>Value of a time or temporal quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a time value, such as seconds or weeks.</documentation>
47
		</annotation>
48
		<simpleContent>
49
			<restriction base="gml:MeasureType"/>
50
		</simpleContent>
51
	</complexType>
52
	<!-- =========================================================== -->
53
	<complexType name="GridLengthType">
54
		<annotation>
55
			<documentation>Value of a length (or distance) quantity in a grid, where the grid spacing does not have any associated physical units, or does not have a constant physical spacing. This grid length will often be used in a digital image grid, where the base units are likely to be pixel spacings. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for length along the axes of a grid, such as pixel spacings or grid spacings.</documentation>
56
		</annotation>
57
		<simpleContent>
58
			<restriction base="gml:MeasureType"/>
59
		</simpleContent>
60
	</complexType>
61
	<!-- =========================================================== -->
62
	<complexType name="AreaType">
63
		<annotation>
64
			<documentation>Value of a spatial area quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for an area, such as square metres or square miles.</documentation>
65
		</annotation>
66
		<simpleContent>
67
			<restriction base="gml:MeasureType"/>
68
		</simpleContent>
69
	</complexType>
70
	<!-- =========================================================== -->
71
	<complexType name="VolumeType">
72
		<annotation>
73
			<documentation>Value of a spatial volume quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a volume, such as cubic metres or cubic feet.</documentation>
74
		</annotation>
75
		<simpleContent>
76
			<restriction base="gml:MeasureType"/>
77
		</simpleContent>
78
	</complexType>
79
	<!-- =========================================================== -->
80
	<complexType name="SpeedType">
81
		<annotation>
82
			<documentation>Value of a speed, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a velocity, such as metres per second or miles per hour.</documentation>
83
		</annotation>
84
		<simpleContent>
85
			<restriction base="gml:MeasureType"/>
86
		</simpleContent>
87
	</complexType>
88
	<!-- =========================================================== -->
89
	<complexType name="AngleChoiceType">
90
		<annotation>
91
			<documentation>Value of an angle quantity provided in either degree-minute-second format or single value format.</documentation>
92
		</annotation>
93
		<choice>
94
			<element ref="gml:angle"/>
95
			<element ref="gml:dmsAngle"/>
96
		</choice>
97
	</complexType>
98
	<!-- =========================================================== -->
99
	<element name="angle" type="gml:MeasureType"/>
100
	<!-- =========================================================== -->
101
	<complexType name="AngleType">
102
		<annotation>
103
			<documentation>Value of an angle quantity recorded as a single number, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for an angle, such as degrees or radians.</documentation>
104
		</annotation>
105
		<simpleContent>
106
			<restriction base="gml:MeasureType"/>
107
		</simpleContent>
108
	</complexType>
109
	<!-- =========================================================== -->
110
	<element name="dmsAngle" type="gml:DMSAngleType"/>
111
	<!-- =========================================================== -->
112
	<complexType name="DMSAngleType">
113
		<annotation>
114
			<documentation>Angle value provided in degree-minute-second or degree-minute format.</documentation>
115
		</annotation>
116
		<sequence>
117
			<element ref="gml:degrees"/>
118
			<choice minOccurs="0">
119
				<element ref="gml:decimalMinutes"/>
120
				<sequence>
121
					<element ref="gml:minutes"/>
122
					<element ref="gml:seconds" minOccurs="0"/>
123
				</sequence>
124
			</choice>
125
		</sequence>
126
	</complexType>
127
	<!-- =========================================================== -->
128
	<element name="degrees" type="gml:DegreesType"/>
129
	<!-- =========================================================== -->
130
	<complexType name="DegreesType">
131
		<annotation>
132
			<documentation>Integer number of degrees, plus the angle direction. This element can be used for geographic Latitude and Longitude. For Latitude, the XML attribute direction can take the values "N" or "S", meaning North or South of the equator. For Longitude, direction can take the values "E" or "W", meaning East or West of the prime meridian. This element can also be used for other angles. In that case, the direction can take the values "+" or "-" (of SignType), in the specified rotational direction from a specified reference direction.</documentation>
133
		</annotation>
134
		<simpleContent>
135
			<extension base="gml:DegreeValueType">
136
				<attribute name="direction">
137
					<simpleType>
138
						<union>
139
							<simpleType>
140
								<restriction base="string">
141
									<enumeration value="N"/>
142
									<enumeration value="E"/>
143
									<enumeration value="S"/>
144
									<enumeration value="W"/>
145
								</restriction>
146
							</simpleType>
147
							<simpleType>
148
								<restriction base="gml:SignType"/>
149
							</simpleType>
150
						</union>
151
					</simpleType>
152
				</attribute>
153
			</extension>
154
		</simpleContent>
155
	</complexType>
156
	<!-- =========================================================== -->
157
	<simpleType name="DegreeValueType">
158
		<annotation>
159
			<documentation>Integer number of degrees in a degree-minute-second or degree-minute angular value, without indication of direction.</documentation>
160
		</annotation>
161
		<restriction base="nonNegativeInteger">
162
			<maxInclusive value="359"/>
163
		</restriction>
164
	</simpleType>
165
	<!-- =========================================================== -->
166
	<element name="decimalMinutes" type="gml:DecimalMinutesType"/>
167
	<!-- =========================================================== -->
168
	<simpleType name="DecimalMinutesType">
169
		<annotation>
170
			<documentation>Decimal number of arc-minutes in a degree-minute angular value.</documentation>
171
		</annotation>
172
		<restriction base="decimal">
173
			<minInclusive value="0.00"/>
174
			<maxExclusive value="60.00"/>
175
		</restriction>
176
	</simpleType>
177
	<!-- =========================================================== -->
178
	<element name="minutes" type="gml:ArcMinutesType"/>
179
	<!-- =========================================================== -->
180
	<simpleType name="ArcMinutesType">
181
		<annotation>
182
			<documentation>Integer number of arc-minutes in a degree-minute-second angular value.</documentation>
183
		</annotation>
184
		<restriction base="nonNegativeInteger">
185
			<maxInclusive value="59"/>
186
		</restriction>
187
	</simpleType>
188
	<!-- =========================================================== -->
189
	<element name="seconds" type="gml:ArcSecondsType"/>
190
	<!-- =========================================================== -->
191
	<simpleType name="ArcSecondsType">
192
		<annotation>
193
			<documentation>Number of arc-seconds in a degree-minute-second angular value.</documentation>
194
		</annotation>
195
		<restriction base="decimal">
196
			<minInclusive value="0.00"/>
197
			<maxExclusive value="60.00"/>
198
		</restriction>
199
	</simpleType>
200
	<!-- =========================================================== -->
201
</schema>
202 0

  
lib/schema/isotc211-noaa/gml311/geometryAggregates.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"
3
        version="3.1.1.2">
4
	<annotation>
5
		<appinfo source="urn:opengis:specification:gml:schema-xsd:geometryAggregates:3.1.1">geometryAggregates.xsd</appinfo>
6
		<documentation>
7
			GML is an OGC Standard.
8
			Copyright (c) 2001,2005,2010 Open Geospatial Consortium.
9
			To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
10
		</documentation>
11
	</annotation>
12
	<include schemaLocation="gml.xsd"/>
13
	<include schemaLocation="geometryPrimitives.xsd"/>
14
	<!-- =========================================================== -->
15
	<!-- aggregate geometry objects -->
16
	<!-- =========================================================== -->
17
	<!-- =========================================================== -->
18
	<element name="_GeometricAggregate" type="gml:AbstractGeometricAggregateType" abstract="true" substitutionGroup="gml:_Geometry">
19
		<annotation>
20
			<documentation>The "_GeometricAggregate" element is the abstract head of the substituition group for all geometric aggremates.</documentation>
21
		</annotation>
22
	</element>
23
	<!-- =========================================================== -->
24
	<complexType name="AbstractGeometricAggregateType" abstract="true">
25
		<annotation>
26
			<documentation>This is the abstract root type of the geometric aggregates.</documentation>
27
		</annotation>
28
		<complexContent>
29
			<extension base="gml:AbstractGeometryType"/>
30
		</complexContent>
31
	</complexType>
32
	<!-- =========================================================== -->
33
	<element name="MultiGeometry" type="gml:MultiGeometryType" substitutionGroup="gml:_GeometricAggregate"/>
34
	<!-- ======================================================= -->
35
	<complexType name="MultiGeometryType">
36
		<annotation>
37
			<documentation>A geometry collection must include one or more geometries, referenced through geometryMember elements.</documentation>
38
		</annotation>
39
		<complexContent>
40
			<extension base="gml:AbstractGeometricAggregateType">
41
				<sequence>
42
					<annotation>
43
						<documentation>The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
44
NOTE: Array properties cannot reference remote geometry elements.</documentation>
45
					</annotation>
46
					<element ref="gml:geometryMember" minOccurs="0" maxOccurs="unbounded"/>
47
					<element ref="gml:geometryMembers" minOccurs="0"/>
48
				</sequence>
49
			</extension>
50
		</complexContent>
51
	</complexType>
52
	<!-- =========================================================== -->
53
	<element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType">
54
		<annotation>
55
			<appinfo>
56
				<sch:pattern name="Check either href or content not both">
57
					<sch:rule context="gml:multiGeometryProperty">
58
						<sch:extends rule="hrefOrContent"/>
59
					</sch:rule>
60
				</sch:pattern>
61
			</appinfo>
62
			<documentation>This property element either references a geometric aggregate via the XLink-attributes or contains the "multi geometry" element. multiGeometryProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _GeometricAggregate.</documentation>
63
		</annotation>
64
	</element>
65
	<!-- =========================================================== -->
66
	<complexType name="MultiGeometryPropertyType">
67
		<annotation>
68
			<documentation>A property that has a geometric aggregate as its value domain can 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 must be given, but neither both nor none.</documentation>
69
		</annotation>
70
		<sequence minOccurs="0">
71
			<element ref="gml:_GeometricAggregate"/>
72
		</sequence>
73
		<attributeGroup ref="gml:AssociationAttributeGroup">
74
			<annotation>
75
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
76
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
77
			</annotation>
78
		</attributeGroup>
79
	</complexType>
80
	<!-- =========================================================== -->
81
	<element name="MultiPoint" type="gml:MultiPointType" substitutionGroup="gml:_GeometricAggregate"/>
82
	<!-- ======================================================= -->
83
	<complexType name="MultiPointType">
84
		<annotation>
85
			<documentation>A MultiPoint is defined by one or more Points, referenced through pointMember elements.</documentation>
86
		</annotation>
87
		<complexContent>
88
			<extension base="gml:AbstractGeometricAggregateType">
89
				<sequence>
90
					<annotation>
91
						<documentation>The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
92
NOTE: Array properties cannot reference remote geometry elements.</documentation>
93
					</annotation>
94
					<element ref="gml:pointMember" minOccurs="0" maxOccurs="unbounded"/>
95
					<element ref="gml:pointMembers" minOccurs="0"/>
96
				</sequence>
97
			</extension>
98
		</complexContent>
99
	</complexType>
100
	<!-- =========================================================== -->
101
	<element name="multiPointProperty" type="gml:MultiPointPropertyType">
102
		<annotation>
103
			<appinfo>
104
				<sch:pattern name="Check either href or content not both">
105
					<sch:rule context="gml:multiPointProperty">
106
						<sch:extends rule="hrefOrContent"/>
107
					</sch:rule>
108
				</sch:pattern>
109
			</appinfo>
110
			<documentation>This property element either references a point aggregate via the XLink-attributes or contains the "multi point" element. multiPointProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiPoint.</documentation>
111
		</annotation>
112
	</element>
113
	<!-- =========================================================== -->
114
	<complexType name="MultiPointPropertyType">
115
		<annotation>
116
			<documentation>A property that has a collection of points as its value domain can 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 must be given, but neither both nor none.</documentation>
117
		</annotation>
118
		<sequence minOccurs="0">
119
			<element ref="gml:MultiPoint"/>
120
		</sequence>
121
		<attributeGroup ref="gml:AssociationAttributeGroup">
122
			<annotation>
123
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
124
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
125
			</annotation>
126
		</attributeGroup>
127
	</complexType>
128
	<!-- =========================================================== -->
129
	<element name="MultiCurve" type="gml:MultiCurveType" substitutionGroup="gml:_GeometricAggregate"/>
130
	<!-- ======================================================= -->
131
	<complexType name="MultiCurveType">
132
		<annotation>
133
			<documentation>A MultiCurve is defined by one or more Curves, referenced through curveMember elements.</documentation>
134
		</annotation>
135
		<complexContent>
136
			<extension base="gml:AbstractGeometricAggregateType">
137
				<sequence>
138
					<annotation>
139
						<documentation>The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
140
NOTE: Array properties cannot reference remote geometry elements.</documentation>
141
					</annotation>
142
					<element ref="gml:curveMember" minOccurs="0" maxOccurs="unbounded"/>
143
					<element ref="gml:curveMembers" minOccurs="0"/>
144
				</sequence>
145
			</extension>
146
		</complexContent>
147
	</complexType>
148
	<!-- =========================================================== -->
149
	<element name="multiCurveProperty" type="gml:MultiCurvePropertyType">
150
		<annotation>
151
			<appinfo>
152
				<sch:pattern name="Check either href or content not both">
153
					<sch:rule context="gml:multiCurveProperty">
154
						<sch:extends rule="hrefOrContent"/>
155
					</sch:rule>
156
				</sch:pattern>
157
			</appinfo>
158
			<documentation>This property element either references a curve aggregate via the XLink-attributes or contains the "multi curve" element. multiCurveProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiCurve.</documentation>
159
		</annotation>
160
	</element>
161
	<!-- =========================================================== -->
162
	<complexType name="MultiCurvePropertyType">
163
		<annotation>
164
			<documentation>A property that has a collection of curves as its value domain can 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 must be given, but neither both nor none.</documentation>
165
		</annotation>
166
		<sequence minOccurs="0">
167
			<element ref="gml:MultiCurve"/>
168
		</sequence>
169
		<attributeGroup ref="gml:AssociationAttributeGroup">
170
			<annotation>
171
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
172
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
173
			</annotation>
174
		</attributeGroup>
175
	</complexType>
176
	<!-- =========================================================== -->
177
	<element name="MultiSurface" type="gml:MultiSurfaceType" substitutionGroup="gml:_GeometricAggregate"/>
178
	<!-- ======================================================= -->
179
	<complexType name="MultiSurfaceType">
180
		<annotation>
181
			<documentation>A MultiSurface is defined by one or more Surfaces, referenced through surfaceMember elements.</documentation>
182
		</annotation>
183
		<complexContent>
184
			<extension base="gml:AbstractGeometricAggregateType">
185
				<sequence>
186
					<annotation>
187
						<documentation>The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
188
NOTE: Array properties cannot reference remote geometry elements.</documentation>
189
					</annotation>
190
					<element ref="gml:surfaceMember" minOccurs="0" maxOccurs="unbounded"/>
191
					<element ref="gml:surfaceMembers" minOccurs="0"/>
192
				</sequence>
193
			</extension>
194
		</complexContent>
195
	</complexType>
196
	<!-- =========================================================== -->
197
	<element name="multiSurfaceProperty" type="gml:MultiSurfacePropertyType">
198
		<annotation>
199
			<appinfo>
200
				<sch:pattern name="Check either href or content not both">
201
					<sch:rule context="gml:multiSurfaceProperty">
202
						<sch:extends rule="hrefOrContent"/>
203
					</sch:rule>
204
				</sch:pattern>
205
			</appinfo>
206
			<documentation>This property element either references a surface aggregate via the XLink-attributes or contains the "multi surface" element. multiSurfaceProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiSurface.</documentation>
207
		</annotation>
208
	</element>
209
	<!-- =========================================================== -->
210
	<complexType name="MultiSurfacePropertyType">
211
		<annotation>
212
			<documentation>A property that has a collection of surfaces as its value domain can 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 must be given, but neither both nor none.</documentation>
213
		</annotation>
214
		<sequence minOccurs="0">
215
			<element ref="gml:MultiSurface"/>
216
		</sequence>
217
		<attributeGroup ref="gml:AssociationAttributeGroup">
218
			<annotation>
219
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
220
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
221
			</annotation>
222
		</attributeGroup>
223
	</complexType>
224
	<!-- ============================================================ -->
225
	<element name="MultiSolid" type="gml:MultiSolidType" substitutionGroup="gml:_GeometricAggregate"/>
226
	<!-- ======================================================= -->
227
	<complexType name="MultiSolidType">
228
		<annotation>
229
			<documentation>A MultiSolid is defined by one or more Solids, referenced through solidMember elements.</documentation>
230
		</annotation>
231
		<complexContent>
232
			<extension base="gml:AbstractGeometricAggregateType">
233
				<sequence>
234
					<annotation>
235
						<documentation>The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
236
NOTE: Array properties cannot reference remote geometry elements.</documentation>
237
					</annotation>
238
					<element ref="gml:solidMember" minOccurs="0" maxOccurs="unbounded"/>
239
					<element ref="gml:solidMembers" minOccurs="0"/>
240
				</sequence>
241
			</extension>
242
		</complexContent>
243
	</complexType>
244
	<!-- =========================================================== -->
245
	<element name="multiSolidProperty" type="gml:MultiSolidPropertyType">
246
		<annotation>
247
			<appinfo>
248
				<sch:pattern name="Check either href or content not both">
249
					<sch:rule context="gml:multiSolidProperty">
250
						<sch:extends rule="hrefOrContent"/>
251
					</sch:rule>
252
				</sch:pattern>
253
			</appinfo>
254
			<documentation>This property element either references a solid aggregate via the XLink-attributes or contains the "multi solid" element. multiSolidProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiSolid.</documentation>
255
		</annotation>
256
	</element>
257
	<!-- =========================================================== -->
258
	<complexType name="MultiSolidPropertyType">
259
		<annotation>
260
			<documentation>A property that has a collection of solids as its value domain can 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 must be given, but neither both nor none.</documentation>
261
		</annotation>
262
		<sequence minOccurs="0">
263
			<element ref="gml:MultiSolid"/>
264
		</sequence>
265
		<attributeGroup ref="gml:AssociationAttributeGroup">
266
			<annotation>
267
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
268
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
269
			</annotation>
270
		</attributeGroup>
271
	</complexType>
272
	<!-- =========================================================== -->
273
	<!-- 
274
	
275
	The following types and elements are deprecated and should not be used !
276
	For backward compatibility with GML2 only
277
	
278
	-->
279
	<!-- =========================================================== -->
280
	<element name="MultiPolygon" type="gml:MultiPolygonType" substitutionGroup="gml:_GeometricAggregate">
281
		<annotation>
282
			<documentation>Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "MultiSurface" element instead.</documentation>
283
		</annotation>
284
	</element>
285
	<!-- =========================================================== -->
286
	<element name="MultiLineString" type="gml:MultiLineStringType" substitutionGroup="gml:_GeometricAggregate">
287
		<annotation>
288
			<documentation>Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "MultiCurve" element instead.</documentation>
289
		</annotation>
290
	</element>
291
	<!-- =========================================================== -->
292
	<complexType name="MultiLineStringType">
293
		<annotation>
294
			<documentation>A MultiLineString is defined by one or more LineStrings, referenced through lineStringMember elements. Deprecated with GML version 3.0. Use MultiCurveType instead.</documentation>
295
		</annotation>
296
		<complexContent>
297
			<extension base="gml:AbstractGeometricAggregateType">
298
				<sequence>
299
					<element ref="gml:lineStringMember" minOccurs="0" maxOccurs="unbounded"/>
300
				</sequence>
301
			</extension>
302
		</complexContent>
303
	</complexType>
304
	<!-- =========================================================== -->
305
	<complexType name="MultiLineStringPropertyType">
306
		<annotation>
307
			<documentation>This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use MultiCurvePropertyType instead.
308
A property that has a collection of line strings as its value domain can 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 must be given, but neither both nor none.</documentation>
309
		</annotation>
310
		<sequence minOccurs="0">
311
			<element ref="gml:MultiLineString"/>
312
		</sequence>
313
		<attributeGroup ref="gml:AssociationAttributeGroup">
314
			<annotation>
315
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
316
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
317
			</annotation>
318
		</attributeGroup>
319
	</complexType>
320
	<!-- =========================================================== -->
321
	<complexType name="MultiPolygonType">
322
		<annotation>
323
			<documentation>A MultiPolygon is defined by one or more Polygons, referenced through polygonMember elements. Deprecated with GML version 3.0. Use MultiSurfaceType instead.</documentation>
324
		</annotation>
325
		<complexContent>
326
			<extension base="gml:AbstractGeometricAggregateType">
327
				<sequence>
328
					<element ref="gml:polygonMember" minOccurs="0" maxOccurs="unbounded"/>
329
				</sequence>
330
			</extension>
331
		</complexContent>
332
	</complexType>
333
	<!-- =========================================================== -->
334
	<complexType name="MultiPolygonPropertyType">
335
		<annotation>
336
			<documentation>This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use MultiSurfacePropertyType instead.
337

  
338
A property that has a collection of polygons as its value domain can 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 must be given, but neither both nor none.</documentation>
339
		</annotation>
340
		<sequence minOccurs="0">
341
			<element ref="gml:MultiPolygon"/>
342
		</sequence>
343
		<attributeGroup ref="gml:AssociationAttributeGroup">
344
			<annotation>
345
				<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
346
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation>
347
			</annotation>
348
		</attributeGroup>
349
	</complexType>
350
	<!-- =========================================================== -->
351
	<!-- =========================================================== -->
352
	<element name="geometryMember" type="gml:GeometryPropertyType">
353
		<annotation>
354
			<documentation>This property element either references a geometry element via the XLink-attributes or contains the geometry element.</documentation>
355
		</annotation>
356
	</element>
357
	<element name="geometryMembers" type="gml:GeometryArrayPropertyType">
358
		<annotation>
359
			<documentation>This property element contains a list of geometry elements. The order of the elements is significant and shall be preserved when processing the array.</documentation>
360
		</annotation>
361
	</element>
362
	<element name="pointMember" type="gml:PointPropertyType">
363
		<annotation>
364
			<documentation>This property element either references a Point via the XLink-attributes or contains the Point element.</documentation>
365
		</annotation>
366
	</element>
367
	<element name="pointMembers" type="gml:PointArrayPropertyType">
368
		<annotation>
369
			<documentation>This property element contains a list of points. The order of the elements is significant and shall be preserved when processing the array.</documentation>
370
		</annotation>
371
	</element>
372
	<element name="curveMembers" type="gml:CurveArrayPropertyType">
373
		<annotation>
374
			<documentation>This property element contains a list of curves. The order of the elements is significant and shall be preserved when processing the array.</documentation>
375
		</annotation>
376
	</element>
377
	<element name="surfaceMember" type="gml:SurfacePropertyType">
378
		<annotation>
379
			<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 "_Surface".</documentation>
380
		</annotation>
381
	</element>
382
	<element name="surfaceMembers" type="gml:SurfaceArrayPropertyType">
383
		<annotation>
384
			<documentation>This property element contains a list of surfaces. The order of the elements is significant and shall be preserved when processing the array.</documentation>
385
		</annotation>
386
	</element>
387
	<element name="solidMember" type="gml:SolidPropertyType">
388
		<annotation>
389
			<documentation>This property element either references a solid via the XLink-attributes or contains the solid element. A solid element is any element which is substitutable for "_Solid".</documentation>
390
		</annotation>
391
	</element>
392
	<element name="solidMembers" type="gml:SolidArrayPropertyType">
393
		<annotation>
394
			<documentation>This property element contains a list of solids. The order of the elements is significant and shall be preserved when processing the array.</documentation>
395
		</annotation>
396
	</element>
397
	<!-- some named geometry properties - for backward compatibility with GML2 -->
398
	<element name="multiCenterOf" type="gml:MultiPointPropertyType"/>
399
	<element name="multiPosition" type="gml:MultiPointPropertyType"/>
400
	<element name="multiCenterLineOf" type="gml:MultiCurvePropertyType"/>
401
	<element name="multiEdgeOf" type="gml:MultiCurvePropertyType"/>
402
	<element name="multiCoverage" type="gml:MultiSurfacePropertyType"/>
403
	<element name="multiExtentOf" type="gml:MultiSurfacePropertyType"/>
404
	<!-- 
405
	
406
	The following types and elements are deprecated and should not be used !
407
	
408
	-->
409
	<element name="multiLocation" type="gml:MultiPointPropertyType">
410
		<annotation>
411
			<appinfo>deprecated</appinfo>
412
			<documentation>Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "curveMember" instead.
413
This property element either references a line string via the XLink-attributes or contains the line string element.</documentation>
414
		</annotation>
415
	</element>
416
	<element name="lineStringMember" type="gml:LineStringPropertyType">
417
		<annotation>
418
			<appinfo>deprecated</appinfo>
419
			<documentation>Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "curveMember" instead.
420
This property element either references a line string via the XLink-attributes or contains the line string element.</documentation>
421
		</annotation>
422
	</element>
423
	<element name="polygonMember" type="gml:PolygonPropertyType">
424
		<annotation>
425
			<appinfo>deprecated</appinfo>
426
			<documentation>Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "surfaceMember" instead.
427
This property element either references a polygon via the XLink-attributes or contains the polygon element.</documentation>
428
		</annotation>
429
	</element>
430
	<!-- =========================================================== -->
431
</schema>
432 0

  
lib/schema/isotc211-noaa/gml311/valueObjects.xsd
1
<?xml version="1.0" encoding="UTF-8"?>
2
<schema targetNamespace="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
3
        attributeFormDefault="unqualified" version="3.1.1.2">
4
	<annotation>
5
		<appinfo source="urn:opengis:specification:gml:schema-xsd:valueObjects:3.1.1">valueObjects.xsd</appinfo>
6
		<documentation>GML conformant schema for Values in which the  
7
		    * scalar Value types and lists have their values recorded in simpleContent elements 
8
		    * complex Value types are built recursively
9
		    
10
		    GML is an OGC Standard.
11
		    Copyright (c) 2001,2005,2010 Open Geospatial Consortium.
12
		    To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
13
		</documentation>
14
	</annotation>
15
	<!-- ====================================================================== -->
16
	<!-- geometry and temporal included so that _Geometry and _TimeObject can be added to Value choice group -->
17
	<include schemaLocation="gml.xsd"/>
18
	<include schemaLocation="geometryBasic0d1d.xsd"/>
19
	<include schemaLocation="temporal.xsd"/>
20
	<!-- ====================================================================== -->
21
	<group name="Value">
22
		<annotation>
23
			<documentation>Utility choice group which unifies generic Values defined in this schema document with 
24
			Geometry and Temporal objects and the Measures described above, 
25
			so that any of these may be used within aggregate Values.</documentation>
26
		</annotation>
27
		<choice>
28
			<!-- <element ref="gml:_Value"/> -->
29
			<group ref="gml:ValueObject"/>
30
			<element ref="gml:_Object"/>
31
			<!--			<element ref="gml:_Geometry"/>
32
			<element ref="gml:_TimeObject"/> -->
33
			<element ref="gml:Null"/>
34
		</choice>
35
	</group>
36
	<!-- ====================================================================== -->
37
	<group name="ValueObject">
38
		<choice>
39
			<group ref="gml:ScalarValue"/>
40
			<group ref="gml:ScalarValueList"/>
41
			<group ref="gml:ValueExtent"/>
42
			<element ref="gml:CompositeValue"/>
43
		</choice>
44
	</group>
45
	<!-- ======================================================================
46
	<element name="_Value" abstract="true" substitutionGroup="gml:_Object">
47
		<annotation>
48
			<documentation>Abstract element which acts as the head of a substitution group which contains _ScalarValue, _ScalarValueList and CompositeValue and (transitively) the elements in their substitution groups.  This element may be used in an application schema as a variable, so that in an XML instance document any member of its substitution group may occur.</documentation>
49
		</annotation>
50
	</element> -->
51
	<!-- ====================================================================== -->
52
	<!-- ================== Scalar Values =========================
53
	<element name="_ScalarValue" abstract="true" substitutionGroup="gml:_Value">
54
		<annotation>
55
			<documentation>Abstract element which acts as the head of a substitution group which contains Boolean, Category, Count and Quantity, and (transitively) the elements in their substitution groups.  This element may be used in an application schema as a variable, so that in an XML instance document any member of its substitution group may occur.</documentation>
56
		</annotation>
57
	</element> -->
58
	<group name="ScalarValue">
59
		<choice>
60
			<element ref="gml:Boolean"/>
61
			<element ref="gml:Category"/>
62
			<element ref="gml:Quantity"/>
63
			<element ref="gml:Count"/>
64
		</choice>
65
	</group>
66
	<!-- ======================================================================
67
	<element name="_ScalarValueList" abstract="true" substitutionGroup="gml:_Value">
68
		<annotation>
69
			<documentation>Abstract element which acts as the head of a substitution group which contains the compact encodings BooleanList, CategoryList, CountList and QuantityList, and (transitively) the elements in their substitution groups.  This element may be used in an application schema as a variable, so that in an XML instance document any member of its substitution group may occur.</documentation>
70
		</annotation>
71
	</element> -->
72
	<group name="ScalarValueList">
73
		<choice>
74
			<element ref="gml:BooleanList"/>
75
			<element ref="gml:CategoryList"/>
76
			<element ref="gml:QuantityList"/>
77
			<element ref="gml:CountList"/>
78
		</choice>
79
	</group>
80
	<!-- ====================================================================== -->
81
	<!-- ======================= Boolean ========================
82
	<element name="Boolean" type="boolean" substitutionGroup="gml:_ScalarValue"> -->
83
	<element name="Boolean" type="boolean">
84
		<annotation>
85
			<documentation>A value from two-valued logic, using the XML Schema boolean type.  An instance may take the values {true, false, 1, 0}.</documentation>
86
		</annotation>
87
	</element>
88
	<!--
89
	<element name="BooleanList" type="gml:booleanOrNullList" substitutionGroup="gml:_ScalarValueList"> -->
90
	<element name="BooleanList" type="gml:booleanOrNullList">
91
		<annotation>
92
			<documentation>XML List based on XML Schema boolean type.  An element of this type contains a space-separated list of boolean values {0,1,true,false}</documentation>
93
		</annotation>
94
	</element>
95
	<!-- ====================================================================== -->
96
	<!-- ======================= Category ==========================
97
	<element name="Category" type="gml:CodeType" substitutionGroup="gml:_ScalarValue"> -->
98
	<element name="Category" type="gml:CodeType">
99
		<annotation>
100
			<documentation>A term representing a classification.  It has an optional XML attribute codeSpace, whose value is a URI which identifies a dictionary, codelist or authority for the term.</documentation>
101
		</annotation>
102
	</element>
103
	<!--
104
	<element name="CategoryList" type="gml:CodeOrNullListType" substitutionGroup="gml:_ScalarValueList"> -->
105
	<element name="CategoryList" type="gml:CodeOrNullListType">
106
		<annotation>
107
			<documentation>A space-separated list of terms or nulls.  A single XML attribute codeSpace may be provided, which authorises all the terms in the list.</documentation>
108
		</annotation>
109
	</element>
110
	<!-- ====================================================================== -->
111
	<!-- =========================== Quantity ============================
112
	<element name="Quantity" type="gml:MeasureType" substitutionGroup="gml:_ScalarValue"> -->
113
	<element name="Quantity" type="gml:MeasureType">
114
		<annotation>
115
			<documentation>A numeric value with a scale.  The content of the element is an amount using the XML Schema type double which permits decimal or scientific notation.  An XML attribute uom (unit of measure) is required, whose value is a URI which identifies the definition of the scale or units by which the numeric value must be multiplied.</documentation>
116
		</annotation>
117
	</element>
118
	<!--
119
	<element name="QuantityList" type="gml:MeasureOrNullListType" substitutionGroup="gml:_ScalarValueList"> -->
120
	<element name="QuantityList" type="gml:MeasureOrNullListType">
121
		<annotation>
122
			<documentation>A space separated list of amounts or nulls.  The amounts use the XML Schema type double.  A single XML attribute uom (unit of measure) is required, whose value is a URI which identifies the definition of the scale or units by which all the amounts in the list must be multiplied.</documentation>
123
		</annotation>
124
	</element>
125
	<!-- ====================================================================== -->
126
	<!-- ========================== Count ==========================
127
	<element name="Count" type="integer" substitutionGroup="gml:_ScalarValue"> -->
128
	<element name="Count" type="integer">
129
		<annotation>
130
			<documentation>An integer representing a frequency of occurrence.</documentation>
131
		</annotation>
132
	</element>
133
	<!--
134
	<element name="CountList" type="gml:integerOrNullList" substitutionGroup="gml:_ScalarValueList"> -->
135
	<element name="CountList" type="gml:integerOrNullList">
136
		<annotation>
137
			<documentation>A space-separated list of integers or nulls.</documentation>
138
		</annotation>
139
	</element>
140
	<!-- ====================================================================== -->
141
	<!--                    aggregate Value types                      -->
142
	<!-- ====================================================================== -->
143
	<!-- ===================== ValueCollection ========================== -->
144
	<complexType name="CompositeValueType">
145
		<annotation>
146
			<documentation>Aggregate value built from other Values using the Composite pattern. It contains zero or an arbitrary number of valueComponent elements, and zero or one valueComponents elements.  It may be used for strongly coupled aggregates (vectors, tensors) or for arbitrary collections of values.</documentation>
147
		</annotation>
148
		<complexContent>
149
			<extension base="gml:AbstractGMLType">
150
				<sequence>
151
					<element ref="gml:valueComponent" minOccurs="0" maxOccurs="unbounded"/>
152
					<element ref="gml:valueComponents" minOccurs="0"/>
153
				</sequence>
154
			</extension>
155
		</complexContent>
156
	</complexType>
157
	<!-- <element name="CompositeValue" type="gml:CompositeValueType" substitutionGroup="gml:_Value"> -->
158
	<element name="CompositeValue" type="gml:CompositeValueType">
159
		<annotation>
160
			<documentation>Aggregate value built using the Composite pattern.</documentation>
161
		</annotation>
162
	</element>
163
	<!-- ====================================================================== -->
164
	<!-- ========================= ValueArray ========================== -->
165
	<complexType name="ValueArrayType">
166
		<annotation>
167
			<documentation>A Value Array is used for homogeneous arrays of primitive and aggregate values.  The member values may be scalars, composites, arrays or lists.  ValueArray has the same content model as CompositeValue, but the member values must be homogeneous.  The element declaration contains a Schematron constraint which expresses this restriction precisely.            Since the members are homogeneous, the referenceSystem (uom, codeSpace) may be specified on the ValueArray itself and implicitly inherited by all the members if desired.    Note that a_ScalarValueList is preferred for arrays of Scalar Values since this is a more efficient encoding.</documentation>
168
		</annotation>
169
		<complexContent>
170
			<extension base="gml:CompositeValueType">
171
				<attributeGroup ref="gml:referenceSystem"/>
172
			</extension>
173
		</complexContent>
174
	</complexType>
175
	<!-- -->
176
	<element name="ValueArray" type="gml:ValueArrayType" substitutionGroup="gml:CompositeValue">
177
		<annotation>
178
			<appinfo>
179
				<sch:pattern name="Check either codeSpace or uom not both">
180
					<sch:rule context="gml:ValueArray">
181
						<sch:report test="@codeSpace and @uom">ValueArray may not carry both a reference to a codeSpace and a uom</sch:report>
182
					</sch:rule>
183
				</sch:pattern>
184
				<sch:pattern name="Check components are homogeneous">
185
					<sch:rule context="gml:ValueArray">
186
						<sch:assert test="count(gml:valueComponent/*) = count(gml:valueComponent/*[name() = name(../../gml:valueComponent[1]/*[1])])">All components of <sch:name/> must be of the same type</sch:assert>
187
						<sch:assert test="count(gml:valueComponents/*) = count(gml:valueComponents/*[name() = name(../*[1])])">All components of <sch:name/> must be of the same type</sch:assert>
188
					</sch:rule>
189
				</sch:pattern>
190
			</appinfo>
191
			<documentation>A Value Array is used for homogeneous arrays of primitive and aggregate values.   _ScalarValueList is preferred for arrays of Scalar Values since this is more efficient.  Since "choice" is not available for attribute groups, an external constraint (e.g. Schematron) would be required to enforce the selection of only one of these through schema validation</documentation>
192
		</annotation>
193
	</element>
194
	<!-- attribute group required for ValueArray -->
195
	<attributeGroup name="referenceSystem">
196
		<attribute name="codeSpace" type="anyURI" use="optional"/>
197
		<attribute name="uom" type="anyURI" use="optional"/>
198
	</attributeGroup>
199
	<!-- ====================================================================== -->
200
	<!-- ====================== Typed ValueExtents ============================ -->
201
	<group name="ValueExtent">
202
		<choice>
203
			<element ref="gml:CategoryExtent"/>
204
			<element ref="gml:QuantityExtent"/>
205
			<element ref="gml:CountExtent"/>
206
		</choice>
207
	</group>
208
	<!-- ======================================================================
209
	<element name="QuantityExtent" type="gml:QuantityExtentType" substitutionGroup="gml:_Value"> -->
210
	<element name="QuantityExtent" type="gml:QuantityExtentType">
211
		<annotation>
212
			<documentation>Utility element to store a 2-point range of numeric values. If one member is a null, then this is a single ended interval.</documentation>
213
		</annotation>
214
	</element>
215
	<!-- -->
216
	<complexType name="QuantityExtentType">
217
		<annotation>
218
			<documentation>Restriction of list type to store a 2-point range of numeric values. If one member is a null, then this is a single ended interval.</documentation>
219
		</annotation>
220
		<simpleContent>
221
			<restriction base="gml:MeasureOrNullListType">
222
				<length value="2"/>
223
			</restriction>
224
		</simpleContent>
225
	</complexType>
226
	<!-- ======================================================================
227
	<element name="CategoryExtent" type="gml:CategoryExtentType" substitutionGroup="gml:_Value"> -->
228
	<element name="CategoryExtent" type="gml:CategoryExtentType">
229
		<annotation>
230
			<documentation>Utility element to store a 2-point range of ordinal values. If one member is a null, then this is a single ended interval.</documentation>
231
		</annotation>
232
	</element>
233
	<!-- -->
234
	<complexType name="CategoryExtentType">
235
		<annotation>
236
			<documentation>Restriction of list type to store a 2-point range of ordinal values. If one member is a null, then this is a single ended interval.</documentation>
237
		</annotation>
238
		<simpleContent>
239
			<restriction base="gml:CodeOrNullListType">
240
				<length value="2"/>
241
			</restriction>
242
		</simpleContent>
243
	</complexType>
244
	<!-- ======================================================================
245
	<element name="CountExtent" type="gml:CountExtentType" substitutionGroup="gml:_Value"> -->
246
	<element name="CountExtent" type="gml:CountExtentType">
247
		<annotation>
248
			<documentation>Utility element to store a 2-point range of frequency values. If one member is a null, then this is a single ended interval.</documentation>
249
		</annotation>
250
	</element>
251
	<!-- -->
252
	<simpleType name="CountExtentType">
253
		<annotation>
254
			<documentation>Restriction of list type to store a 2-point range of frequency values. If one member is a null, then this is a single ended interval.</documentation>
255
		</annotation>
256
		<restriction base="gml:integerOrNullList">
257
			<length value="2"/>
258
		</restriction>
259
	</simpleType>
260
	<!-- ====================================================================== -->
261
	<!-- ===================== pieces needed for compositing ==================== -->
262
	<element name="valueProperty" type="gml:ValuePropertyType">
263
		<annotation>
264
			<documentation>Element which refers to, or contains, a Value</documentation>
265
		</annotation>
266
	</element>
267
	<!-- ====================================================================== -->
268
	<element name="valueComponent" type="gml:ValuePropertyType">
269
		<annotation>
270
			<documentation>Element which refers to, or contains, a Value.  This version is used in CompositeValues.</documentation>
271
		</annotation>
272
	</element>
273
	<!-- ====================================================================== -->
274
	<complexType name="ValuePropertyType">
275
		<annotation>
276
			<documentation>GML property which refers to, or contains, a Value</documentation>
277
		</annotation>
278
		<sequence minOccurs="0">
279
			<group ref="gml:Value"/>
280
		</sequence>
281
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
282
	</complexType>
283
	<!-- ====================================================================== -->
284
	<!-- ====================================================================== -->
285
	<element name="valueComponents" type="gml:ValueArrayPropertyType">
286
		<annotation>
287
			<documentation>Element which refers to, or contains, a set of homogeneously typed Values.</documentation>
288
		</annotation>
289
	</element>
290
	<!-- ====================================================================== -->
291
	<complexType name="ValueArrayPropertyType">
292
		<annotation>
293
			<documentation>GML property which refers to, or contains, a set of homogeneously typed Values.</documentation>
294
		</annotation>
295
		<sequence>
296
			<group ref="gml:Value" maxOccurs="unbounded"/>
297
		</sequence>
298
	</complexType>
299
	<!-- ====================== utility typed valueProperty types ===================  -->
300
	<complexType name="ScalarValuePropertyType">
301
		<annotation>
302
			<documentation>Property whose content is a scalar value.</documentation>
303
		</annotation>
304
		<complexContent>
305
			<restriction base="gml:ValuePropertyType">
306
				<sequence minOccurs="0">
307
					<!-- <element ref="gml:_ScalarValue"/> -->
308
					<group ref="gml:ScalarValue"/>
309
				</sequence>
310
			</restriction>
311
		</complexContent>
312
	</complexType>
313
	<complexType name="BooleanPropertyType">
314
		<annotation>
315
			<documentation>Property whose content is a Boolean value.</documentation>
316
		</annotation>
317
		<complexContent>
318
			<restriction base="gml:ValuePropertyType">
319
				<sequence minOccurs="0">
320
					<element ref="gml:Boolean"/>
321
				</sequence>
322
			</restriction>
323
		</complexContent>
324
	</complexType>
325
	<complexType name="CategoryPropertyType">
326
		<annotation>
327
			<documentation>Property whose content is a Category.</documentation>
328
		</annotation>
329
		<complexContent>
330
			<restriction base="gml:ValuePropertyType">
331
				<sequence minOccurs="0">
332
					<element ref="gml:Category"/>
333
				</sequence>
334
			</restriction>
335
		</complexContent>
336
	</complexType>
337
	<complexType name="QuantityPropertyType">
338
		<annotation>
339
			<documentation>Property whose content is a Quantity.</documentation>
340
		</annotation>
341
		<complexContent>
342
			<restriction base="gml:ValuePropertyType">
343
				<sequence minOccurs="0">
344
					<element ref="gml:Quantity"/>
345
				</sequence>
346
			</restriction>
347
		</complexContent>
348
	</complexType>
349
	<complexType name="CountPropertyType">
350
		<annotation>
351
			<documentation>Property whose content is a Count.</documentation>
352
		</annotation>
353
		<complexContent>
354
			<restriction base="gml:ValuePropertyType">
355
				<sequence minOccurs="0">
356
					<element ref="gml:Count"/>
357
				</sequence>
358
			</restriction>
359
		</complexContent>
360
	</complexType>
361
	<!-- ====================================================================== -->
362
</schema>
363 0

  
lib/schema/isotc211-noaa/gml311/referenceSystems.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:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.1.1.2" xml:lang="en">
3
	<annotation>
4
		<appinfo source="urn:opengis:specification:gml:schema-xsd:referenceSystems:3.1.1"/>
5
		<documentation>How to encode reference system definitions. Builds on several other parts of GML 3 to encode the data needed to define reference systems.
6
		This schema encodes the Reference System (RS_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111 - Spatial referencing by coordinates, as described in Annex C of Topic 2. The SC_CRS class is also encoded here, to eliminate the (circular) references from coordinateOperations.xsd to coordinateReferenceSystems.xsd. The RS_SpatialReferenceSystemUsingGeographicIdentifier class is not encoded, since it is not applicable to coordinate positions. The CI_Citation class is not directly encoded, since such information can be included as metaDataProperty elements which are optionally allowed. A modified version of the EX_Extent (DataType) class from ISO 19115 is currently encoded here, using GML 3 schema types. (A more extensive version of the EX_Extent package might be XML encoded in the future, probably in a separate extent.xsd schema.)
7
		Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111.
8
		
9
		GML is an OGC Standard.
10
		Copyright (c) 2001,2005,2010 Open Geospatial Consortium.
11
		To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
12
		</documentation>
13
	</annotation>
14
	<!-- ======================================================
15
       includes and imports
16
	====================================================== -->
17
	<include schemaLocation="gml.xsd"/>
18
	<include schemaLocation="geometryBasic2d.xsd"/>
19
	<include schemaLocation="temporal.xsd"/>
20
	<!-- ======================================================
21
       elements and types
22
	====================================================== -->
23
	<element name="_ReferenceSystem" type="gml:AbstractReferenceSystemType" abstract="true" substitutionGroup="gml:Definition"/>
24
	<!-- =================================================== -->
25
	<complexType name="AbstractReferenceSystemBaseType" abstract="true">
26
		<annotation>
27
			<documentation>Basic encoding for reference system objects, simplifying and restricting the DefinitionType as needed.</documentation>
28
		</annotation>
29
		<complexContent>
30
			<restriction base="gml:DefinitionType">
31
				<sequence>
32
					<element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/>
33
					<element ref="gml:srsName"/>
34
				</sequence>
35
				<attribute ref="gml:id" use="required"/>
36
			</restriction>
37
		</complexContent>
38
	</complexType>
39
	<!-- =================================================== -->
40
	<element name="srsName" type="gml:CodeType" substitutionGroup="gml:name">
41
		<annotation>
42
			<documentation>The name by which this reference system is identified.</documentation>
43
		</annotation>
44
	</element>
45
	<!-- =================================================== -->
46
	<complexType name="AbstractReferenceSystemType" abstract="true">
47
		<annotation>
48
			<documentation>Description of a spatial and/or temporal reference system used by a dataset.</documentation>
49
		</annotation>
50
		<complexContent>
51
			<extension base="gml:AbstractReferenceSystemBaseType">
52
				<sequence>
53
					<element ref="gml:srsID" minOccurs="0" maxOccurs="unbounded">
54
						<annotation>
55
							<documentation>Set of alterative identifications of this reference system. The first srsID, if any, is normally the primary identification code, and any others are aliases.</documentation>
56
						</annotation>
57
					</element>
58
					<element ref="gml:remarks" minOccurs="0">
59
						<annotation>
60
							<documentation>Comments on or information about this reference system, including source information.</documentation>
61
						</annotation>
62
					</element>
63
					<element ref="gml:validArea" minOccurs="0"/>
64
					<element ref="gml:scope" minOccurs="0"/>
65
				</sequence>
66
			</extension>
67
		</complexContent>
68
	</complexType>
69
	<!-- =================================================== -->
70
	<element name="srsID" type="gml:IdentifierType">
71
		<annotation>
72
			<documentation>An identification of a reference system.</documentation>
73
		</annotation>
74
	</element>
75
	<!-- =================================================== -->
76
	<element name="referenceSystemRef" type="gml:ReferenceSystemRefType"/>
77
	<!-- =================================================== -->
78
	<complexType name="ReferenceSystemRefType">
79
		<annotation>
80
			<documentation>Association to a reference system, either referencing or containing the definition of that reference system.</documentation>
81
		</annotation>
82
		<sequence minOccurs="0">
83
			<element ref="gml:_ReferenceSystem"/>
84
		</sequence>
85
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
86
	</complexType>
87
	<!-- =================================================== -->
88
	<element name="_CRS" type="gml:AbstractReferenceSystemType" abstract="true" substitutionGroup="gml:_ReferenceSystem">
89
		<annotation>
90
			<documentation>Abstract coordinate reference system, usually defined by a coordinate system and a datum. This abstract complexType shall not be used, extended, or restricted, in an Application Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype specified in this document.</documentation>
91
		</annotation>
92
	</element>
93
	<!-- =================================================== -->
94
	<element name="crsRef" type="gml:CRSRefType"/>
95
	<!-- =================================================== -->
96
	<complexType name="CRSRefType">
97
		<annotation>
98
			<documentation>Association to a CRS abstract coordinate reference system, either referencing or containing the definition of that CRS.</documentation>
99
		</annotation>
100
		<sequence minOccurs="0">
101
			<element ref="gml:_CRS"/>
102
		</sequence>
103
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
104
	</complexType>
105
	<!-- =================================================== -->
106
	<!-- =================================================== -->
107
	<complexType name="IdentifierType">
108
		<annotation>
109
			<documentation>An identification of a CRS object. The first use of the IdentifierType for an object, if any, is normally the primary identification code, and any others are aliases.</documentation>
110
		</annotation>
111
		<sequence>
112
			<element ref="gml:name">
113
				<annotation>
114
					<documentation>The code or name for this Identifier, often from a controlled list or pattern defined by a code space. The optional codeSpace attribute is normally included to identify or reference a code space within which one or more codes are defined. This code space is often defined by some authority organization, where one organization may define multiple code spaces. The range and format of each Code Space identifier is defined by that code space authority. Information about that code space authority can be included as metaDataProperty elements which are optionally allowed in all CRS objects.</documentation>
115
				</annotation>
116
			</element>
117
			<element ref="gml:version" minOccurs="0"/>
118
			<element ref="gml:remarks" minOccurs="0">
119
				<annotation>
120
					<documentation>Remarks about this code or alias.</documentation>
121
				</annotation>
122
			</element>
123
		</sequence>
124
	</complexType>
125
	<!-- =================================================== -->
126
	<element name="version" type="string">
127
		<annotation>
128
			<documentation>Identifier of the version of the associated codeSpace or code, as specified by the codeSpace or code authority. This version is included only when the "code" or "codeSpace" uses versions. When appropriate, the version is identified by the effective date, coded using ISO 8601 date format.</documentation>
129
		</annotation>
130
	</element>
131
	<!-- =================================================== -->
132
	<element name="remarks" type="gml:StringOrRefType">
133
		<annotation>
134
			<documentation>Information about this object or code. Contains text or refers to external text.</documentation>
135
		</annotation>
136
	</element>
137
	<!-- =================================================== -->
138
	<element name="scope" type="string">
139
		<annotation>
140
			<documentation>Description of domain of usage, or limitations of usage, for which this CRS object is valid.</documentation>
141
		</annotation>
142
	</element>
143
	<!-- =================================================== -->
144
	<element name="validArea" type="gml:ExtentType">
145
		<annotation>
146
			<documentation>Area or region in which this CRS object is valid.</documentation>
147
		</annotation>
148
	</element>
149
	<!-- =================================================== -->
150
	<complexType name="ExtentType">
151
		<annotation>
152
			<documentation>Information about the spatial, vertical, and/or temporal extent of a reference system object. Constraints: At least one of the elements "description", "boundingBox", "boundingPolygon", "verticalExtent", and temporalExtent" must be included, but more that one can be included when appropriate. Furthermore, more than one "boundingBox", "boundingPolygon", "verticalExtent", and/or temporalExtent" element can be included, with more than one meaning the union of the individual domains.</documentation>
153
		</annotation>
154
		<sequence>
155
			<element ref="gml:description" minOccurs="0">
156
				<annotation>
157
					<documentation>Description of spatial and/or temporal extent of this object.</documentation>
158
				</annotation>
159
			</element>
160
			<choice>
161
				<annotation>
162
					<documentation>Geographic domain of this reference system object.</documentation>
163
				</annotation>
164
				<element ref="gml:boundingBox" minOccurs="0" maxOccurs="unbounded">
165
					<annotation>
166
						<documentation>Unordered list of bounding boxes (or envelopes) whose union describes the spatial domain of this object.</documentation>
167
					</annotation>
168
				</element>
169
				<element ref="gml:boundingPolygon" minOccurs="0" maxOccurs="unbounded">
170
					<annotation>
171
						<documentation>Unordered list of bounding polygons whose union describes the spatial domain of this object.</documentation>
172
					</annotation>
173
				</element>
174
			</choice>
175
			<element ref="gml:verticalExtent" minOccurs="0" maxOccurs="unbounded">
176
				<annotation>
177
					<documentation>Unordered list of vertical intervals whose union describes the spatial domain of this object.</documentation>
178
				</annotation>
179
			</element>
180
			<element ref="gml:temporalExtent" minOccurs="0" maxOccurs="unbounded">
181
				<annotation>
182
					<documentation>Unordered list of time periods whose union describes the spatial domain of this object.</documentation>
183
				</annotation>
184
			</element>
185
		</sequence>
186
	</complexType>
187
	<!-- =================================================== -->
188
	<element name="boundingBox" type="gml:EnvelopeType">
189
		<annotation>
190
			<documentation>A bounding box (or envelope) defining the spatial domain of this object.</documentation>
191
		</annotation>
192
	</element>
193
	<!-- =================================================== -->
194
	<element name="boundingPolygon" type="gml:PolygonType">
195
		<annotation>
196
			<documentation>A bounding polygon defining the horizontal spatial domain of this object.</documentation>
197
		</annotation>
198
	</element>
199
	<!-- =================================================== -->
200
	<element name="verticalExtent" type="gml:EnvelopeType">
201
		<annotation>
202
			<documentation>An interval defining the vertical spatial domain of this object.</documentation>
203
		</annotation>
204
	</element>
205
	<!-- =================================================== -->
206
	<element name="temporalExtent" type="gml:TimePeriodType">
207
		<annotation>
208
			<documentation>A time period defining the temporal domain of this object.</documentation>
209
		</annotation>
210
	</element>
211
	<!-- =================================================== -->
212
</schema>
213 0

  
lib/schema/isotc211-noaa/gml311/temporalReferenceSystems.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:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.1.1.2">
3
	<annotation>
4
		<appinfo source="urn:opengis:specification:gml:schema-xsd:temporalReferenceSystems:3.1.1"/>
5
		<documentation xml:lang="en">The Temporal Reference Systems schema for GML 3.1 provides constructs for handling various styles of temporal reference system. 
6
    This schema reflects a partial implementation of the model described in ISO 19108:2002.
7
    
8
    GML is an OGC Standard.
9
    Copyright (c) 2001,2005,2010 Open Geospatial Consortium.
10
    To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
11
		</documentation>
12
	</annotation>
13
	<!-- ================================================================== -->
14
	<include schemaLocation="gml.xsd"/>
15
	<include schemaLocation="temporalTopology.xsd"/>
16
	<include schemaLocation="dictionary.xsd"/>
17
	<!-- ================================================================== -->
18
	<!-- == Time Reference System == -->
19
	<!-- ================================================================== -->
20
	<element name="_TimeReferenceSystem" type="gml:AbstractTimeReferenceSystemType" abstract="true" substitutionGroup="gml:Definition">
21
		<annotation>
22
			<documentation>Abstract element serves primarily as the head of a substitution group for temporal reference systems.</documentation>
23
		</annotation>
24
	</element>
25
	<!-- ===================================== -->
26
	<complexType name="AbstractTimeReferenceSystemType" abstract="true">
27
		<annotation>
28
			<documentation xml:lang="en">A value in the time domain is measured relative to a temporal reference system. Common 
29
        types of reference systems include calendars, ordinal temporal reference systems, and 
30
        temporal coordinate systems (time elapsed since some epoch, e.g. UNIX time).</documentation>
31
		</annotation>
32
		<complexContent>
33
			<extension base="gml:DefinitionType">
34
				<sequence>
35
					<element name="domainOfValidity" type="string" minOccurs="0"/>
36
				</sequence>
37
			</extension>
38
		</complexContent>
39
	</complexType>
40
	<!-- ================================================================== -->
41
	<!-- == Time Coordinate System == -->
42
	<!-- ================================================================== -->
43
	<element name="TimeCoordinateSystem" type="gml:TimeCoordinateSystemType" substitutionGroup="gml:_TimeReferenceSystem"/>
44
	<!-- ===================================== -->
45
	<complexType name="TimeCoordinateSystemType">
46
		<annotation>
47
			<documentation xml:lang="en">A temporal coordinate system is based on a continuous interval scale defined in terms of a single time interval.</documentation>
48
		</annotation>
49
		<complexContent>
50
			<extension base="gml:AbstractTimeReferenceSystemType">
51
				<sequence>
52
					<choice>
53
						<element name="originPosition" type="gml:TimePositionType"/>
54
						<element name="origin" type="gml:TimeInstantPropertyType"/>
55
					</choice>
56
					<element name="interval" type="gml:TimeIntervalLengthType"/>
57
				</sequence>
58
			</extension>
59
		</complexContent>
60
	</complexType>
61
	<!-- ================================================================== -->
62
	<!-- == Time Ordinal System == -->
63
	<!-- ================================================================== -->
64
	<element name="TimeOrdinalReferenceSystem" type="gml:TimeOrdinalReferenceSystemType" substitutionGroup="gml:_TimeReferenceSystem"/>
65
	<!-- ===================================== -->
66
	<complexType name="TimeOrdinalReferenceSystemType">
67
		<annotation>
68
			<documentation xml:lang="en">In an ordinal reference system the order of events in time can be well 
69
      established, but the magnitude of the intervals between them can not be 
70
      accurately determined (e.g. a stratigraphic sequence).</documentation>
71
		</annotation>
72
		<complexContent>
73
			<extension base="gml:AbstractTimeReferenceSystemType">
74
				<sequence>
75
					<element name="component" type="gml:TimeOrdinalEraPropertyType" maxOccurs="unbounded"/>
76
				</sequence>
77
			</extension>
78
		</complexContent>
79
	</complexType>
80
	<!-- ================================================================== -->
81
	<element name="TimeOrdinalEra" type="gml:TimeOrdinalEraType"/>
82
	<!-- ===================================== -->
83
	<complexType name="TimeOrdinalEraType">
84
		<annotation>
85
			<documentation xml:lang="en">Ordinal temporal reference systems are often hierarchically structured 
86
      such that an ordinal era at a given level of the hierarchy includes a 
87
      sequence of shorter, coterminous ordinal eras. This captured using the member/group properties.  
88
      
89
      Note that in this schema, TIme Ordinal Era is patterned on TimeEdge, which is a variation from ISO 19108.  
90
      This is in order to fulfill the requirements of ordinal reference systems based on eras delimited by 
91
      named points or nodes, which are common in geology, archeology, etc.  
92
      
93
      This change is subject of a change proposal to ISO</documentation>
94
		</annotation>
95
		<complexContent>
96
			<extension base="gml:DefinitionType">
97
				<sequence>
98
					<element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" maxOccurs="unbounded"/>
99
					<element name="start" type="gml:TimeNodePropertyType"/>
100
					<element name="end" type="gml:TimeNodePropertyType"/>
101
					<element name="extent" type="gml:TimePeriodPropertyType" minOccurs="0"/>
102
					<element name="member" type="gml:TimeOrdinalEraPropertyType" minOccurs="0" maxOccurs="unbounded">
103
						<annotation>
104
							<documentation>An Era may be composed of several member Eras. The "member" element implements the association to the Era at the next level down the hierarchy.  "member" follows the standard GML property pattern whereby its (complex) value may be either described fully inline, or may be the target of a link carried on the member element and described fully elsewhere, either in the same document or from another service.</documentation>
105
						</annotation>
106
					</element>
107
					<element name="group" type="gml:ReferenceType" minOccurs="0">
108
						<annotation>
109
							<documentation>In a particular Time System, an Era may be a member of a group.  The "group" element implements the back-pointer to the Era at the next level up in the hierarchy. 
110

  
111
If the hierarchy is represented by describing the nested components fully in the their nested position inside "member" elements, then the parent can be easily inferred, so the group property is unnecessary.  
112

  
113
However, if the hierarchy is represented by links carried on the "member" property elements, pointing to Eras described fully elsewhere, then it may be useful for a child (member) era to carry an explicit pointer back to its parent (group) Era.</documentation>
114
						</annotation>
115
					</element>
116
				</sequence>
117
			</extension>
118
		</complexContent>
119
	</complexType>
120
	<!-- ================================================================== -->
121
	<complexType name="TimeOrdinalEraPropertyType">
122
		<sequence minOccurs="0">
123
			<element ref="gml:TimeOrdinalEra"/>
124
		</sequence>
125
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
126
	</complexType>
127
	<!-- ================================================================== -->
128
	<!-- == Calendar == -->
129
	<!-- ================================================================== -->
130
	<element name="TimeCalendar" type="gml:TimeCalendarType" substitutionGroup="gml:_TimeReferenceSystem"/>
131
	<!-- ===================================== -->
132
	<complexType name="TimeCalendarType">
133
		<annotation>
134
			<documentation xml:lang="en">A calendar is a discrete temporal reference system 
135
      that provides a basis for defining temporal position to a resolution of one day. 
136
      A single calendar may reference more than one calendar era.</documentation>
137
		</annotation>
138
		<complexContent>
139
			<extension base="gml:AbstractTimeReferenceSystemType">
140
				<sequence>
141
					<element name="referenceFrame" type="gml:TimeCalendarEraPropertyType" maxOccurs="unbounded">
142
						<annotation>
143
							<documentation>Link to the CalendarEras that it uses as a reference for dating.</documentation>
144
						</annotation>
145
					</element>
146
				</sequence>
147
			</extension>
148
		</complexContent>
149
	</complexType>
150
	<!-- ================================================================== -->
151
	<complexType name="TimeCalendarPropertyType">
152
		<sequence minOccurs="0">
153
			<element ref="gml:TimeCalendar"/>
154
		</sequence>
155
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
156
	</complexType>
157
	<!-- ================================================================== -->
158
	<element name="TimeCalendarEra" type="gml:TimeCalendarEraType" substitutionGroup="gml:Definition"/>
159
	<!-- ===================================== -->
160
	<complexType name="TimeCalendarEraType">
161
		<annotation>
162
			<documentation xml:lang="en">In every calendar, years are numbered relative to the date of a 
163
      reference event that defines a calendar era. 
164
      In this implementation, we omit the back-pointer "datingSystem".</documentation>
165
		</annotation>
166
		<complexContent>
167
			<extension base="gml:DefinitionType">
168
				<sequence>
169
					<element name="referenceEvent" type="gml:StringOrRefType">
170
						<annotation>
171
							<documentation>Name or description of a mythical or historic event which fixes the position of the base scale of the calendar era.</documentation>
172
						</annotation>
173
					</element>
174
					<element name="referenceDate" type="date" default="0001-01-01" minOccurs="0">
175
						<annotation>
176
							<documentation>Date of the referenceEvent expressed as a date in the given calendar. 
177
              In most calendars, this date is the origin (i.e., the first day) of the scale, but this is not always true.</documentation>
178
						</annotation>
179
					</element>
180
					<element name="julianReference" type="decimal">
181
						<annotation>
182
							<documentation>Julian date that corresponds to the reference date.  
183
              The Julian day numbering system is a temporal coordinate system that has an 
184
              origin earlier than any known calendar, 
185
              at noon on 1 January 4713 BC in the Julian proleptic calendar.  
186
              The Julian day number is an integer value; 
187
              the Julian date is a decimal value that allows greater resolution. 
188
              Transforming calendar dates to and from Julian dates provides a 
189
              relatively simple basis for transforming dates from one calendar to another.</documentation>
190
						</annotation>
191
					</element>
192
					<element name="epochOfUse" type="gml:TimePeriodPropertyType">
193
						<annotation>
194
							<documentation>Period for which the calendar era was used as a basis for dating.</documentation>
195
						</annotation>
196
					</element>
197
				</sequence>
198
			</extension>
199
		</complexContent>
200
	</complexType>
201
	<!-- ================================================================== -->
202
	<complexType name="TimeCalendarEraPropertyType">
203
		<sequence minOccurs="0">
204
			<element ref="gml:TimeCalendarEra"/>
205
		</sequence>
206
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
207
	</complexType>
208
	<!-- ================================================================== -->
209
	<!-- == Clock == -->
210
	<!-- ================================================================== -->
211
	<element name="TimeClock" type="gml:TimeClockType" substitutionGroup="gml:_TimeReferenceSystem"/>
212
	<!-- ===================================== -->
213
	<complexType name="TimeClockType" final="#all">
214
		<annotation>
215
			<documentation xml:lang="en">A clock provides a basis for defining temporal position within a day. 
216
      A clock must be used with a calendar in order to provide a complete description of a temporal position 
217
      within a specific day.</documentation>
218
		</annotation>
219
		<complexContent>
220
			<extension base="gml:AbstractTimeReferenceSystemType">
221
				<sequence>
222
					<element name="referenceEvent" type="gml:StringOrRefType">
223
						<annotation>
224
							<documentation>Name or description of an event, such as solar noon or sunrise, 
225
              which fixes the position of the base scale of the clock.</documentation>
226
						</annotation>
227
					</element>
228
					<element name="referenceTime" type="time">
229
						<annotation>
230
							<documentation>time of day associated with the reference event expressed as 
231
              a time of day in the given clock. The reference time is usually the origin of the clock scale.</documentation>
232
						</annotation>
233
					</element>
234
					<element name="utcReference" type="time">
235
						<annotation>
236
							<documentation>24 hour local or UTC time that corresponds to the reference time.</documentation>
237
						</annotation>
238
					</element>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff