Project

General

Profile

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" version="3.2.0">
3
	<annotation>
4
		<appinfo source="urn:ogc:specification:gml:schema-xsd:geometryAggregates:3.2.0">geometryAggregates.xsd</appinfo>
5
		<documentation>See ISO/DIS 19136 12.3.
6
Geometric aggregates (i.e. instances of a subtype of gml:AbstractGeometricAggregateType) are arbitrary aggregations of geometry elements. They are not assumed to have any additional internal structure and are used to "collect" pieces of geometry of a specified type. Application schemas may use aggregates for features that use multiple geometric objects in their representations.</documentation>
7
	</annotation>
8
	<include schemaLocation="geometryPrimitives.xsd"/>
9
	<complexType name="AbstractGeometricAggregateType" abstract="true">
10
		<complexContent>
11
			<extension base="gml:AbstractGeometryType">
12
				<attributeGroup ref="gml:AggregationAttributeGroup"/>
13
			</extension>
14
		</complexContent>
15
	</complexType>
16
	<element name="AbstractGeometricAggregate" type="gml:AbstractGeometricAggregateType" abstract="true" substitutionGroup="gml:AbstractGeometry">
17
		<annotation>
18
			<documentation>gml:AbstractGeometricAggregate is the abstract head of the substitution group for all geometric aggregates.</documentation>
19
		</annotation>
20
	</element>
21
	<complexType name="MultiGeometryType">
22
		<complexContent>
23
			<extension base="gml:AbstractGeometricAggregateType">
24
				<sequence>
25
					<element ref="gml:geometryMember" minOccurs="0" maxOccurs="unbounded"/>
26
					<element ref="gml:geometryMembers" minOccurs="0"/>
27
				</sequence>
28
			</extension>
29
		</complexContent>
30
	</complexType>
31
	<element name="MultiGeometry" type="gml:MultiGeometryType" substitutionGroup="gml:AbstractGeometricAggregate">
32
		<annotation>
33
			<documentation>gml:MultiGeometry is a collection of one or more GML geometry objects of arbitrary type. 
34
The members of the geometric aggregate may be specified either using the "standard" property (gml:geometryMember) or the array property (gml:geometryMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation>
35
		</annotation>
36
	</element>
37
	<element name="geometryMember" type="gml:GeometryPropertyType">
38
		<annotation>
39
			<documentation>This property element either references a geometry element via the XLink-attributes or contains the geometry element.</documentation>
40
		</annotation>
41
	</element>
42
	<element name="geometryMembers" type="gml:GeometryArrayPropertyType">
43
		<annotation>
44
			<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>
45
		</annotation>
46
	</element>
47
	<complexType name="MultiGeometryPropertyType">
48
		<annotation>
49
			<documentation>A property that has a geometric aggregate 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>
50
		</annotation>
51
		<sequence minOccurs="0">
52
			<element ref="gml:AbstractGeometricAggregate"/>
53
		</sequence>
54
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
55
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
56
	</complexType>
57
	<element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType">
58
		<annotation>
59
			<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 may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for AbstractGeometricAggregate.</documentation>
60
		</annotation>
61
	</element>
62
	<complexType name="MultiPointType">
63
		<complexContent>
64
			<extension base="gml:AbstractGeometricAggregateType">
65
				<sequence>
66
					<element ref="gml:pointMember" minOccurs="0" maxOccurs="unbounded"/>
67
					<element ref="gml:pointMembers" minOccurs="0"/>
68
				</sequence>
69
			</extension>
70
		</complexContent>
71
	</complexType>
72
	<element name="MultiPoint" type="gml:MultiPointType" substitutionGroup="gml:AbstractGeometricAggregate">
73
		<annotation>
74
			<documentation>A gml:MultiPoint consists of one or more gml:Points.
75
The members of the geometric aggregate may be specified either using the "standard" property (gml:pointMember) or the array property (gml:pointMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation>
76
		</annotation>
77
	</element>
78
	<element name="pointMember" type="gml:PointPropertyType">
79
		<annotation>
80
			<documentation>This property element either references a Point via the XLink-attributes or contains the Point element.</documentation>
81
		</annotation>
82
	</element>
83
	<element name="pointMembers" type="gml:PointArrayPropertyType">
84
		<annotation>
85
			<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>
86
		</annotation>
87
	</element>
88
	<complexType name="MultiPointPropertyType">
89
		<annotation>
90
			<documentation>A property that has a collection of points 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>
91
		</annotation>
92
		<sequence minOccurs="0">
93
			<element ref="gml:MultiPoint"/>
94
		</sequence>
95
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
96
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
97
	</complexType>
98
	<element name="multiPointProperty" type="gml:MultiPointPropertyType">
99
		<annotation>
100
			<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 may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for MultiPoint.</documentation>
101
		</annotation>
102
	</element>
103
	<complexType name="MultiCurveType">
104
		<complexContent>
105
			<extension base="gml:AbstractGeometricAggregateType">
106
				<sequence>
107
					<element ref="gml:curveMember" minOccurs="0" maxOccurs="unbounded"/>
108
					<element ref="gml:curveMembers" minOccurs="0"/>
109
				</sequence>
110
			</extension>
111
		</complexContent>
112
	</complexType>
113
	<element name="MultiCurve" type="gml:MultiCurveType" substitutionGroup="gml:AbstractGeometricAggregate">
114
		<annotation>
115
			<documentation>A gml:MultiCurve is defined by one or more gml:AbstractCurves.
116
The members of the geometric aggregate may be specified either using the "standard" property (gml:curveMember) or the array property (gml:curveMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation>
117
		</annotation>
118
	</element>
119
	<element name="curveMembers" type="gml:CurveArrayPropertyType">
120
		<annotation>
121
			<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>
122
		</annotation>
123
	</element>
124
	<complexType name="MultiCurvePropertyType">
125
		<annotation>
126
			<documentation>A property that has a collection of curves 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>
127
		</annotation>
128
		<sequence minOccurs="0">
129
			<element ref="gml:MultiCurve"/>
130
		</sequence>
131
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
132
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
133
	</complexType>
134
	<element name="multiCurveProperty" type="gml:MultiCurvePropertyType">
135
		<annotation>
136
			<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 may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for MultiCurve.</documentation>
137
		</annotation>
138
	</element>
139
	<complexType name="MultiSurfaceType">
140
		<complexContent>
141
			<extension base="gml:AbstractGeometricAggregateType">
142
				<sequence>
143
					<element ref="gml:surfaceMember" minOccurs="0" maxOccurs="unbounded"/>
144
					<element ref="gml:surfaceMembers" minOccurs="0"/>
145
				</sequence>
146
			</extension>
147
		</complexContent>
148
	</complexType>
149
	<element name="MultiSurface" type="gml:MultiSurfaceType" substitutionGroup="gml:AbstractGeometricAggregate">
150
		<annotation>
151
			<documentation>A gml:MultiSurface is defined by one or more gml:AbstractSurfaces.
152
The members of the geometric aggregate may be specified either using the "standard" property (gml:surfaceMember) or the array property (gml:surfaceMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation>
153
		</annotation>
154
	</element>
155
	<element name="surfaceMembers" type="gml:SurfaceArrayPropertyType">
156
		<annotation>
157
			<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>
158
		</annotation>
159
	</element>
160
	<complexType name="MultiSurfacePropertyType">
161
		<annotation>
162
			<documentation>A property that has a collection of surfaces 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>
163
		</annotation>
164
		<sequence minOccurs="0">
165
			<element ref="gml:MultiSurface"/>
166
		</sequence>
167
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
168
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
169
	</complexType>
170
	<element name="multiSurfaceProperty" type="gml:MultiSurfacePropertyType">
171
		<annotation>
172
			<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 may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for MultiSurface.</documentation>
173
		</annotation>
174
	</element>
175
	<complexType name="MultiSolidType">
176
		<complexContent>
177
			<extension base="gml:AbstractGeometricAggregateType">
178
				<sequence>
179
					<element ref="gml:solidMember" minOccurs="0" maxOccurs="unbounded"/>
180
					<element ref="gml:solidMembers" minOccurs="0"/>
181
				</sequence>
182
			</extension>
183
		</complexContent>
184
	</complexType>
185
	<element name="MultiSolid" type="gml:MultiSolidType" substitutionGroup="gml:AbstractGeometricAggregate">
186
		<annotation>
187
			<documentation>A gml:MultiSolid is defined by one or more gml:AbstractSolids.
188
The members of the geometric aggregate may be specified either using the "standard" property (gml:solidMember) or the array property (gml:solidMembers). It is also valid to use both the "standard" and the array properties in the same collection.</documentation>
189
		</annotation>
190
	</element>
191
	<element name="solidMember" type="gml:SolidPropertyType">
192
		<annotation>
193
			<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 gml:AbstractSolid.</documentation>
194
		</annotation>
195
	</element>
196
	<element name="solidMembers" type="gml:SolidArrayPropertyType">
197
		<annotation>
198
			<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>
199
		</annotation>
200
	</element>
201
	<complexType name="MultiSolidPropertyType">
202
		<annotation>
203
			<documentation>A property that has a collection of solids 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>
204
		</annotation>
205
		<sequence minOccurs="0">
206
			<element ref="gml:MultiSolid"/>
207
		</sequence>
208
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
209
		<attributeGroup ref="gml:OwnershipAttributeGroup"/>
210
	</complexType>
211
	<element name="multiSolidProperty" type="gml:MultiSolidPropertyType">
212
		<annotation>
213
			<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 may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for MultiSolid.</documentation>
214
		</annotation>
215
	</element>
216
</schema>
(22-22/54)