<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Profil der AdV, LoD 1, Version 11.10.2014-->
<!-- Editor: Ulrich Gruber, Kreis Recklinghausen, Kurt-Schumacher-Allee 1,  45657 Recklinghausen -->
<!-- Weitere Informationen unter www.adv-online.de -->
<xs:schema xmlns="http://www.opengis.net/citygml/generics/1.0"
	xmlns:core="http://www.opengis.net/citygml/1.0"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:gml="http://www.opengis.net/gml"
	targetNamespace="http://www.opengis.net/citygml/generics/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
  	<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd" /> 
	<xs:import namespace="http://www.opengis.net/citygml/1.0" schemaLocation="http://repository.gdi-de.org/schemas/adv/citygml/1.0/cityGMLBaseLoD1.xsd"/>
	<!-- ========================================================================================= -->
	<!-- ==================================Generic Attributes=========================================-->
	<xs:complexType name="AbstractGenericAttributeType" abstract="true">
		<xs:annotation>
			<xs:documentation> Generic (user defined) attributes may be used to represent attributes which are not covered
                explicitly by the CityGML schema. Generic attributes must be used with care; they shall only be used if there is
                no appropiate attribute available in the overall CityGML schema. Oherwise, problems concerning semantic
                interoperability may arise. A generic attribute has a name and a value, which has further subclasses
                (IntAttrribute, StringAttribute, ...). </xs:documentation>
		</xs:annotation>
		<xs:sequence/>
		<xs:attribute name="name" type="xs:string" use="required"/>
	</xs:complexType>
	<!-- ========================================================================================= -->
	<xs:element name="_genericAttribute" type="AbstractGenericAttributeType" abstract="true" substitutionGroup="core:_GenericApplicationPropertyOfCityObject"/>
	<!-- ========================================================================================= -->
	<xs:complexType name="StringAttributeType">
		<xs:annotation>
			<xs:documentation/>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="AbstractGenericAttributeType">
				<xs:sequence>
					<xs:element name="value" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- ========================================================================================= -->
	<xs:element name="stringAttribute" type="StringAttributeType" substitutionGroup="_genericAttribute"/>

	<!-- ========================================================================================= -->
</xs:schema>
