Revision 911

View differences:

org.gvsig.xmlschema/library/tags/org.gvsig.xmlschema-2.0.17/org.gvsig.xmlschema.lib/org.gvsig.xmlschema.lib.spi/src/test/resources/schemas/munic.xsd
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema targetNamespace="http://inspire.cop.gva.es" xmlns:cit="http://inspire.cop.gva.es" xmlns:gml="http://www.opengis.net/gml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:citef="http://www.opengis.net/cite/functions" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"><xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://inspire.cop.gva.es:80/geoserver/schemas/gml/2.1.2/feature.xsd"/><xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" name="municipios_cv_Type"><xs:complexContent><xs:extension base="gml:AbstractFeatureType"><xs:sequence><xs:element name="objectid" minOccurs="0" nillable="true" type="xs:int"/><xs:element name="area" minOccurs="0" nillable="true" type="xs:double"/><xs:element name="perimeter" minOccurs="0" nillable="true" type="xs:double"/><xs:element name="e20003_" minOccurs="0" nillable="true" type="xs:int"/><xs:element name="e20003_id" minOccurs="0" nillable="true" type="xs:int"/><xs:element name="nombre03" minOccurs="0" nillable="true"><xs:simpleType><xs:restriction base="xs:string"><xs:maxLength value="2147483647"/></xs:restriction></xs:simpleType></xs:element><xs:element name="prov" minOccurs="0" nillable="true" type="xs:short"/><xs:element name="mun" minOccurs="0" nillable="true" type="xs:short"/><xs:element name="shape_leng" minOccurs="0" nillable="true" type="xs:double"/><xs:element name="shape_area" minOccurs="0" nillable="true" type="xs:double"/><xs:element name="provmun" minOccurs="0" nillable="true"><xs:simpleType><xs:restriction base="xs:string"><xs:maxLength value="2147483647"/></xs:restriction></xs:simpleType></xs:element><xs:element name="com" minOccurs="0" nillable="true"><xs:simpleType><xs:restriction base="xs:string"><xs:maxLength value="2147483647"/></xs:restriction></xs:simpleType></xs:element><xs:element name="the_geom" minOccurs="0" nillable="true" type="gml:MultiPolygonPropertyType"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:element name="municipios_cv" type="cit:municipios_cv_Type" substitutionGroup="gml:_Feature"/></xs:schema>
0 3

  
org.gvsig.xmlschema/library/tags/org.gvsig.xmlschema-2.0.17/org.gvsig.xmlschema.lib/org.gvsig.xmlschema.lib.spi/src/test/resources/schemas/idee.xsd
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:deegreewfs="http://www.deegree.org/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ideewfs="http://www.idee.es/wfs" xmlns:ogc="http://www.opengis.net/ogc" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.idee.es/wfs">
3
	<xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/feature.xsd"/>
4
	<xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/geometryAggregates.xsd"/>
5
	<!-- configuration for the persistence backend to be used -->
6
	
7
	<!-- ==============================================================
8
		global element declarations
9
		=================================================================== -->
10
	<xsd:element name="BDLL1000Municipio" substitutionGroup="gml:_Feature" type="ideewfs:LimiteMunicipioType">
11
		
12
	</xsd:element>
13
	<xsd:element name="BDLL200Municipio" substitutionGroup="gml:_Feature" type="ideewfs:LimiteMunicipioType">
14
		
15
	</xsd:element>
16
	<xsd:element name="BDLL25Municipio" substitutionGroup="gml:_Feature" type="ideewfs:LimiteMunicipioType">
17
		
18
	</xsd:element>
19
	<xsd:element name="BDLL1000CCAA" substitutionGroup="gml:_Feature" type="ideewfs:LimiteCCAAType">
20
		
21
	</xsd:element>
22
	<xsd:element name="BDLL200CCAA" substitutionGroup="gml:_Feature" type="ideewfs:LimiteCCAAType">
23
		
24
	</xsd:element>
25
	<xsd:element name="BDLL25CCAA" substitutionGroup="gml:_Feature" type="ideewfs:LimiteCCAAType">
26
		
27
	</xsd:element>
28
	<xsd:element name="BDLL1000Provincia" substitutionGroup="gml:_Feature" type="ideewfs:LimiteProvinciaType">
29
		
30
	</xsd:element>
31
	<xsd:element name="BDLL200Provincia" substitutionGroup="gml:_Feature" type="ideewfs:LimiteProvinciaType">
32
		
33
	</xsd:element>
34
	<xsd:element name="BDLL25Provincia" substitutionGroup="gml:_Feature" type="ideewfs:LimiteProvinciaType">
35
		
36
	</xsd:element>
37
	
38
	<!-- ==============================================================
39
		feature types definitions
40
		=================================================================== -->
41
	<xsd:complexType name="LimiteCCAAType">
42
		<xsd:complexContent>
43
			<xsd:extension base="ideewfs:LimiteType">
44
				<xsd:sequence>
45
					<xsd:element maxOccurs="1" minOccurs="0" name="codCCAA" type="xsd:string">
46
						
47
					</xsd:element>
48
				</xsd:sequence>
49
			</xsd:extension>
50
		</xsd:complexContent>
51
	</xsd:complexType>	
52
	<xsd:complexType name="LimiteProvinciaType">
53
		<xsd:complexContent>
54
			<xsd:extension base="ideewfs:LimiteType">
55
				<xsd:sequence>
56
					<xsd:element maxOccurs="1" minOccurs="0" name="codCCAA" type="xsd:string">
57
						
58
					</xsd:element>
59
					<xsd:element maxOccurs="1" minOccurs="0" name="codINEProvincia" type="xsd:string">
60
						
61
					</xsd:element>
62
				</xsd:sequence>
63
			</xsd:extension>
64
		</xsd:complexContent>
65
	</xsd:complexType>	
66
	<xsd:complexType name="LimiteMunicipioType">
67
		<xsd:complexContent>
68
			<xsd:extension base="ideewfs:LimiteType">
69
				<xsd:sequence>
70
					<xsd:element maxOccurs="1" minOccurs="0" name="codINEMunicipio" type="xsd:string">
71
						
72
					</xsd:element>
73
					<xsd:element maxOccurs="1" minOccurs="0" name="codINEProvincia" type="xsd:string">
74
						
75
					</xsd:element>
76
				</xsd:sequence>
77
			</xsd:extension>
78
		</xsd:complexContent>
79
	</xsd:complexType>
80
	<xsd:complexType name="LimiteType">
81
		<xsd:complexContent>
82
			<xsd:extension base="gml:AbstractFeatureType">
83
				<xsd:sequence>
84
					<xsd:element maxOccurs="1" minOccurs="0" name="nombre" type="xsd:string">
85
						
86
					</xsd:element>
87
					<xsd:element maxOccurs="1" minOccurs="0" name="geometria" type="gml:GeometryPropertyType">
88
						
89
					</xsd:element>
90
				</xsd:sequence>
91
			</xsd:extension>
92
		</xsd:complexContent>
93
	</xsd:complexType>	
94
	<!-- xsd:complexType name="LimiteMunicipio25Type">
95
		<xsd:complexContent>
96
			<xsd:extension base="gml:AbstractFeatureType">
97
				<xsd:sequence>
98
					<xsd:element name="codINEMunicipio" type="xsd:string" minOccurs="0" maxOccurs="1">
99
						<xsd:annotation>
100
							<xsd:appinfo>
101
								<deegreewfs:Content>
102
									<deegreewfs:MappingField field="COD_INE" type="VARCHAR" />
103
								</deegreewfs:Content>
104
							</xsd:appinfo>
105
						</xsd:annotation>
106
					</xsd:element>
107
					<xsd:element name="codINEProvincia" type="xsd:string" minOccurs="0" maxOccurs="1">
108
						<xsd:annotation>
109
							<xsd:appinfo>
110
								<deegreewfs:Content>
111
									<deegreewfs:MappingField field="COD_INE_PROV" type="VARCHAR" />
112
								</deegreewfs:Content>
113
							</xsd:appinfo>
114
						</xsd:annotation>
115
					</xsd:element>
116
					<xsd:element name="nombre" type="xsd:string" minOccurs="0" maxOccurs="1">
117
						<xsd:annotation>
118
							<xsd:appinfo>
119
								<deegreewfs:Content>
120
									<deegreewfs:MappingField field="NOMBRE" type="VARCHAR" />
121
								</deegreewfs:Content>
122
							</xsd:appinfo>
123
						</xsd:annotation>
124
					</xsd:element>
125
					<xsd:element name="geometria" type="gml:GeometryPropertyType" minOccurs="0" maxOccurs="1">
126
						<xsd:annotation>
127
							<xsd:appinfo>
128
								<deegreewfs:Content>
129
									<deegreewfs:MappingField field="SHAPE" type="GEOMETRY" srs="8223"/>
130
								</deegreewfs:Content>
131
							</xsd:appinfo>
132
						</xsd:annotation>
133
					</xsd:element>
134
				</xsd:sequence>
135
					
136
			</xsd:extension>
137
		</xsd:complexContent>
138
	</xsd:complexType-->
139
</xsd:schema>
org.gvsig.xmlschema/library/tags/org.gvsig.xmlschema-2.0.17/org.gvsig.xmlschema.lib/org.gvsig.xmlschema.lib.spi/src/test/resources/schemas/CityGML.xsd
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!-- CityGML Version No. 0.3.0, May 31th, 2006-->
3
<!-- CityGML - GML3 application schema for the 3D city model of the Special Interest Group 3D (SIG 3D) of GDI NRW-->
4
<!-- Editors: Dr. Gerhard Groeger & Dr. Thomas H. Kolbe, Institute for Cartography and Geoinformation, University of Bonn -->
5
<!-- For further information see: www.citygml.org -->
6
<!-- For the history of changes and additions to this CityGML schema see file history.txt -->
7
<xs:schema targetNamespace="http://www.citygml.org/citygml/1/0/0" xmlns="http://www.citygml.org/citygml/1/0/0" xmlns:xAL="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified" attributeFormDefault="unqualified">
8
    <xs:import namespace="http://www.opengis.net/gml" schemaLocation="3.1.1/base/gml.xsd"/>
9
	<xs:import namespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" schemaLocation="xAL/xAL.xsd"/>
10
	<!-- ========================================================================================= -->
11
	<!-- ======================Root Element: CityModel================================================ -->
12
	<!-- ========================================================================================= -->
13
	<xs:complexType name="CityModelType">
14
		<xs:annotation>
15
			<xs:documentation>Type describing the "root" element of any city model file. It is a
16
				collection whose members are restricted to be features of a city model. All features
17
				are included as cityObjectMember. 
18
			</xs:documentation>
19
		</xs:annotation>
20
		<xs:complexContent>
21
			<xs:extension base="gml:AbstractFeatureCollectionType">
22
				<xs:sequence/>
23
			</xs:extension>
24
		</xs:complexContent>
25
	</xs:complexType>
26
	<!-- ========================================================================================= -->
27
	<xs:element name="CityModel" type="CityModelType" substitutionGroup="gml:_FeatureCollection"/>
28
	<!-- ========================================================================================= -->
29
	<!-- =======================================CityModel Members  ================================== -->
30
	<!-- ========================================================================================= -->
31
	<xs:element name="cityObjectMember" type="gml:FeaturePropertyType" substitutionGroup="gml:featureMember"/>
32
	<!-- ========================================================================================= -->
33
	<!-- ==================================CityObject: Base Class of all Features========================== -->
34
	<!-- ========================================================================================= -->
35
	<xs:complexType name="_CityObjectType" abstract="true">
36
		<xs:annotation>
37
			<xs:documentation>Type describing the abstract superclass of most CityGML features.
38
				Its purpose is to provide a creation and a termination date as well as a reference
39
				to corresponding objects in other information systems and gerneric attributes.
40
				A generalization relation may be used to relate features, which represent the 
41
				same real-world object in different Levels-of-Detail, i.e. a feature and its generalized
42
				counterpart(s). The direction of this relation is from the feature to the corresponding
43
				generalized feature.
44
			</xs:documentation>
45
		</xs:annotation>
46
		<xs:complexContent>
47
			<xs:extension base="gml:AbstractFeatureType">
48
				<xs:sequence>
49
					<xs:element name="creationDate" type="xs:date" minOccurs="0"/>
50
					<xs:element name="terminationDate" type="xs:date" minOccurs="0"/>
51
					<xs:element name="externalReference" type="ExternalReferenceType" minOccurs="0" maxOccurs="unbounded"/>
52
					<xs:element ref="_genericAttribute" minOccurs="0" maxOccurs="unbounded"/>
53
					<xs:element name="generalizesTo" type="GeneralizationRelationType" minOccurs="0" maxOccurs="unbounded"/>
54
				</xs:sequence>
55
			</xs:extension>
56
		</xs:complexContent>
57
	</xs:complexType>
58
	<!-- ========================================================================================= -->
59
	<xs:element name="_CityObject" type="_CityObjectType" abstract="true" substitutionGroup="gml:_Feature"/>
60
	<!-- ========================================================================================= -->
61
	<xs:complexType name="GeneralizationRelationType">
62
		<xs:annotation>
63
			<xs:documentation>Denotes the relation of an CityObject to its corresponding CityObject
64
				in higher LoD, i.e. to the CityObjects representing the same real world object in
65
				higher LoD. </xs:documentation>
66
		</xs:annotation>
67
		<xs:complexContent>
68
			<xs:restriction base="gml:AssociationType">
69
				<xs:sequence minOccurs="0">
70
					<xs:element ref="º"/>
71
				</xs:sequence>
72
				<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
73
			</xs:restriction>
74
		</xs:complexContent>
75
	</xs:complexType>
76
	<!-- ========================================================================================== -->
77
	<!-- ========================================================================================== -->
78
	<!-- ===========================EXTERNAL REFERENCES (all LoD)=================================== -->
79
	<!-- ========================================================================================== -->
80
	<xs:complexType name="ExternalReferenceType">
81
		<xs:annotation>
82
			<xs:documentation>Type describing the reference to an corresponding object in an other
83
				information system, for example in the german cadastre ALKIS, the german topographic
84
				information system or ATKIS, ot the british OS mastermap. The reference consists of
85
				the name of the external information system, represented by an URI, and the
86
				reference of the external object, given either by a string or by an URI.
87
				If the informationSystem element is missing in the ExternalReference,
88
				the ExternalObjectReference must be an URI, which contains an indication
89
				of the informationSystem.
90
			</xs:documentation>
91
		</xs:annotation>
92
		<xs:sequence>
93
			<xs:element name="informationSystem" type="xs:anyURI" minOccurs="0"/>
94
			<xs:element name="externalObject" type="ExternalObjectReferenceType"/>
95
		</xs:sequence>
96
	</xs:complexType>
97
	<!-- ========================================================================================== -->
98
	<xs:complexType name="ExternalObjectReferenceType">
99
		<xs:choice>
100
			<xs:element name="name" type="xs:string"/>
101
			<xs:element name="uri" type="xs:anyURI"/>
102
		</xs:choice>
103
	</xs:complexType>
104
	<!-- ========================================================================================== -->
105
	<!-- ========================================================================================= -->
106
	<!-- ==================================Generic CityObjects and Attributes=============================-->
107
	<!-- ========================================================================================== -->
108
	<!-- ========================================================================================== -->
109
	<xs:complexType name="_GenericAttributeType" abstract="true">
110
		<xs:annotation>
111
			<xs:documentation> Generic (user defined) attributes may be used to represent attributes
112
				 which are not covered explicitly by the CityGML schema. Generic attributes should be 
113
				used with care; 	they should only be used if there is no appropiate attribute available in the schema.
114
				Oherwise, problems concerning semantic interoperability may arise.
115
				 A generic attribute has a name and a value, which has further 
116
				subclasses (IntAttrribute, StringAttribute, ...).
117
			</xs:documentation>
118
		</xs:annotation>
119
		<xs:sequence/>
120
		<xs:attribute name="name" type="xs:string" use="required"/>
121
	</xs:complexType>
122
	<!-- ========================================================================================== -->
123
	<xs:element name="_genericAttribute" type="_GenericAttributeType" abstract="true"/>
124
	<!-- ========================================================================================== -->
125
	<xs:complexType name="StringAttributeType">
126
		<xs:annotation>
127
			<xs:documentation/>
128
		</xs:annotation>
129
		<xs:complexContent>
130
			<xs:extension base="_GenericAttributeType">
131
				<xs:sequence>
132
					<xs:element name="value" type="xs:string"/>
133
				</xs:sequence>
134
			</xs:extension>
135
		</xs:complexContent>
136
	</xs:complexType>
137
	<!-- ========================================================================================== -->
138
	<xs:element name="stringAttribute" type="StringAttributeType" substitutionGroup="_genericAttribute"/>
139
	<!-- ========================================================================================== -->
140
	<xs:complexType name="IntAttributeType">
141
		<xs:annotation>
142
			<xs:documentation/>
143
		</xs:annotation>
144
		<xs:complexContent>
145
			<xs:extension base="_GenericAttributeType">
146
				<xs:sequence>
147
					<xs:element name="value" type="xs:integer"/>
148
				</xs:sequence>
149
			</xs:extension>
150
		</xs:complexContent>
151
	</xs:complexType>
152
	<!-- ========================================================================================== -->
153
	<xs:element name="intAttribute" type="IntAttributeType" substitutionGroup="_genericAttribute"/>
154
	<!-- ========================================================================================== -->
155
	<xs:complexType name="DoubleAttributeType">
156
		<xs:annotation>
157
			<xs:documentation/>
158
		</xs:annotation>
159
		<xs:complexContent>
160
			<xs:extension base="_GenericAttributeType">
161
				<xs:sequence>
162
					<xs:element name="value" type="xs:double"/>
163
				</xs:sequence>
164
			</xs:extension>
165
		</xs:complexContent>
166
	</xs:complexType>
167
	<!-- ========================================================================================== -->
168
	<xs:element name="doubleAttribute" type="DoubleAttributeType" substitutionGroup="_genericAttribute"/>
169
	<!-- ========================================================================================== -->
170
	<xs:complexType name="DateAttributeType">
171
		<xs:annotation>
172
			<xs:documentation/>
173
		</xs:annotation>
174
		<xs:complexContent>
175
			<xs:extension base="_GenericAttributeType">
176
				<xs:sequence>
177
					<xs:element name="value" type="xs:date"/>
178
				</xs:sequence>
179
			</xs:extension>
180
		</xs:complexContent>
181
	</xs:complexType>
182
	<!-- ========================================================================================== -->
183
	<xs:element name="dateAttribute" type="DateAttributeType" substitutionGroup="_genericAttribute"/>
184
	<!-- ========================================================================================== -->
185
	<xs:complexType name="UriAttributeType">
186
		<xs:annotation>
187
			<xs:documentation/>
188
		</xs:annotation>
189
		<xs:complexContent>
190
			<xs:extension base="_GenericAttributeType">
191
				<xs:sequence>
192
					<xs:element name="value" type="xs:anyURI"/>
193
				</xs:sequence>
194
			</xs:extension>
195
		</xs:complexContent>
196
	</xs:complexType>
197
	<!-- ========================================================================================== -->
198
	<xs:element name="uriAttribute" type="UriAttributeType" substitutionGroup="_genericAttribute"/>
199
	<!-- ========================================================================================== -->
200
	<xs:complexType name="GenericCityObjectType">
201
		<xs:annotation>
202
			<xs:documentation/>
203
		</xs:annotation>
204
		<xs:complexContent>
205
			<xs:extension base="_CityObjectType">
206
				<xs:sequence>
207
					<xs:element name="class" type="xs:string" minOccurs="0"/>
208
					<xs:element name="function" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
209
					<xs:element name="usage" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
210
					<xs:element name="lod0Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
211
					<xs:element name="lod1Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
212
					<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
213
					<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
214
					<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
215
					<xs:element name="lod0TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
216
					<xs:element name="lod1TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
217
					<xs:element name="lod2TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
218
					<xs:element name="lod3TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
219
					<xs:element name="lod4TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
220
					<xs:element name="lod0ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/>
221
					<xs:element name="lod1ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/>
222
					<xs:element name="lod2ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/>
223
					<xs:element name="lod3ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/>
224
					<xs:element name="lod4ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/>
225
				</xs:sequence>
226
			</xs:extension>
227
		</xs:complexContent>
228
	</xs:complexType>
229
	<!-- ========================================================================================== -->
230
	<xs:element name="GenericCityObject" type="GenericCityObjectType" substitutionGroup="_CityObject"/>
231
	<!-- ========================================================================================== -->
232
	<!-- ========================================================================================== -->
233
	<!-- =======================================GROUPS============================================ -->
234
	<!-- ========================================================================================== -->
235
	<!-- ========================================================================================== -->
236
	<!-- ========================================================================================== -->
237
	<xs:complexType name="CityObjectGroupType">
238
		<xs:annotation>
239
			<xs:documentation> A group may be used to aggregate arbitrary CityObjects
240
				according to some user-defined criteria. Examples for groups are the buildings in a
241
				specific region, the result of a query, or objects put together for visualization
242
				purposes. Each group has a name (inherited from AbstractGMLType), functions (e.g.,
243
				building group), a class and zero or more usages. A geometry may optionally be attached to a group, if
244
				the geometry of the whole group differs from the geometry of the parts. Each member
245
				of a group may be qualified by a role name, reflecting the role each cityObject
246
				plays in the context of the group.  
247
				As subclass of _CityObject, a CityObjectGroup inherits all attributes and relations, in particular
248
				an id, names, external references, generic attributes and generalization relations.  
249
				As CityObjectGroup itself is a CityObject, it may also contain groups.
250
			</xs:documentation>
251
		</xs:annotation>
252
		<xs:complexContent>
253
			<xs:extension base="_CityObjectType">
254
				<xs:sequence>
255
					<xs:element name="class" type="xs:string" minOccurs="0"/>
256
					<xs:element name="function" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
257
					<xs:element name="usage" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
258
					<xs:element name="groupMember" type="CityObjectGroupMemberType" minOccurs="0" maxOccurs="unbounded"/>
259
					<xs:element name="geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
260
				</xs:sequence>
261
			</xs:extension>
262
		</xs:complexContent>
263
	</xs:complexType>
264
	<!-- ========================================================================================== -->
265
	<xs:element name="CityObjectGroup" type="CityObjectGroupType" substitutionGroup="_CityObject"/>
266
	<!-- ========================================================================================== -->
267
	<!-- ========================================================================================== -->
268
	<!-- ======================Type for Aggregation of Group Members===================================== -->
269
	<!-- ========================================================================================== -->
270
	<xs:complexType name="CityObjectGroupMemberType">
271
		<xs:annotation>
272
			<xs:documentation>Denotes the relation of a group to its members, which are
273
				CityObjects. Since an association attribute group for enabling the use of references
274
				is provided, the relation may either be given by a reference to a city object defined alsewhere, or by
275
				inlining of  the complete city object. </xs:documentation>
276
		</xs:annotation>
277
		<xs:complexContent>
278
			<xs:extension base="gml:AssociationType">
279
				<xs:attribute name="role" type="xs:string"/>
280
			</xs:extension>
281
		</xs:complexContent>
282
	</xs:complexType>
283
	<!-- ========================================================================================== -->
284
	<!-- ======================================== Sites ============================================= -->
285
	<!-- ========================================================================================== -->
286
	<xs:complexType name="_SiteType" abstract="true">
287
		<xs:annotation>
288
			<xs:documentation>Type describing the abstract superclass for buildings, facilities,
289
				etc. Future extensions of CityGML like bridges and tunnels would be modelled as
290
				subclasses of _Site. The german translation of site is 'Anlage'.
291
				As subclass of _CityObject, a _Site inherits all attributes and relations, in particular
292
				an id, names, external references, generic attributes and generalization relations.  			
293
			</xs:documentation>
294
		</xs:annotation>
295
		<xs:complexContent>
296
			<xs:extension base="_CityObjectType"/>
297
		</xs:complexContent>
298
	</xs:complexType>
299
	<!-- ========================================================================================== -->
300
	<xs:element name="_Site" type="_SiteType" abstract="true" substitutionGroup="_CityObject"/>
301
	<!-- ========================================================================================== -->
302
	<!-- ===================================BUILDINGS (all LoD)======================================= -->
303
	<!-- ========================================================================================== -->
304
	<xs:complexType name="_AbstractBuildingType" abstract="true">
305
		<xs:annotation>
306
			<xs:documentation>Type describing the thematic and geometric attributes and the
307
				associations of buildings. It is an abstract type, only its subclasses Building and
308
				BuildingPart can be instantiated. An _AbstractBuilding may consist of BuildingParts,
309
				which are again _AbstractBuildings by inheritance. Thus an aggregation hierarchy
310
				between _AbstractBuildings of arbitrary depth may be specified. In such an
311
				hierarchy, top elements are Buildings, while all other elements are BuildingParts.
312
				Each element of such a hierarchy may have all attributes and geometries of
313
				_AbstractBuildings. It must, however, be assured than no inconsistencies occur (for
314
				example, if the geometry of a Building does not correspond to the geometries of its
315
				parts, of if the roof type of a Building is saddle roof, while its parts have an hip
316
				roof). </xs:documentation>
317
		</xs:annotation>
318
		<xs:complexContent>
319
			<xs:extension base="_SiteType">
320
				<xs:sequence>
321
					<xs:annotation>
322
						<xs:documentation> The name will be represented by gml:name (inherited from
323
							_GML) . list order for storeyHeightsAboveground: first floor, second
324
							floor,... list order for storeyHeightsBelowground: first floor below
325
							ground, second floor below ground,... The lodXMultiSurface must
326
							be used, if the geometry of a building is just a collection of
327
							surfaces bounding a solid, but not a topologically clean solid boundary
328
							necessary for GML3 solid boundaries. 
329
						</xs:documentation>
330
					</xs:annotation>
331
					<xs:element name="class" type="BuildingClassType" minOccurs="0"/>
332
					<xs:element name="function" type="BuildingFunctionType" minOccurs="0" maxOccurs="unbounded"/>
333
					<xs:element name="usage" type="BuildingUsageType" minOccurs="0" maxOccurs="unbounded"/>
334
					<xs:element name="yearOfConstruction" type="xs:gYear" minOccurs="0"/>
335
					<xs:element name="roofType" type="RoofTypeType" minOccurs="0"/>
336
					<xs:element name="measuredHeight" type="gml:LengthType" minOccurs="0"/>
337
					<xs:element name="storeysAboveGround" type="xs:nonNegativeInteger" minOccurs="0"/>
338
					<xs:element name="storeysBelowGround" type="xs:nonNegativeInteger" minOccurs="0"/>
339
					<xs:element name="storeyHeightsAboveGround" type="gml:MeasureOrNullListType" minOccurs="0"/>
340
					<xs:element name="storeyHeightsBelowGround" type="gml:MeasureOrNullListType" minOccurs="0"/>
341
					<xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/>
342
					<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
343
					<xs:element name="lod1TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
344
					<xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/>
345
					<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
346
					<xs:element name="lod2MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
347
					<xs:element name="lod2TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
348
					<xs:element name="outerBuildingInstallation" type="BuildingInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/>
349
					<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
350
					<xs:element name="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/>
351
					<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
352
					<xs:element name="lod3MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
353
					<xs:element name="lod3TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
354
					<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
355
					<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
356
					<xs:element name="lod4MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
357
					<xs:element name="lod4TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
358
					<xs:element name="interiorRoom" type="InteriorRoomPropertyType" minOccurs="0" maxOccurs="unbounded"/>
359
					<xs:element name="consistsOfBuildingPart" type="BuildingPartPropertyType" minOccurs="0" maxOccurs="unbounded"/>
360
					<xs:element name="address" type="AddressPropertyType" minOccurs="0" maxOccurs="unbounded"/>
361
				</xs:sequence>
362
			</xs:extension>
363
		</xs:complexContent>
364
	</xs:complexType>
365
	<!-- ========================================================================================== -->
366
	<xs:element name="_AbstractBuilding" type="_AbstractBuildingType" abstract="true" substitutionGroup="_Site"/>
367
	<!-- ========================================================================================== -->
368
	<xs:simpleType name="BuildingClassType">
369
		<xs:annotation>
370
			<xs:documentation> Class of a building. The values of this type are defined in a the XML
371
				file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3. 
372
			</xs:documentation>
373
		</xs:annotation>
374
		<xs:restriction base="xs:string"/>
375
	</xs:simpleType>
376
	<!-- ========================================================================================== -->
377
	<xs:simpleType name="BuildingFunctionType">
378
		<xs:annotation>
379
			<xs:documentation> Intended function of a building. The values of this type are defined in the XML
380
				file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3.
381
				The values may be adopted from ALKIS, the german standard for cadastre modelling.
382
				If the cadastre models from other countries differ in the building functions,
383
				these values may be compiled in another codelist to be used with CityGML.
384
			</xs:documentation>
385
		</xs:annotation>
386
		<xs:restriction base="xs:string"/>
387
	</xs:simpleType>
388
	<!-- ========================================================================================== -->
389
	<xs:simpleType name="BuildingUsageType">
390
		<xs:annotation>
391
			<xs:documentation> Actual usage of a building. The values of this type are defined in a the XML
392
				file "CityGML_ExternalCodeLists.xml", according to the dictionary concept of GML3..
393
			</xs:documentation>
394
		</xs:annotation>
395
		<xs:restriction base="xs:string"/>
396
	</xs:simpleType>
397
	<!-- ========================================================================================== -->
398
	<xs:simpleType name="RoofTypeType">
399
		<xs:annotation>
400
			<xs:documentation>Roof Types. The values of this type are defined in a XML file,
401
				according to the dictionary concept of GML3.</xs:documentation>
402
		</xs:annotation>
403
		<xs:restriction base="xs:string"/>
404
	</xs:simpleType>
405
	<!-- ========================================================================================== -->
406
	<xs:complexType name="BuildingPartType">
407
		<xs:complexContent>
408
			<xs:extension base="_AbstractBuildingType"/>
409
		</xs:complexContent>
410
	</xs:complexType>
411
	<!-- ========================================================================================== -->
412
	<xs:element name="BuildingPart" type="BuildingPartType" substitutionGroup="_AbstractBuilding"/>
413
	<!-- ========================================================================================== -->
414
	<xs:complexType name="BuildingType">
415
		<xs:complexContent>
416
			<xs:extension base="_AbstractBuildingType">
417
				<xs:sequence/>
418
			</xs:extension>
419
		</xs:complexContent>
420
	</xs:complexType>
421
	<!-- ========================================================================================== -->
422
	<xs:element name="Building" type="BuildingType" substitutionGroup="_AbstractBuilding"/>
423
	<!-- ========================================================================================== -->
424
	<xs:complexType name="BuildingPartPropertyType">
425
		<xs:annotation>
426
			<xs:documentation>Denotes the relation of an _AbstractBuilding to its building parts. The
427
				gml:AssociationType attribute group for enabling the
428
				use of refs is not repeated in the restriction and thus omitted. The building part
429
				has to be given inline, i.e. explicitely in this property. The reason for this inline definition is
430
				that no BuildingPart is used by more than one building, thus the use or references to building 
431
				parts defined elsewhere is prohibited.
432
			</xs:documentation>
433
		</xs:annotation>
434
		<xs:complexContent>
435
			<xs:restriction base="gml:AssociationType">
436
				<xs:sequence>
437
					<xs:element ref="BuildingPart"/>
438
				</xs:sequence>
439
			</xs:restriction>
440
		</xs:complexContent>
441
	</xs:complexType>
442
	<!-- ========================================================================================== -->
443
	<xs:complexType name="BuildingInstallationType">
444
		<xs:annotation>
445
			<xs:documentation>A BuildingInstallation (German translation is 'Gebäudecharakteristik')
446
				is a part of a Building which has not the significance of a BuildingPart. Examples
447
				are stairs, antennas, balconies or small roofs. 
448
				As subclass of _CityObject, a BuildingInstallation inherits all attributes and relations, in particular
449
				an id, names, external references, generic attributes and generalization relations.  
450
			</xs:documentation>
451
		</xs:annotation>
452
		<xs:complexContent>
453
			<xs:extension base="_CityObjectType">
454
				<xs:sequence>
455
					<xs:element name="class" type="BuildingInstallationClassType" minOccurs="0"/>
456
					<xs:element name="function" type="BuildingInstallationFunctionType" minOccurs="0" maxOccurs="unbounded"/>
457
					<xs:element name="usage" type="BuildingInstallationUsageType" minOccurs="0" maxOccurs="unbounded"/>
458
					<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
459
					<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
460
					<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
461
				</xs:sequence>
462
			</xs:extension>
463
		</xs:complexContent>
464
	</xs:complexType>
465
	<!-- ========================================================================================== -->
466
	<xs:element name="BuildingInstallation" type="BuildingInstallationType" substitutionGroup="_CityObject"/>
467
	<!-- ========================================================================================== -->
468
	<xs:simpleType name="BuildingInstallationClassType">
469
		<xs:annotation>
470
			<xs:documentation>Class of a building installation. The values of this type are defined
471
				in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept
472
				of GML3. </xs:documentation>
473
		</xs:annotation>
474
		<xs:restriction base="xs:string"/>
475
	</xs:simpleType>
476
	<!-- ========================================================================================== -->
477
	<xs:simpleType name="BuildingInstallationFunctionType">
478
		<xs:annotation>
479
			<xs:documentation>Function of a building installation. The values of this type are
480
				defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary
481
				concept of GML3. </xs:documentation>
482
		</xs:annotation>
483
		<xs:restriction base="xs:string"/>
484
	</xs:simpleType>
485
	<!-- ========================================================================================== -->
486
	<xs:simpleType name="BuildingInstallationUsageType">
487
		<xs:annotation>
488
			<xs:documentation>Actual Usage of a building installation. The values of this type are
489
				defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary
490
				concept of GML3. </xs:documentation>
491
		</xs:annotation>
492
		<xs:restriction base="xs:string"/>
493
	</xs:simpleType>
494
	<!-- ========================================================================================== -->
495
	<xs:complexType name="BuildingInstallationPropertyType">
496
		<xs:annotation>
497
			<xs:documentation>Denotes the relation of an AbstractBuilding to its building
498
				installations.  The gml:AssociationType attribute group for enabling the
499
				use of refs is not repeated in the restriction and thus omitted. The building installation
500
				has to be given inline, i.e. explicitely in this property. The reason for this inline definition is
501
				that no installation of a building is used by more than one building, thus the use or references to building 
502
				installations defined elsewhere is prohibited.				
503
			</xs:documentation>
504
		</xs:annotation>
505
		<xs:complexContent>
506
			<xs:restriction base="gml:AssociationType">
507
				<xs:sequence>
508
					<xs:element ref="BuildingInstallation"/>
509
				</xs:sequence>
510
			</xs:restriction>
511
		</xs:complexContent>
512
	</xs:complexType>
513
	<!-- ========================================================================================== -->
514
	<!-- ========================SURFACES OF BUILDINGS AND ROOMS( LoD2 to LOD4)=====================-->
515
	<!-- ========================================================================================== -->
516
	<xs:complexType name="_BoundarySurfaceType" abstract="true">
517
		<xs:annotation>
518
			<xs:documentation>A BoundarySurface (German translation is 'Begrenzungsfläche') is a
519
				thematic object which classifies surfaces bounding a building or a room. The
520
				geometry of a BoundarySurface is given by MultiSurfaces. 
521
				As it is a subclass of _CityObject, it inherits all atributes and relations, in particular 
522
				the external references, the generic attributes, and the generalization relations.	
523
			</xs:documentation>
524
		</xs:annotation>
525
		<xs:complexContent>
526
			<xs:extension base="_CityObjectType">
527
				<xs:sequence>
528
					<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
529
					<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
530
					<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
531
					<xs:element name="opening" type="OpeningPropertyType" minOccurs="0" maxOccurs="unbounded"/>
532
				</xs:sequence>
533
			</xs:extension>
534
		</xs:complexContent>
535
	</xs:complexType>
536
	<!-- ========================================================================================== -->
537
	<xs:element name="_BoundarySurface" type="_BoundarySurfaceType" abstract="true" substitutionGroup="_CityObject"/>
538
	<!-- ========================================================================================== -->
539
	<xs:complexType name="RoofSurfaceType">
540
		<xs:complexContent>
541
			<xs:extension base="_BoundarySurfaceType"/>
542
		</xs:complexContent>
543
	</xs:complexType>
544
	<!-- ========================================================================================== -->
545
	<xs:element name="RoofSurface" type="RoofSurfaceType" substitutionGroup="_BoundarySurface"/>
546
	<!-- ========================================================================================== -->
547
	<xs:complexType name="WallSurfaceType">
548
		<xs:complexContent>
549
			<xs:extension base="_BoundarySurfaceType">
550
				<xs:sequence/>
551
			</xs:extension>
552
		</xs:complexContent>
553
	</xs:complexType>
554
	<!-- ========================================================================================== -->
555
	<xs:element name="WallSurface" type="WallSurfaceType" substitutionGroup="_BoundarySurface"/>
556
	<!-- ========================================================================================== -->
557
	<xs:complexType name="GroundSurfaceType">
558
		<xs:complexContent>
559
			<xs:extension base="_BoundarySurfaceType"/>
560
		</xs:complexContent>
561
	</xs:complexType>
562
	<!-- ========================================================================================== -->
563
	<xs:element name="GroundSurface" type="GroundSurfaceType" substitutionGroup="_BoundarySurface"/>
564
	<!-- ========================================================================================== -->
565
	<xs:complexType name="ClosureSurfaceType">
566
		<xs:complexContent>
567
			<xs:extension base="_BoundarySurfaceType"/>
568
		</xs:complexContent>
569
	</xs:complexType>
570
	<!-- ========================================================================================== -->
571
	<xs:element name="ClosureSurface" type="ClosureSurfaceType" substitutionGroup="_BoundarySurface"/>
572
	<!-- ========================================================================================== -->
573
	<!-- ===================================LoD4 only Surfaces=========================================== -->
574
	<!-- ========================================================================================== -->
575
	<xs:complexType name="FloorSurfaceType">
576
		<xs:complexContent>
577
			<xs:extension base="_BoundarySurfaceType"/>
578
		</xs:complexContent>
579
	</xs:complexType>
580
	<!-- ========================================================================================== -->
581
	<xs:element name="FloorSurface" type="FloorSurfaceType" substitutionGroup="_BoundarySurface"/>
582
	<!-- ========================================================================================== -->
583
	<xs:complexType name="InteriorWallSurfaceType">
584
		<xs:complexContent>
585
			<xs:extension base="_BoundarySurfaceType"/>
586
		</xs:complexContent>
587
	</xs:complexType>
588
	<!-- ========================================================================================== -->
589
	<xs:element name="InteriorWallSurface" type="InteriorWallSurfaceType" substitutionGroup="_BoundarySurface"/>
590
	<!-- ========================================================================================== -->
591
	<xs:complexType name="CeilingSurfaceType">
592
		<xs:complexContent>
593
			<xs:extension base="_BoundarySurfaceType"/>
594
		</xs:complexContent>
595
	</xs:complexType>
596
	<!-- ========================================================================================== -->
597
	<xs:element name="CeilingSurface" type="CeilingSurfaceType" substitutionGroup="_BoundarySurface"/>
598
	<!-- ========================================================================================== -->
599
	<!-- ========================================================================================== -->
600
	<!-- =============================Relation of Buildings/Rooms to its bounding Surfaces=================== -->
601
	<!-- ========================================================================================== -->
602
	<xs:complexType name="BoundarySurfacePropertyType">
603
		<xs:annotation>
604
			<xs:documentation>Denotes the relation of an Building or Room to its bounding thematic
605
				surfaces (walls, roofs, ..). There is no differentiation between interior surfaces
606
				bounding rooms and outer ones bounding buildings (one reason is, that
607
				ClosureSurfaces belong to both types). It has to be made sure by additional
608
				integrity constraints that, e.g. a building is not related to CeilingSurfaces or a
609
				room not to RoofSurfaces. 
610
			</xs:documentation>
611
		</xs:annotation>
612
		<xs:complexContent>
613
			<xs:restriction base="gml:AssociationType">
614
				<xs:sequence minOccurs="0">
615
					<xs:element ref="_BoundarySurface"/>
616
				</xs:sequence>
617
				<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
618
			</xs:restriction>
619
		</xs:complexContent>
620
	</xs:complexType>
621
	<!-- ========================================================================================== -->
622
	<!-- ================================Openings (LoD3 and LoD4 only)================================= -->
623
	<!-- ========================================================================================== -->
624
	<xs:complexType name="OpeningPropertyType">
625
		<xs:annotation>
626
			<xs:documentation>Denotes the relation of an BondarySurface to its openings (doors,
627
				windows). </xs:documentation>
628
		</xs:annotation>
629
		<xs:complexContent>
630
			<xs:restriction base="gml:AssociationType">
631
				<xs:sequence minOccurs="0">
632
					<xs:element ref="_Opening"/>
633
				</xs:sequence>
634
				<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
635
			</xs:restriction>
636
		</xs:complexContent>
637
	</xs:complexType>
638
	<!-- ========================================================================================== -->
639
	<xs:complexType name="_OpeningType" abstract="true">
640
		<xs:annotation>
641
			<xs:documentation> Type for openings (doors, windows) in walls. Used in LoD3 and LoD4
642
				only. As subclass of _CityObject, an _Opening inherits all attributes and relations, in particular
643
				an id, names, external references, generic attributes and generalization relations.  			
644
			</xs:documentation>
645
		</xs:annotation>
646
		<xs:complexContent>
647
			<xs:extension base="_CityObjectType">
648
				<xs:sequence>
649
					<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
650
					<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
651
				</xs:sequence>
652
			</xs:extension>
653
		</xs:complexContent>
654
	</xs:complexType>
655
	<!-- ========================================================================================== -->
656
	<xs:element name="_Opening" type="_OpeningType" abstract="true" substitutionGroup="_CityObject"/>
657
	<!-- ========================================================================================== -->
658
	<xs:complexType name="WindowType">
659
		<xs:annotation>
660
			<xs:documentation> Type for windows in walls. Used in LoD3 and LoD4 only .
661
				As subclass of _CityObject, a window inherits all attributes and relations, in particular
662
				an id, names, external references, generic attributes and generalization relations.  			
663
			</xs:documentation>
664
		</xs:annotation>
665
		<xs:complexContent>
666
			<xs:extension base="_OpeningType">
667
				<xs:sequence/>
668
			</xs:extension>
669
		</xs:complexContent>
670
	</xs:complexType>
671
	<!-- ========================================================================================== -->
672
	<xs:element name="Window" type="WindowType" substitutionGroup="_Opening"/>
673
	<!-- ========================================================================================== -->
674
	<xs:complexType name="DoorType">
675
		<xs:annotation>
676
			<xs:documentation> Type for doors in walls. Used in LoD3 and LoD4 only .
677
				As subclass of _CityObject, a Door inherits all attributes and relations, in particular
678
				an id, names, external references, generic attributes and generalization relations.  			
679
			</xs:documentation>
680
		</xs:annotation>
681
		<xs:complexContent>
682
			<xs:extension base="_OpeningType">
683
				<xs:sequence>
684
					<xs:element name="address" type="AddressPropertyType" minOccurs="0" maxOccurs="unbounded"/>
685
				</xs:sequence>
686
			</xs:extension>
687
		</xs:complexContent>
688
	</xs:complexType>
689
	<!-- ========================================================================================== -->
690
	<xs:element name="Door" type="DoorType" substitutionGroup="_Opening"/>
691
	<!-- ========================================================================================== -->
692
	<!-- ====================================ROOMS (LoD4 only)====================================== -->
693
	<!-- ========================================================================================== -->
694
	<xs:complexType name="RoomType">
695
		<xs:annotation>
696
			<xs:documentation>A Room is a thematic object for modelling the closed parts inside a
697
				building. It has to be closed, if necessary by using closure surfaces. The geometry
698
				may be either a solid, or a MultiSurface if the boundary is not topologically clean.
699
				The room connectivity may be derived by detecting shared  thematic openings
700
				or closure surfaces: two rooms are connected if both use the same opening object or the same 
701
				closure surface.  The thematic surfaces bounding a room are referenced by
702
				the boundedBy property.
703
				As subclass of _CityObject, a Room inherits all attributes and relations, in particular
704
				an id, names, external references, generic attributes and generalization relations.  					
705
			</xs:documentation>
706
		</xs:annotation>
707
		<xs:complexContent>
708
			<xs:extension base="_CityObjectType">
709
				<xs:sequence>
710
					<xs:element name="class" type="RoomClassType" minOccurs="0"/>
711
					<xs:element name="function" type="RoomFunctionType" minOccurs="0" maxOccurs="unbounded"/>
712
					<xs:element name="usage" type="RoomUsageType" minOccurs="0" maxOccurs="unbounded"/>
713
					<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
714
					<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
715
					<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
716
					<xs:element name="interiorFurniture" type="InteriorFurniturePropertyType" minOccurs="0" maxOccurs="unbounded"/>
717
					<xs:element name="interiorBuildingInstallation" type="BuildingInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/>
718
				</xs:sequence>
719
			</xs:extension>
720
		</xs:complexContent>
721
	</xs:complexType>
722
	<!-- ========================================================================================== -->
723
	<xs:element name="Room" type="RoomType" substitutionGroup="_CityObject"/>
724
	<!-- ========================================================================================== -->
725
	<xs:simpleType name="RoomClassType">
726
		<xs:annotation>
727
			<xs:documentation>Class of a room . The values of this type are defined in the XML file
728
				CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3.
729
			</xs:documentation>
730
		</xs:annotation>
731
		<xs:restriction base="xs:string"/>
732
	</xs:simpleType>
733
	<!-- ========================================================================================== -->
734
	<xs:simpleType name="RoomFunctionType">
735
		<xs:annotation>
736
			<xs:documentation>Function of a room. The values of this type are defined in the XML
737
				file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3.
738
			</xs:documentation>
739
		</xs:annotation>
740
		<xs:restriction base="xs:string"/>
741
	</xs:simpleType>
742
	<!-- ========================================================================================== -->
743
	<xs:simpleType name="RoomUsageType">
744
		<xs:annotation>
745
			<xs:documentation>Actual Usage of a room. The values of this type are defined in the XML
746
				file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3.
747
			</xs:documentation>
748
		</xs:annotation>
749
		<xs:restriction base="xs:string"/>
750
	</xs:simpleType>
751
	<!-- ========================================================================================== -->
752
	<xs:complexType name="BuildingFurnitureType">
753
		<xs:annotation>
754
			<xs:documentation>Type for building furnitures. As subclass of _CityObject, a BuildingFurniture inherits all 
755
				attributes and relations, in particular an id, names, external references, generic attributes 
756
				and generalization relations.  						
757
			</xs:documentation>
758
		</xs:annotation>
759
		<xs:complexContent>
760
			<xs:extension base="_CityObjectType">
761
				<xs:sequence>
762
					<xs:element name="class" type="BuildingFurnitureClassType" minOccurs="0"/>
763
					<xs:element name="function" type="BuildingFurnitureFunctionType" minOccurs="0" maxOccurs="unbounded"/>
764
					<xs:element name="usage" type="BuildingFurnitureUsageType" minOccurs="0" maxOccurs="unbounded"/>
765
					<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
766
					<xs:element name="lod4ImplicitRepresentation" type="ImplicitRepresentationPropertyType" minOccurs="0"/>
767
				</xs:sequence>
768
			</xs:extension>
769
		</xs:complexContent>
770
	</xs:complexType>
771
	<!-- ========================================================================================== -->
772
	<xs:element name="BuildingFurniture" type="BuildingFurnitureType" substitutionGroup="_CityObject"/>
773
	<!-- ========================================================================================== -->
774
	<xs:simpleType name="BuildingFurnitureClassType">
775
		<xs:annotation>
776
			<xs:documentation> Class of a building furniture. The values of this type are defined
777
				in a XML file, according to the dictionary concept of GML3. </xs:documentation>
778
		</xs:annotation>
779
		<xs:restriction base="xs:string"/>
780
	</xs:simpleType>
781
	<!-- ========================================================================================== -->
782
	<xs:simpleType name="BuildingFurnitureFunctionType">
783
		<xs:annotation>
784
			<xs:documentation> Function of a building furniture. The values of this type are defined
785
				in a XML file, according to the dictionary concept of GML3. </xs:documentation>
786
		</xs:annotation>
787
		<xs:restriction base="xs:string"/>
788
	</xs:simpleType>
789
	<!-- ========================================================================================== -->
790
	<xs:simpleType name="BuildingFurnitureUsageType">
791
		<xs:annotation>
792
			<xs:documentation> Actual Usage of a building Furniture. The values of this type are
793
				defined in a XML file, according to the dictionary concept of GML3.
794
			</xs:documentation>
795
		</xs:annotation>
796
		<xs:restriction base="xs:string"/>
797
	</xs:simpleType>
798
	<!-- ========================================================================================== -->
799
	<!-- ========================================================================================== -->
800
	<!-- ============================Relation of Building to Rooms (LoD4 only)============================= -->
801
	<!-- ========================================================================================== -->
802
	<!-- ========================================================================================== -->
803
	<xs:complexType name="InteriorRoomPropertyType">
804
		<xs:annotation>
805
			<xs:documentation>Denotes the relation of an AbstractBuilding to its rooms. The
806
				gml:AssociationType attribute group for enabling the use of refs is not repeated in
807
				the restriction and thus omitted. The room has to be given inline within this 
808
				property, not by reference. </xs:documentation>
809
		</xs:annotation>
810
		<xs:complexContent>
811
			<xs:restriction base="gml:AssociationType">
812
				<xs:sequence>
813
					<xs:element ref="Room"/>
814
				</xs:sequence>
815
			</xs:restriction>
816
		</xs:complexContent>
817
	</xs:complexType>
818
	<!-- ========================================================================================== -->
819
	<xs:complexType name="InteriorFurniturePropertyType">
820
		<xs:annotation>
821
			<xs:documentation>Denotes the relation of a room to its interior furnitures (movable).
822
				The gml:AssociationType attribute group for enabling the use of refs is not repeated
823
				in the restriction and thus omitted. The BuildingFurniture has to be given
824
				inline within this property, not by reference. </xs:documentation>
825
		</xs:annotation>
826
		<xs:complexContent>
827
			<xs:restriction base="gml:AssociationType">
828
				<xs:sequence>
829
					<xs:element ref="BuildingFurniture"/>
830
				</xs:sequence>
831
			</xs:restriction>
832
		</xs:complexContent>
833
	</xs:complexType>
834
	<!-- ========================================================================================== -->
835
	<!--==================== ================== Address (all LoD) ====================================== -->
836
	<!-- ======================================uses xAL Standard====================================== -->
837
	<!-- ========================================================================================== -->
838
	<xs:complexType name="AddressPropertyType">
839
		<xs:annotation>
840
			<xs:documentation>Denotes the relation of an AbstractBuilding or a Door to its Addresses.
841
			</xs:documentation>
842
		</xs:annotation>
843
		<xs:complexContent>
844
			<xs:restriction base="gml:AssociationType">
845
				<xs:sequence minOccurs="0">
846
					<xs:element ref="Address"/>
847
				</xs:sequence>
848
				<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
849
			</xs:restriction>
850
		</xs:complexContent>
851
	</xs:complexType>
852
	<!-- ========================================================================================== -->
853
	<xs:complexType name="AddressType">
854
		<xs:annotation>
855
			<xs:documentation>Type for addresses. It  references the xAL address standard issued by the
856
				OASIS consortium.
857
				Please note, that addresses are modelled as GML features. Every address can be assigned zero or more 
858
				2D or 3D point geometries (one gml:MultiPoint geometry) locating the entrance(s).  			
859
			</xs:documentation>
860
		</xs:annotation>
861
		<xs:complexContent>
862
			<xs:extension base="gml:AbstractFeatureType">
863
				<xs:sequence>
864
					<xs:element name="xalAddress" type="xalAddressPropertyType"/>
865
					<xs:element name="multiPoint" type="gml:MultiPointPropertyType" minOccurs="0"/>
866
				</xs:sequence>
867
			</xs:extension>
868
		</xs:complexContent>
869
	</xs:complexType>
870
	<!-- ========================================================================================== -->
871
	<xs:element name="Address" type="AddressType" substitutionGroup="gml:_Feature"/>
872
	<!-- ========================================================================================== -->
873
	<xs:complexType name="xalAddressPropertyType">
874
		<xs:annotation>
875
			<xs:documentation>Denotes the relation of an Address feature to the xAL address element.</xs:documentation>
876
		</xs:annotation>
877
		<xs:sequence>
878
			<xs:element ref="xAL:AddressDetails"/>
879
		</xs:sequence>
880
	</xs:complexType>
881
	<!-- ========================================================================================== -->
882
	<!-- ======================================MATERIAL/TEXTURES================================== -->
883
	<!-- ========================================================================================== -->
884
	<xs:complexType name="TexturedSurfaceType">
885
		<xs:annotation>
886
			<xs:documentation> 
887
				The concept of positioning textures on surfaces complies with the standard X3D.
888
				Because there has been no appropriate texturing concept in GML3, CityGML adds the class 
889
				TexturedSurface to the geometry model of GML 3. A texture is specified as a raster image referenced by an 
890
				URI, and can be an arbitrary resource, even in the internet. Textures are positioned by employing the concept of 
891
				texture coordinates, i.e. each texture coordinate matches with exactly one 3D coordinate of the TexturedSurface.
892
				The use of texture coordinates allows an exact positioning and trimming of the texture on the surface geometry.
893
				Each surface may be assigned one or more appearances, each refering to one side of the surface. 
894
			</xs:documentation>
895
		</xs:annotation>
896
		<xs:complexContent>
897
			<xs:extension base="gml:OrientableSurfaceType">
898
				<xs:sequence>
899
					<xs:element ref="appearance" maxOccurs="unbounded"/>
900
				</xs:sequence>
901
			</xs:extension>
902
		</xs:complexContent>
903
	</xs:complexType>
904
	<!-- ========================================================================================== -->
905
	<xs:element name="TexturedSurface" type="TexturedSurfaceType" substitutionGroup="gml:OrientableSurface"/>
906
	<!-- ========================================================================================== -->
907
	<xs:element name="appearance" type="_AppearancePropertyType"/>
908
	<!-- ========================================================================================== -->
909
	<xs:complexType name="_AppearancePropertyType">
910
		<xs:annotation>
911
			<xs:documentation> A property that has an _Appearance as its value domain, which can
912
				either be a Material (Color,...) or a Texture. The _Appearance Element can either
913
				be encapsulated in an element of this type or an XLink reference to a remote
914
				_Appearance element (where remote includes geometry elements located elsewhere in
915
				the same document). Either the reference or the contained element must be given, but
916
				neither both nor none. 
917
				The side of the surface the _Appearance refers to is given by the orientation attribute,
918
				which refers to the corresponding sign attribute of the orientable surface: 
919
				+ means the side with positive orientation, and - the side with negative orientation.
920
			</xs:documentation>
921
		</xs:annotation>
922
		<xs:sequence>
923
			<xs:element ref="_Appearance" minOccurs="0"/>
924
		</xs:sequence>
925
		<xs:attribute name="orientation" type="gml:SignType" default="+"/>
926
		<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
927
	</xs:complexType>
928
	<!-- ========================================================================================== -->
929
	<xs:complexType name="_AppearanceType" abstract="true">
930
		<xs:annotation>
931
			<xs:documentation> This abstract type is the parent type of MaterialType and
932
				SimpleTextureType. It is derived from gml:AbstractGMLType, thus
933
				it inherits the attribute gml:id and may be referenced by an appearanceProperty,
934
				although it is defined elsewhere in another appearanceProperty. 
935
			 </xs:documentation>
936
		</xs:annotation>
937
		<xs:complexContent>
938
			<xs:extension base="gml:AbstractGMLType"/>
939
		</xs:complexContent>
940
	</xs:complexType>
941
	<!-- ========================================================================================== -->
942
	<xs:element name="_Appearance" type="_AppearanceType" abstract="true" substitutionGroup="gml:_GML"/>
943
	<!-- ========================================================================================== -->
944
	<xs:complexType name="MaterialType">
945
		<xs:annotation>
946
			<xs:documentation> Adopted from X3D standard (http://www.web3d.org/x3d/)
947
			</xs:documentation>
948
		</xs:annotation>
949
		<xs:complexContent>
950
			<xs:extension base="_AppearanceType">
951
				<xs:sequence>
952
					<xs:element name="shininess" type="doubleBetween0and1" minOccurs="0"/>
953
					<xs:element name="transparency" type="doubleBetween0and1" minOccurs="0"/>
954
					<xs:element name="ambientIntensity" type="doubleBetween0and1" minOccurs="0"/>
955
					<xs:element name="specularColor" type="Color" minOccurs="0"/>
956
					<xs:element name="diffuseColor" type="Color" minOccurs="0"/>
957
					<xs:element name="emissiveColor" type="Color" minOccurs="0"/>
958
				</xs:sequence>
959
			</xs:extension>
960
		</xs:complexContent>
961
	</xs:complexType>
962
	<!-- ========================================================================================== -->
963
	<xs:element name="Material" type="MaterialType" substitutionGroup="_Appearance"/>
964
	<!-- ========================================================================================== -->
965
	<xs:complexType name="SimpleTextureType">
966
		<xs:annotation>
967
			<xs:documentation> Adopted from X3D standard (http://www.web3d.org/x3d/). 
968
				ToDo: repeat				
969
			</xs:documentation>
970
		</xs:annotation>
971
		<xs:complexContent>
972
			<xs:extension base="_AppearanceType">
973
				<xs:sequence>
974
					<xs:element name="textureMap" type="xs:anyURI"/>
975
					<xs:element name="textureCoordinates" type="gml:doubleList"/>
976
					<xs:element name="textureType" type="TextureTypeType" minOccurs="0"/>
977
					<xs:element name="repeat" type="xs:boolean" minOccurs="0"/>
978
				</xs:sequence>
979
			</xs:extension>
980
		</xs:complexContent>
981
	</xs:complexType>
982
	<!-- ========================================================================================== -->
983
	<xs:element name="SimpleTexture" type="SimpleTextureType" substitutionGroup="_Appearance"/>
984
	<!-- ========================================================================================== -->
985
	<xs:simpleType name="Color">
986
		<xs:annotation>
987
			<xs:documentation> List of three values (red, green, blue), separated by spaces. The
988
				values must be in the range between zero and one. </xs:documentation>
989
		</xs:annotation>
990
		<xs:restriction base="doubleBetween0and1List">
991
			<xs:minLength value="3"/>
992
			<xs:maxLength value="3"/>
993
		</xs:restriction>
994
	</xs:simpleType>
995
	<!-- ========================================================================================== -->
996
	<xs:simpleType name="TextureTypeType">
997
		<xs:annotation>
998
			<xs:documentation>
999
				Textures can be qualified by the attribute textureType. 
1000
				The textureType differentiates between textures, which are specific for a certain object and
1001
				are only used for that object (specific), and prototypic textures being typical for that kind of
1002
				object and are used many times for all objects of that kind (typical). A typical texture may
1003
				be replaced by a specific, if available. Textures may also be classified as unknown.			
1004
			</xs:documentation>
1005
		</xs:annotation>
1006
		<xs:restriction base="xs:string">
1007
			<xs:enumeration value="specific"/>
1008
			<xs:enumeration value="typical"/>
1009
			<xs:enumeration value="unknown"/>
1010
		</xs:restriction>
1011
	</xs:simpleType>
1012
	<!-- ========================================================================================== -->
1013
	<!-- ========================================================================================== -->
1014
	<!--======================================Transportation Model ==================================== -->
1015
	<!-- ========================================================================================== -->
1016
	<!-- ========================================================================================== -->
1017
	<xs:complexType name="_TransportationObjectType" abstract="true">
1018
		<xs:annotation>
1019
			<xs:documentation>Type describing the abstract superclass for transportation objects.
1020
			</xs:documentation>
1021
		</xs:annotation>
1022
		<xs:complexContent>
1023
			<xs:extension base="_CityObjectType"/>
1024
		</xs:complexContent>
1025
	</xs:complexType>
1026
	<!-- ========================================================================================== -->
1027
	<xs:element name="_TransportationObject" type="_CityObjectType" substitutionGroup="_CityObject"/>
1028
	<!-- ========================================================================================== -->
1029
	<xs:complexType name="TransportationComplexType">
1030
		<xs:annotation>
1031
			<xs:documentation>Type describing transportation complexes, which are aggregated
1032
				features, e.g. roads, which consist of parts (traffic areas, e.g. pedestrian path,
1033
				and auxiliary traffic areas). 
1034
				As subclass of _CityObject, a TransportationComplex inherits all attributes and relations, in particular
1035
				an id, names, external references, generic attributes and generalization relations.  					
1036
			</xs:documentation>
1037
		</xs:annotation>
1038
		<xs:complexContent>
1039
			<xs:extension base="_TransportationObjectType">
1040
				<xs:sequence>
1041
					<xs:element name="function" type="TransportationComplexFunctionType" minOccurs="0" maxOccurs="unbounded"/>
1042
					<xs:element name="usage" type="TransportationComplexUsageType" minOccurs="0" maxOccurs="unbounded"/>
1043
					<xs:element name="trafficArea" type="TrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/>
1044
					<xs:element name="auxiliaryTrafficArea" type="AuxiliaryTrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/>
1045
					<xs:element name="lod0Network" type="gml:GeometricComplexPropertyType" minOccurs="0" maxOccurs="unbounded"/>
1046
					<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1047
					<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1048
					<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1049
					<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1050
				</xs:sequence>
1051
			</xs:extension>
1052
		</xs:complexContent>
1053
	</xs:complexType>
1054
	<!-- ========================================================================================== -->
1055
	<xs:element name="TransportationComplex" type="TransportationComplexType" substitutionGroup="_TransportationObject"/>
1056
	<!-- ========================================================================================== -->
1057
	<xs:complexType name="TrafficAreaType">
1058
		<xs:annotation>
1059
			<xs:documentation>Type describing the class for traffic Areas.
1060
				Traffic areas are the surfaces where traffic actually takes place. 
1061
				As subclass of _CityObject, a TrafficArea inherits all attributes and relations, in particular
1062
				an id, names, external references, generic attributes and generalization relations.  				
1063
			</xs:documentation>
1064
		</xs:annotation>
1065
		<xs:complexContent>
1066
			<xs:extension base="_TransportationObjectType">
1067
				<xs:sequence>
1068
					<xs:element name="usage" type="TrafficAreaUsageType" minOccurs="0" maxOccurs="unbounded"/>
1069
					<xs:element name="function" type="TrafficAreaFunctionType" minOccurs="0" maxOccurs="unbounded"/>
1070
					<xs:element name="surfaceMaterial" type="TrafficSurfaceMaterialType" minOccurs="0"/>
1071
					<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1072
					<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1073
					<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1074
				</xs:sequence>
1075
			</xs:extension>
1076
		</xs:complexContent>
1077
	</xs:complexType>
1078
	<!-- ========================================================================================== -->
1079
	<xs:element name="TrafficArea" type="TrafficAreaType" substitutionGroup="_TransportationObject"/>
1080
	<!-- ========================================================================================== -->
1081
	<xs:complexType name="AuxiliaryTrafficAreaType">
1082
		<xs:annotation>
1083
			<xs:documentation>Type describing the class for auxiliary traffic Areas.
1084
				These are the surfaces where no traffic actually takes place, but which 
1085
				belong to a transportation object. Examples are kerbstones, road markings and grass stripes.
1086
				As subclass of _CityObject, an AuxiliaryTrafficArea inherits all attributes and relations, in particular
1087
				an id, names, external references, generic attributes and generalization relations.  			
1088
			</xs:documentation>
1089
		</xs:annotation>
1090
		<xs:complexContent>
1091
			<xs:extension base="_TransportationObjectType">
1092
				<xs:sequence>
1093
					<xs:element name="function" type="AuxiliaryTrafficAreaFunctionType" minOccurs="0" maxOccurs="unbounded"/>
1094
					<xs:element name="surfaceMaterial" type="TrafficSurfaceMaterialType" minOccurs="0"/>
1095
					<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1096
					<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1097
					<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1098
				</xs:sequence>
1099
			</xs:extension>
1100
		</xs:complexContent>
1101
	</xs:complexType>
1102
	<!-- ========================================================================================== -->
1103
	<xs:element name="AuxiliaryTrafficArea" type="AuxiliaryTrafficAreaType" substitutionGroup="_TransportationObject"/>
1104
	<!-- ========================================================================================== -->
1105
	<xs:complexType name="TrafficAreaPropertyType">
1106
		<xs:annotation>
1107
			<xs:documentation>Denotes the relation of a transportation complex to its parts, which
1108
				are traffic areas in this case. Since an attribute group for enabling the use of
1109
				references is provided, the relation may be given by a reference to an an element
1110
				defined elsewhere or by the complete TrafficArea inline.
1111
			</xs:documentation>
1112
		</xs:annotation>
1113
		<xs:complexContent>
1114
			<xs:restriction base="gml:AssociationType">
1115
				<xs:sequence minOccurs="0">
1116
					<xs:element ref="TrafficArea"/>
1117
				</xs:sequence>
1118
				<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
1119
			</xs:restriction>
1120
		</xs:complexContent>
1121
	</xs:complexType>
1122
	<!-- ========================================================================================== -->
1123
	<xs:complexType name="AuxiliaryTrafficAreaPropertyType">
1124
		<xs:annotation>
1125
			<xs:documentation>Denotes the relation of an Transportation Complex to its parts, which
1126
				are AuxiliaryTrafficAreas in this case . Since an attribute group for enabling the
1127
				use of references is provided, the relation may be given by a reference to a AuxiliaryTrafficArea
1128
				defined elsewhere or by the inline definition of an AuxiliaryTrafficArea.
1129
			</xs:documentation>
1130
		</xs:annotation>
1131
		<xs:complexContent>
1132
			<xs:restriction base="gml:AssociationType">
1133
				<xs:sequence minOccurs="0">
1134
					<xs:element ref="AuxiliaryTrafficArea"/>
1135
				</xs:sequence>
1136
				<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
1137
			</xs:restriction>
1138
		</xs:complexContent>
1139
	</xs:complexType>
1140
	<!-- ============================Subtypes of Transportation Complex=============================== -->
1141
	<xs:complexType name="TrackType">
1142
		<xs:annotation>
1143
			<xs:documentation>Type describing the class for tracks. A track is a small path
1144
				mainly used by pedestrians. 
1145
				As subclass of _CityObject, a Track inherits all attributes and relations, in particular
1146
				an id, names, external references, generic attributes and generalization relations.  			
1147
			</xs:documentation>
1148
		</xs:annotation>
1149
		<xs:complexContent>
1150
			<xs:extension base="TransportationComplexType">
1151
				<xs:sequence/>
1152
			</xs:extension>
1153
		</xs:complexContent>
1154
	</xs:complexType>
1155
	<!-- ========================================================================================== -->
1156
	<xs:element name="Track" type="TrackType" substitutionGroup="TransportationComplex"/>
1157
	<!-- ========================================================================================== -->
1158
	<xs:complexType name="RoadType">
1159
		<xs:annotation>
1160
			<xs:documentation>Type describing the class for roads. As subclass of _CityObject, a Road inherits 
1161
				all attributes and relations, in particular an id, names, external references, generic attributes and 
1162
				generalization relations.  			
1163
			</xs:documentation>
1164
		</xs:annotation>
1165
		<xs:complexContent>
1166
			<xs:extension base="TransportationComplexType">
1167
				<xs:sequence/>
1168
			</xs:extension>
1169
		</xs:complexContent>
1170
	</xs:complexType>
1171
	<!-- ========================================================================================== -->
1172
	<xs:element name="Road" type="RoadType" substitutionGroup="TransportationComplex"/>
1173
	<!-- ========================================================================================== -->
1174
	<xs:complexType name="RailwayType">
1175
		<xs:annotation>
1176
			<xs:documentation>Type describing the class for railways. As subclass of _CityObject, a Railway inherits all attributes 
1177
				and relations, in particular an id, names, external references, generic attributes and generalization relations.  			 
1178
			</xs:documentation>
1179
		</xs:annotation>
1180
		<xs:complexContent>
1181
			<xs:extension base="TransportationComplexType">
1182
				<xs:sequence/>
1183
			</xs:extension>
1184
		</xs:complexContent>
1185
	</xs:complexType>
1186
	<!-- ========================================================================================== -->
1187
	<xs:element name="Railway" type="RailwayType" substitutionGroup="TransportationComplex"/>
1188
	<!-- ========================================================================================== -->
1189
	<xs:complexType name="SquareType">
1190
		<xs:annotation>
1191
			<xs:documentation>Type describing the class for squares. A square is an open area commonly found in 
1192
				cities (like a plaza). As subclass of _CityObject, a Square inherits all attributes and relations, in particular
1193
				an id, names, external references, generic attributes and generalization relations.  			 
1194
			</xs:documentation>
1195
		</xs:annotation>
1196
		<xs:complexContent>
1197
			<xs:extension base="TransportationComplexType">
1198
				<xs:sequence/>
1199
			</xs:extension>
1200
		</xs:complexContent>
1201
	</xs:complexType>
1202
	<!-- ========================================================================================== -->
1203
	<xs:element name="Square" type="SquareType" substitutionGroup="TransportationComplex"/>
1204
	<!-- ========================================================================================== -->
1205
	<xs:simpleType name="TransportationComplexFunctionType">
1206
		<xs:annotation>
1207
			<xs:documentation>Function of a transportation complex. The values of this type are
1208
				defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary
1209
				concept of GML3. </xs:documentation>
1210
		</xs:annotation>
1211
		<xs:restriction base="xs:string"/>
1212
	</xs:simpleType>
1213
	<!-- ========================================================================================== -->
1214
	<xs:simpleType name="TransportationComplexUsageType">
1215
		<xs:annotation>
1216
			<xs:documentation>Actual Usage of a transportation complex. The values of this type are
1217
				defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary
1218
				concept of GML3. </xs:documentation>
1219
		</xs:annotation>
1220
		<xs:restriction base="xs:string"/>
1221
	</xs:simpleType>
1222
	<!-- ========================================================================================== -->
1223
	<xs:simpleType name="TrafficAreaFunctionType">
1224
		<xs:annotation>
1225
			<xs:documentation>Function of a traffic area. The values of this type are defined in the
1226
				XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3.
1227
			</xs:documentation>
1228
		</xs:annotation>
1229
		<xs:restriction base="xs:string"/>
1230
	</xs:simpleType>
1231
	<!-- ========================================================================================== -->
1232
	<xs:simpleType name="AuxiliaryTrafficAreaFunctionType">
1233
		<xs:annotation>
1234
			<xs:documentation>Function of an auxiliary traffic area. The values of this type are
1235
				defined in the XML file CityGML_ExternalCodeLists.xml, according to the dictionary
1236
				concept of GML3. </xs:documentation>
1237
		</xs:annotation>
1238
		<xs:restriction base="xs:string"/>
1239
	</xs:simpleType>
1240
	<!-- ========================================================================================== -->
1241
	<xs:simpleType name="TrafficAreaUsageType">
1242
		<xs:annotation>
1243
			<xs:documentation>Usage of a traffic area. The values of this type are defined in the
1244
				XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3.
1245
			</xs:documentation>
1246
		</xs:annotation>
1247
		<xs:restriction base="xs:string"/>
1248
	</xs:simpleType>
1249
	<!-- ========================================================================================== -->
1250
	<xs:simpleType name="TrafficSurfaceMaterialType">
1251
		<xs:annotation>
1252
			<xs:documentation>Type for surface materials of transportation objects. The values of
1253
				this type are defined in the XML file CityGML_ExternalCodeLists.xml, according to
1254
				the dictionary concept of GML3. </xs:documentation>
1255
		</xs:annotation>
1256
		<xs:restriction base="xs:string"/>
1257
	</xs:simpleType>
1258
	<!-- ========================================================================================== -->
1259
	<!-- ========================================================================================== -->
1260
	<!-- ==========================================Vegetation Model=================================== -->
1261
	<!-- ========================================================================================== -->
1262
	<!-- ========================================================================================== -->
1263
	<!-- ========================================================================================== -->
1264
	<xs:complexType name="_VegetationObjectType" abstract="true">
1265
		<xs:annotation>
1266
			<xs:documentation>Type describing the abstract superclass for vegetation objects. A
1267
				subclass is either a SolitaryVegetationObject or a PlantCover. 
1268
			</xs:documentation>
1269
		</xs:annotation>
1270
		<xs:complexContent>
1271
			<xs:extension base="_CityObjectType"/>
1272
		</xs:complexContent>
1273
	</xs:complexType>
1274
	<!-- ========================================================================================== -->
1275
	<xs:element name="_VegetationObject" type="_VegetationObjectType" substitutionGroup="_CityObject"/>
1276
	<!-- ========================================================================================== -->
1277
	<xs:complexType name="PlantCoverType">
1278
		<xs:annotation>
1279
			<xs:documentation>Type describing Plant Covers resp. Biotopes (German translation: Vegetation). 
1280
				As subclass of _CityObject, a VegetationObject inherits all attributes and relations, in particular
1281
				an id, names, external references, generic attributes and generalization relations.  			
1282
			</xs:documentation>
1283
		</xs:annotation>
1284
		<xs:complexContent>
1285
			<xs:extension base="_VegetationObjectType">
1286
				<xs:sequence>
1287
					<xs:element name="class" type="PlantCoverClassType" minOccurs="0"/>
1288
					<xs:element name="function" type="PlantCoverFunctionType" minOccurs="0" maxOccurs="unbounded"/>
1289
					<xs:element name="averageHeight" type="gml:LengthType" minOccurs="0"/>
1290
					<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1291
					<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1292
					<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1293
					<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
1294
					<xs:element name="lod1MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
1295
					<xs:element name="lod2MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
1296
					<xs:element name="lod3MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
1297
				</xs:sequence>
1298
			</xs:extension>
1299
		</xs:complexContent>
1300
	</xs:complexType>
1301
	<!-- ========================================================================================== -->
1302
	<xs:element name="PlantCover" type="PlantCoverType" substitutionGroup="_VegetationObject"/>
1303
	<!-- ========================================================================================== -->
1304
	<xs:simpleType name="PlantCoverClassType">
1305
		<xs:annotation>
1306
			<xs:documentation>Class of a PlantCover. The values of this type are defined in the XML
1307
				file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3.
1308
			</xs:documentation>
1309
		</xs:annotation>
1310
		<xs:restriction base="xs:string"/>
1311
	</xs:simpleType>
1312
	<!-- ========================================================================================== -->
1313
	<xs:simpleType name="PlantCoverFunctionType">
1314
		<xs:annotation>
1315
			<xs:documentation>Function of a PlantCover. The values of this type are defined in the
1316
				XML file CityGML_ExternalCodeLists.xml, according to the dictionary concept of GML3.
1317
			</xs:documentation>
1318
		</xs:annotation>
1319
		<xs:restriction base="xs:string"/>
1320
	</xs:simpleType>
1321
	<!-- ========================================================================================== -->
1322
	<xs:complexType name="SolitaryVegetationObjectType">
1323
		<xs:annotation>
1324
			<xs:documentation>Type describing solitary vegetation objects, e.g., trees. Its geometry
1325
				is either defined explicitly by a GML 3 geometry with absolute coordinates, or in the case
1326
				of multiple occurences of the same vegetation object,  implicitly by a reference to a 
1327
				shape definition and a transformation. The shape definition may be given in an external file.
1328
				As subclass of _CityObject, a SolitaryVegetationObject inherits all attributes and relations, in particular
1329
				an id, names, external references, generic attributes and generalization relations.  				
1330
			</xs:documentation>
1331
		</xs:annotation>
1332
		<xs:complexContent>
1333
			<xs:extension base="_VegetationObjectType">
1334
				<xs:sequence>
1335
					<xs:element name="class" type="PlantClassType" minOccurs="0"/>
1336
					<xs:element name="function" type="PlantFunctionType" minOccurs="0" maxOccurs="unbounded"/>
1337
					<xs:element name="species" type="SpeciesType" minOccurs="0"/>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff