root / trunk / libraries / libGPE-GML / testdata / schemas / 2_1_2 / feature.xsd @ 11160
History | View | Annotate | Download (12.2 KB)
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" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified" version="2.1.2"> |
3 |
<annotation> |
4 |
<appinfo>feature.xsd v2.1.2 2002-07</appinfo> |
5 |
<documentation xml:lang="en"> |
6 |
GML Feature schema. Copyright (c) 2002 OGC, All Rights Reserved. |
7 |
</documentation> |
8 |
</annotation> |
9 |
<!-- include constructs from the GML Geometry schema --> |
10 |
<include schemaLocation="geometry.xsd"/> |
11 |
<!-- bring in the XLink namespace --> |
12 |
<import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/> |
13 |
<!-- ============================================================== |
14 |
global declarations |
15 |
=================================================================== --> |
16 |
<element name="_Feature" type="gml:AbstractFeatureType" abstract="true"/> |
17 |
<element name="_FeatureCollection" type="gml:AbstractFeatureCollectionType" abstract="true" substitutionGroup="gml:_Feature"/> |
18 |
<element name="featureMember" type="gml:FeatureAssociationType"/> |
19 |
<!-- some basic geometric properties of features --> |
20 |
<element name="_geometryProperty" type="gml:GeometryAssociationType" abstract="true"/> |
21 |
<element name="geometryProperty" type="gml:GeometryAssociationType"/> |
22 |
<element name="boundedBy" type="gml:BoundingShapeType"/> |
23 |
<element name="pointProperty" type="gml:PointPropertyType" substitutionGroup="gml:_geometryProperty"/> |
24 |
<element name="polygonProperty" type="gml:PolygonPropertyType" substitutionGroup="gml:_geometryProperty"/> |
25 |
<element name="lineStringProperty" type="gml:LineStringPropertyType" substitutionGroup="gml:_geometryProperty"/> |
26 |
<element name="multiPointProperty" type="gml:MultiPointPropertyType" substitutionGroup="gml:_geometryProperty"/> |
27 |
<element name="multiLineStringProperty" type="gml:MultiLineStringPropertyType" substitutionGroup="gml:_geometryProperty"/> |
28 |
<element name="multiPolygonProperty" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:_geometryProperty"/> |
29 |
<element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType" substitutionGroup="gml:_geometryProperty"/> |
30 |
<!-- common aliases for geometry properties --> |
31 |
<element name="location" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/> |
32 |
<element name="centerOf" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/> |
33 |
<element name="position" type="gml:PointPropertyType" substitutionGroup="gml:pointProperty"/> |
34 |
<element name="extentOf" type="gml:PolygonPropertyType" substitutionGroup="gml:polygonProperty"/> |
35 |
<element name="coverage" type="gml:PolygonPropertyType" substitutionGroup="gml:polygonProperty"/> |
36 |
<element name="edgeOf" type="gml:LineStringPropertyType" substitutionGroup="gml:lineStringProperty"/> |
37 |
<element name="centerLineOf" type="gml:LineStringPropertyType" substitutionGroup="gml:lineStringProperty"/> |
38 |
<element name="multiLocation" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/> |
39 |
<element name="multiCenterOf" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/> |
40 |
<element name="multiPosition" type="gml:MultiPointPropertyType" substitutionGroup="gml:multiPointProperty"/> |
41 |
<element name="multiCenterLineOf" type="gml:MultiLineStringPropertyType" substitutionGroup="gml:multiLineStringProperty"/> |
42 |
<element name="multiEdgeOf" type="gml:MultiLineStringPropertyType" substitutionGroup="gml:multiLineStringProperty"/> |
43 |
<element name="multiCoverage" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:multiPolygonProperty"/> |
44 |
<element name="multiExtentOf" type="gml:MultiPolygonPropertyType" substitutionGroup="gml:multiPolygonProperty"/> |
45 |
<!-- common feature descriptors --> |
46 |
<element name="description" type="string"/> |
47 |
<element name="name" type="string"/> |
48 |
<!-- ============================================================== |
49 |
abstract supertypes |
50 |
=================================================================== --> |
51 |
<complexType name="AbstractFeatureType" abstract="true"> |
52 |
<annotation> |
53 |
<documentation> |
54 |
An abstract feature provides a set of common properties. A concrete |
55 |
feature type must derive from this type and specify additional |
56 |
properties in an application schema. A feature may optionally |
57 |
possess an identifying attribute ('fid'). |
58 |
</documentation> |
59 |
</annotation> |
60 |
<sequence> |
61 |
<element ref="gml:description" minOccurs="0"/> |
62 |
<element ref="gml:name" minOccurs="0"/> |
63 |
<element ref="gml:boundedBy" minOccurs="0"/> |
64 |
<!-- additional properties must be specified in an application schema --> |
65 |
</sequence> |
66 |
<attribute name="fid" type="ID" use="optional"/> |
67 |
</complexType> |
68 |
<complexType name="AbstractFeatureCollectionBaseType" abstract="true"> |
69 |
<annotation> |
70 |
<documentation> |
71 |
This abstract base type just makes the boundedBy element mandatory |
72 |
for a feature collection. |
73 |
</documentation> |
74 |
</annotation> |
75 |
<complexContent> |
76 |
<restriction base="gml:AbstractFeatureType"> |
77 |
<sequence> |
78 |
<element ref="gml:description" minOccurs="0"/> |
79 |
<element ref="gml:name" minOccurs="0"/> |
80 |
<element ref="gml:boundedBy"/> |
81 |
</sequence> |
82 |
<attribute name="fid" type="ID" use="optional"/> |
83 |
</restriction> |
84 |
</complexContent> |
85 |
</complexType> |
86 |
<complexType name="AbstractFeatureCollectionType" abstract="true"> |
87 |
<annotation> |
88 |
<documentation> |
89 |
A feature collection contains zero or more featureMember elements. |
90 |
</documentation> |
91 |
</annotation> |
92 |
<complexContent> |
93 |
<extension base="gml:AbstractFeatureCollectionBaseType"> |
94 |
<sequence> |
95 |
<element ref="gml:featureMember" minOccurs="0" maxOccurs="unbounded"/> |
96 |
</sequence> |
97 |
</extension> |
98 |
</complexContent> |
99 |
</complexType> |
100 |
<complexType name="GeometryPropertyType"> |
101 |
<annotation> |
102 |
<documentation> |
103 |
A simple geometry property encapsulates a geometry element. |
104 |
Alternatively, it can function as a pointer (simple-type link) |
105 |
that refers to a remote geometry element. |
106 |
</documentation> |
107 |
</annotation> |
108 |
<sequence minOccurs="0"> |
109 |
<element ref="gml:_Geometry"/> |
110 |
</sequence> |
111 |
<attributeGroup ref="xlink:simpleLink"/> |
112 |
<attribute ref="gml:remoteSchema" use="optional"/> |
113 |
</complexType> |
114 |
<complexType name="FeatureAssociationType"> |
115 |
<annotation> |
116 |
<documentation> |
117 |
An instance of this type (e.g. a featureMember) can either |
118 |
enclose or point to a feature (or feature collection); this |
119 |
type can be restricted in an application schema to allow only |
120 |
specified features as valid participants in the association. |
121 |
When serving as a simple link that references a remote feature |
122 |
instance, the value of the gml:remoteSchema attribute can be |
123 |
used to locate a schema fragment that constrains the target |
124 |
instance. |
125 |
</documentation> |
126 |
</annotation> |
127 |
<sequence minOccurs="0"> |
128 |
<element ref="gml:_Feature"/> |
129 |
</sequence> |
130 |
<attributeGroup ref="xlink:simpleLink"/> |
131 |
<attribute ref="gml:remoteSchema" use="optional"/> |
132 |
</complexType> |
133 |
<complexType name="BoundingShapeType"> |
134 |
<annotation> |
135 |
<documentation> |
136 |
Bounding shapes--a Box or a null element are currently allowed. |
137 |
</documentation> |
138 |
</annotation> |
139 |
<sequence> |
140 |
<choice> |
141 |
<element ref="gml:Box"/> |
142 |
<element name="null" type="gml:NullType"/> |
143 |
</choice> |
144 |
</sequence> |
145 |
</complexType> |
146 |
<!-- ============================================================== |
147 |
geometry properties |
148 |
=================================================================== --> |
149 |
<complexType name="PointPropertyType"> |
150 |
<annotation> |
151 |
<documentation> |
152 |
Encapsulates a single point to represent position, location, or |
153 |
centerOf properties. |
154 |
</documentation> |
155 |
</annotation> |
156 |
<complexContent> |
157 |
<restriction base="gml:GeometryAssociationType"> |
158 |
<sequence minOccurs="0"> |
159 |
<element ref="gml:Point"/> |
160 |
</sequence> |
161 |
<attributeGroup ref="xlink:simpleLink"/> |
162 |
<attribute ref="gml:remoteSchema" use="optional"/> |
163 |
</restriction> |
164 |
</complexContent> |
165 |
</complexType> |
166 |
<complexType name="PolygonPropertyType"> |
167 |
<annotation> |
168 |
<documentation> |
169 |
Encapsulates a single polygon to represent coverage or extentOf |
170 |
properties. |
171 |
</documentation> |
172 |
</annotation> |
173 |
<complexContent> |
174 |
<restriction base="gml:GeometryAssociationType"> |
175 |
<sequence minOccurs="0"> |
176 |
<element ref="gml:Polygon"/> |
177 |
</sequence> |
178 |
<attributeGroup ref="xlink:simpleLink"/> |
179 |
<attribute ref="gml:remoteSchema" use="optional"/> |
180 |
</restriction> |
181 |
</complexContent> |
182 |
</complexType> |
183 |
<complexType name="LineStringPropertyType"> |
184 |
<annotation> |
185 |
<documentation> |
186 |
Encapsulates a single LineString to represent centerLineOf or |
187 |
edgeOf properties. |
188 |
</documentation> |
189 |
</annotation> |
190 |
<complexContent> |
191 |
<restriction base="gml:GeometryAssociationType"> |
192 |
<sequence minOccurs="0"> |
193 |
<element ref="gml:LineString"/> |
194 |
</sequence> |
195 |
<attributeGroup ref="xlink:simpleLink"/> |
196 |
<attribute ref="gml:remoteSchema" use="optional"/> |
197 |
</restriction> |
198 |
</complexContent> |
199 |
</complexType> |
200 |
<complexType name="MultiPointPropertyType"> |
201 |
<annotation> |
202 |
<documentation> |
203 |
Encapsulates a MultiPoint element to represent the following |
204 |
discontiguous geometric properties: multiLocation, multiPosition, |
205 |
multiCenterOf. |
206 |
</documentation> |
207 |
</annotation> |
208 |
<complexContent> |
209 |
<restriction base="gml:GeometryAssociationType"> |
210 |
<sequence minOccurs="0"> |
211 |
<element ref="gml:MultiPoint"/> |
212 |
</sequence> |
213 |
<attributeGroup ref="xlink:simpleLink"/> |
214 |
<attribute ref="gml:remoteSchema" use="optional"/> |
215 |
</restriction> |
216 |
</complexContent> |
217 |
</complexType> |
218 |
<complexType name="MultiLineStringPropertyType"> |
219 |
<annotation> |
220 |
<documentation> |
221 |
Encapsulates a MultiLineString element to represent the following |
222 |
discontiguous geometric properties: multiEdgeOf, multiCenterLineOf. |
223 |
</documentation> |
224 |
</annotation> |
225 |
<complexContent> |
226 |
<restriction base="gml:GeometryAssociationType"> |
227 |
<sequence minOccurs="0"> |
228 |
<element ref="gml:MultiLineString"/> |
229 |
</sequence> |
230 |
<attributeGroup ref="xlink:simpleLink"/> |
231 |
<attribute ref="gml:remoteSchema" use="optional"/> |
232 |
</restriction> |
233 |
</complexContent> |
234 |
</complexType> |
235 |
<complexType name="MultiPolygonPropertyType"> |
236 |
<annotation> |
237 |
<documentation> |
238 |
Encapsulates a MultiPolygon to represent the following discontiguous |
239 |
geometric properties: multiCoverage, multiExtentOf. |
240 |
</documentation> |
241 |
</annotation> |
242 |
<complexContent> |
243 |
<restriction base="gml:GeometryAssociationType"> |
244 |
<sequence minOccurs="0"> |
245 |
<element ref="gml:MultiPolygon"/> |
246 |
</sequence> |
247 |
<attributeGroup ref="xlink:simpleLink"/> |
248 |
<attribute ref="gml:remoteSchema" use="optional"/> |
249 |
</restriction> |
250 |
</complexContent> |
251 |
</complexType> |
252 |
<complexType name="MultiGeometryPropertyType"> |
253 |
<annotation> |
254 |
<documentation>Encapsulates a MultiGeometry element.</documentation> |
255 |
</annotation> |
256 |
<complexContent> |
257 |
<restriction base="gml:GeometryAssociationType"> |
258 |
<sequence minOccurs="0"> |
259 |
<element ref="gml:MultiGeometry"/> |
260 |
</sequence> |
261 |
<attributeGroup ref="xlink:simpleLink"/> |
262 |
<attribute ref="gml:remoteSchema" use="optional"/> |
263 |
</restriction> |
264 |
</complexContent> |
265 |
</complexType> |
266 |
<simpleType name="NullType"> |
267 |
<annotation> |
268 |
<documentation> |
269 |
If a bounding shape is not provided for a feature collection, |
270 |
explain why. Allowable values are: |
271 |
innapplicable - the features do not have geometry |
272 |
unknown - the boundingBox cannot be computed |
273 |
unavailable - there may be a boundingBox but it is not divulged |
274 |
missing - there are no features |
275 |
</documentation> |
276 |
</annotation> |
277 |
<restriction base="string"> |
278 |
<enumeration value="inapplicable"/> |
279 |
<enumeration value="unknown"/> |
280 |
<enumeration value="unavailable"/> |
281 |
<enumeration value="missing"/> |
282 |
</restriction> |
283 |
</simpleType> |
284 |
</schema> |