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