<?xml version="1.0" encoding="UTF-8"?>
<!-- (c) 2007 interactive instruments GmbH -->
<schema targetNamespace="http://www.interactive-instruments.de/ShapeChange/Definitions/0.4" xmlns:def="http://www.interactive-instruments.de/ShapeChange/Definitions/0.4" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://www.portele.de/gml/3.2.1/ISO_19136_Schemas/gml.xsd"/>
	<element name="ListedValueDefinition" type="def:ListedValueDefinitionType" substitutionGroup="gml:Definition"/>
	<complexType name="ListedValueDefinitionType">
		<complexContent>
			<extension base="gml:DefinitionType">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<element name="PropertyDefinition" type="def:PropertyDefinitionType" substitutionGroup="gml:Dictionary"/>
	<complexType name="PropertyDefinitionType">
		<complexContent>
			<extension base="gml:DictionaryType">
				<sequence>
					<element name="cardinality">
						<simpleType>
							<union>
								<simpleType>
									<restriction base="integer">
										<minInclusive value="0"/>
									</restriction>
								</simpleType>
								<simpleType>
									<restriction base="string">
										<enumeration value="unbounded"/>
									</restriction>
								</simpleType>
								<simpleType>
									<restriction base="string">
										<pattern value="\d+\.\.(\d+|\*)"/>
									</restriction>
								</simpleType>
							</union>
						</simpleType>
					</element>
					<choice>
						<element name="valueTypeName" type="gml:CodeType"/>
						<element name="valueTypeRef" type="gml:ReferenceType"/>
					</choice>
					<element name="type">
						<simpleType>
							<restriction base="string">
								<enumeration value="attribute"/>
								<enumeration value="associationRole"/>
							</restriction>
						</simpleType>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="TypeDefinition" type="def:TypeDefinitionType" substitutionGroup="gml:Dictionary"/>
	<complexType name="TypeDefinitionType">
		<complexContent>
			<extension base="gml:DictionaryType">
				<sequence>
					<element name="classification">
						<simpleType>
							<restriction base="string">
								<enumeration value="featureType"/>
								<enumeration value="objectType"/>
								<enumeration value="dataType"/>
								<enumeration value="unionType"/>
							</restriction>
						</simpleType>
					</element>
					<choice minOccurs="0" maxOccurs="unbounded">
						<element name="supertypeName" type="gml:CodeType"/>
						<element name="supertypeRef" type="gml:ReferenceType"/>
					</choice>
					<element name="taggedValue">
						<complexType>
							<simpleContent>
								<extension base="string">
									<attribute name="tag" type="string"/>
								</extension>
							</simpleContent>
						</complexType>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="ApplicationSchemaDefinition" type="def:ApplicationSchemaDefinitionType" substitutionGroup="gml:Dictionary"/>
	<complexType name="ApplicationSchemaDefinitionType">
		<complexContent>
			<extension base="gml:DictionaryType">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
</schema>
