Commit 2ddec274 authored by Claus Nagel's avatar Claus Nagel
Browse files

minor change to schemas

parent 745cfcef
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/relief/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/relief/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ==================================CityGML Relief module ===================================== -->
<!-- ========================================================================================= -->
<xs:complexType name="ReliefFeatureType">
<xs:annotation>
<xs:documentation>Type describing the features of the Digital Terrain Model. As subclass of _CityObject, a ReliefFeature
inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod" type="core:integerBetween0and4"/>
<xs:element name="reliefComponent" type="ReliefComponentPropertyType" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfReliefFeature" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="ReliefFeature" type="ReliefFeatureType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfReliefFeature" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="AbstractReliefComponentType" abstract="true">
<xs:annotation>
<xs:documentation>Type describing the components of a relief feature - either a TIN, a Grid, mass points or break lines. As
subclass of _CityObject, a ReliefComponent inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod" type="core:integerBetween0and4"/>
<xs:element name="extent" type="gml:PolygonPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfReliefComponent" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_ReliefComponent" type="AbstractReliefComponentType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfReliefComponent" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="ReliefComponentPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a ReliefFeature to its components. The ReliefComponentPropertyType element must
either carry a reference to a _ReliefComponent object or contain a _ReliefComponent object inline, but neither both nor
none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_ReliefComponent"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="TINReliefType">
<xs:annotation>
<xs:documentation>Type describing the TIN component of a relief feature. As subclass of _CityObject, a TINRelief inherits
all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractReliefComponentType">
<xs:sequence>
<xs:element name="tin" type="tinPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfTinRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="TINRelief" type="TINReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTinRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="RasterReliefType">
<xs:annotation>
<xs:documentation>Type describing the raster component of a relief feature. As subclass of _CityObject, a RasterRelief
inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractReliefComponentType">
<xs:sequence>
<xs:element name="grid" type="gridPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfRasterRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="RasterRelief" type="RasterReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRasterRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="MassPointReliefType">
<xs:annotation>
<xs:documentation>Type describing the mass point component of a relief feature. As subclass of _CityObject, a MassPoint
Relief inherits all attributes and relations, in particular an id, names, external references, and generalization
relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractReliefComponentType">
<xs:sequence>
<xs:element name="reliefPoints" type="gml:MultiPointPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfMassPointRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="MassPointRelief" type="MassPointReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfMassPointRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="BreaklineReliefType">
<xs:annotation>
<xs:documentation>Type describing the break line Component of a relief feature. A break line relief consists of break lines
or ridgeOrValleyLines. As subclass of _CityObject, a BreaklineRelief inherits all attributes and relations, in particular
an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractReliefComponentType">
<xs:sequence>
<xs:element name="ridgeOrValleyLines" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="breaklines" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfBreaklineRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="BreaklineRelief" type="BreaklineReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfBreaklineRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="tinPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a TINRelief to its components. The tinPropertyType element must either carry a
reference to a gml:TriangulatedSurface object or contain a gml:TriangulatedSurface object inline, but neither both nor
none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="gml:TriangulatedSurface"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="gridPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a RasterReliefType to its components. The gridPropertyType element must either
carry a reference to a gml:RectifiedGridCoverage object or contain a gml:RectifiedGridCoverage object inline, but neither
both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="gml:RectifiedGridCoverage"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<!-- ============= The height values of the grid are represented by Elevation elements, which have a height ====== -->
<!-- ============= value and a unit of measurement, e.g. meter. ====== -->
<!-- ========================================================================================= -->
<xs:element name="Elevation" type="gml:LengthType" substitutionGroup="gml:_Object"/>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/relief/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/relief/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ==================================CityGML Relief module ===================================== -->
<!-- ========================================================================================= -->
<xs:complexType name="ReliefFeatureType">
<xs:annotation>
<xs:documentation>Type describing the features of the Digital Terrain Model. As subclass of _CityObject, a ReliefFeature
inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod" type="core:integerBetween0and4"/>
<xs:element name="reliefComponent" type="ReliefComponentPropertyType" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfReliefFeature" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="ReliefFeature" type="ReliefFeatureType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfReliefFeature" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="AbstractReliefComponentType" abstract="true">
<xs:annotation>
<xs:documentation>Type describing the components of a relief feature - either a TIN, a Grid, mass points or break lines. As
subclass of _CityObject, a ReliefComponent inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod" type="core:integerBetween0and4"/>
<xs:element name="extent" type="gml:PolygonPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfReliefComponent" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_ReliefComponent" type="AbstractReliefComponentType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfReliefComponent" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="ReliefComponentPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a ReliefFeature to its components. The ReliefComponentPropertyType element must
either carry a reference to a _ReliefComponent object or contain a _ReliefComponent object inline, but neither both nor
none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_ReliefComponent"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="TINReliefType">
<xs:annotation>
<xs:documentation>Type describing the TIN component of a relief feature. As subclass of _CityObject, a TINRelief inherits
all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractReliefComponentType">
<xs:sequence>
<xs:element name="tin" type="tinPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfTinRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="TINRelief" type="TINReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTinRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="RasterReliefType">
<xs:annotation>
<xs:documentation>Type describing the raster component of a relief feature. As subclass of _CityObject, a RasterRelief
inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractReliefComponentType">
<xs:sequence>
<xs:element name="grid" type="gridPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfRasterRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="RasterRelief" type="RasterReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRasterRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="MassPointReliefType">
<xs:annotation>
<xs:documentation>Type describing the mass point component of a relief feature. As subclass of _CityObject, a MassPoint
Relief inherits all attributes and relations, in particular an id, names, external references, and generalization
relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractReliefComponentType">
<xs:sequence>
<xs:element name="reliefPoints" type="gml:MultiPointPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfMassPointRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="MassPointRelief" type="MassPointReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfMassPointRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="BreaklineReliefType">
<xs:annotation>
<xs:documentation>Type describing the break line Component of a relief feature. A break line relief consists of break lines
or ridgeOrValleyLines. As subclass of _CityObject, a BreaklineRelief inherits all attributes and relations, in particular
an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractReliefComponentType">
<xs:sequence>
<xs:element name="ridgeOrValleyLines" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="breaklines" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfBreaklineRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="BreaklineRelief" type="BreaklineReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfBreaklineRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="tinPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a TINRelief to its components. The tinPropertyType element must either carry a
reference to a gml:TriangulatedSurface object or contain a gml:TriangulatedSurface object inline, but neither both nor
none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="gml:TriangulatedSurface"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="gridPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a RasterReliefType to its components. The gridPropertyType element must either
carry a reference to a gml:RectifiedGridCoverage object or contain a gml:RectifiedGridCoverage object inline, but neither
both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="gml:RectifiedGridCoverage"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<!-- ============= The height values of the grid are represented by Elevation elements, which have a height ====== -->
<!-- ============= value and a unit of measurement, e.g. meter. ====== -->
<!-- ========================================================================================= -->
<xs:element name="Elevation" type="gml:LengthType" substitutionGroup="gml:_Object"/>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/texturedsurface/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/texturedsurface/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ==============================CityGML TexturedSurface module ================================= -->
<!-- ========================================================================================= -->
<!-- ========================================================================================= -->
<!-- ================================MATERIAL/TEXTURES======================================= -->
<!-- =========================DEPRECATED since CityGML version 0.4.0============================== -->
<!-- =======The following types and elements are expected TO BE REMOVED in future CityGML versions========== -->
<!-- ==================Please, only use the CityGML Appearance model instead. ========================== -->
<!-- ========================================================================================= -->
<xs:complexType name="TexturedSurfaceType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. The
concept of positioning textures on surfaces complies with the standard X3D. Because there has been no appropriate
texturing concept in GML3, CityGML adds the class TexturedSurface to the geometry model of GML 3. A texture is specified
as a raster image referenced by an URI, and can be an arbitrary resource, even in the internet. Textures are positioned by
employing the concept of texture coordinates, i.e. each texture coordinate matches with exactly one 3D coordinate of the
TexturedSurface. The use of texture coordinates allows an exact positioning and trimming of the texture on the surface
geometry. Each surface may be assigned one or more appearances, each refering to one side of the surface.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="gml:OrientableSurfaceType">
<xs:sequence>
<xs:element ref="appearance" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="TexturedSurface" type="TexturedSurfaceType" substitutionGroup="gml:OrientableSurface"/>
<!-- ========================================================================================= -->
<xs:element name="appearance" type="AppearancePropertyType"/>
<!-- ========================================================================================= -->
<xs:complexType name="AppearancePropertyType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. A
property that has an _Appearance as its value domain, which can either be a Material (Color,...) or a Texture. The
_Appearance Element can either be encapsulated in an element of this type or an XLink reference to a remote _Appearance
element (where remote geometry elements are located in another document or elsewhere in the same document). Either the
reference or the contained element must be given, but neither both nor none. The side of the surface the _Appearance
refers to is given by the orientation attribute, which refers to the corresponding sign attribute of the orientable
surface: + means the side with positive orientation, and - the side with negative orientation. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_Appearance"/>
</xs:sequence>
<xs:attribute name="orientation" type="gml:SignType" default="+"/>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="AbstractAppearanceType" abstract="true">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. This
abstract type is the parent type of MaterialType and SimpleTextureType. It is derived from gml:AbstractGMLType, thus it
inherits the attribute gml:id and may be referenced by an appearanceProperty, although it is defined elsewhere in another
appearanceProperty. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="gml:AbstractGMLType"/>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_Appearance" type="AbstractAppearanceType" abstract="true" substitutionGroup="gml:_GML"/>
<!-- ========================================================================================= -->
<xs:complexType name="MaterialType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. Adopted
from X3D standard (http://www.web3d.org/x3d/) </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractAppearanceType">
<xs:sequence>
<xs:element name="shininess" type="core:doubleBetween0and1" minOccurs="0"/>
<xs:element name="transparency" type="core:doubleBetween0and1" minOccurs="0"/>
<xs:element name="ambientIntensity" type="core:doubleBetween0and1" minOccurs="0"/>
<xs:element name="specularColor" type="Color" minOccurs="0"/>
<xs:element name="diffuseColor" type="Color" minOccurs="0"/>
<xs:element name="emissiveColor" type="Color" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Material" type="MaterialType" substitutionGroup="_Appearance"/>
<!-- ========================================================================================= -->
<xs:complexType name="SimpleTextureType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. Adopted
from X3D standard (http://www.web3d.org/x3d/). ToDo: repeat </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractAppearanceType">
<xs:sequence>
<xs:element name="textureMap" type="xs:anyURI"/>
<xs:element name="textureCoordinates" type="gml:doubleList"/>
<xs:element name="textureType" type="TextureTypeType" minOccurs="0"/>
<xs:element name="repeat" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="SimpleTexture" type="SimpleTextureType" substitutionGroup="_Appearance"/>
<!-- ========================================================================================= -->
<xs:simpleType name="TextureTypeType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead.
Textures can be qualified by the attribute textureType. The textureType differentiates between textures, which are
specific for a certain object and are only used for that object (specific), and prototypic textures being typical for that
kind of object and are used many times for all objects of that kind (typical). A typical texture may be replaced by a
specific, if available. Textures may also be classified as unknown. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="specific"/>
<xs:enumeration value="typical"/>
<xs:enumeration value="unknown"/>
</xs:restriction>
</xs:simpleType>
<!-- ========================================================================================= -->
<xs:simpleType name="Color">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. List of
three values (red, green, blue), separated by spaces. The values must be in the range between zero and one.
</xs:documentation>
</xs:annotation>
<xs:restriction base="core:doubleBetween0and1List">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/texturedsurface/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/texturedsurface/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ==============================CityGML TexturedSurface module ================================= -->
<!-- ========================================================================================= -->
<!-- ========================================================================================= -->
<!-- ================================MATERIAL/TEXTURES======================================= -->
<!-- =========================DEPRECATED since CityGML version 0.4.0============================== -->
<!-- =======The following types and elements are expected TO BE REMOVED in future CityGML versions========== -->
<!-- ==================Please, only use the CityGML Appearance model instead. ========================== -->
<!-- ========================================================================================= -->
<xs:complexType name="TexturedSurfaceType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. The
concept of positioning textures on surfaces complies with the standard X3D. Because there has been no appropriate
texturing concept in GML3, CityGML adds the class TexturedSurface to the geometry model of GML 3. A texture is specified
as a raster image referenced by an URI, and can be an arbitrary resource, even in the internet. Textures are positioned by
employing the concept of texture coordinates, i.e. each texture coordinate matches with exactly one 3D coordinate of the
TexturedSurface. The use of texture coordinates allows an exact positioning and trimming of the texture on the surface
geometry. Each surface may be assigned one or more appearances, each refering to one side of the surface.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="gml:OrientableSurfaceType">
<xs:sequence>
<xs:element ref="appearance" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="TexturedSurface" type="TexturedSurfaceType" substitutionGroup="gml:OrientableSurface"/>
<!-- ========================================================================================= -->
<xs:element name="appearance" type="AppearancePropertyType"/>
<!-- ========================================================================================= -->
<xs:complexType name="AppearancePropertyType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. A
property that has an _Appearance as its value domain, which can either be a Material (Color,...) or a Texture. The
_Appearance Element can either be encapsulated in an element of this type or an XLink reference to a remote _Appearance
element (where remote geometry elements are located in another document or elsewhere in the same document). Either the
reference or the contained element must be given, but neither both nor none. The side of the surface the _Appearance
refers to is given by the orientation attribute, which refers to the corresponding sign attribute of the orientable
surface: + means the side with positive orientation, and - the side with negative orientation. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_Appearance"/>
</xs:sequence>
<xs:attribute name="orientation" type="gml:SignType" default="+"/>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="AbstractAppearanceType" abstract="true">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. This
abstract type is the parent type of MaterialType and SimpleTextureType. It is derived from gml:AbstractGMLType, thus it
inherits the attribute gml:id and may be referenced by an appearanceProperty, although it is defined elsewhere in another
appearanceProperty. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="gml:AbstractGMLType"/>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_Appearance" type="AbstractAppearanceType" abstract="true" substitutionGroup="gml:_GML"/>
<!-- ========================================================================================= -->
<xs:complexType name="MaterialType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. Adopted
from X3D standard (http://www.web3d.org/x3d/) </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractAppearanceType">
<xs:sequence>
<xs:element name="shininess" type="core:doubleBetween0and1" minOccurs="0"/>
<xs:element name="transparency" type="core:doubleBetween0and1" minOccurs="0"/>
<xs:element name="ambientIntensity" type="core:doubleBetween0and1" minOccurs="0"/>
<xs:element name="specularColor" type="Color" minOccurs="0"/>
<xs:element name="diffuseColor" type="Color" minOccurs="0"/>
<xs:element name="emissiveColor" type="Color" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Material" type="MaterialType" substitutionGroup="_Appearance"/>
<!-- ========================================================================================= -->
<xs:complexType name="SimpleTextureType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. Adopted
from X3D standard (http://www.web3d.org/x3d/). ToDo: repeat </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractAppearanceType">
<xs:sequence>
<xs:element name="textureMap" type="xs:anyURI"/>
<xs:element name="textureCoordinates" type="gml:doubleList"/>
<xs:element name="textureType" type="TextureTypeType" minOccurs="0"/>
<xs:element name="repeat" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="SimpleTexture" type="SimpleTextureType" substitutionGroup="_Appearance"/>
<!-- ========================================================================================= -->
<xs:simpleType name="TextureTypeType">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead.
Textures can be qualified by the attribute textureType. The textureType differentiates between textures, which are
specific for a certain object and are only used for that object (specific), and prototypic textures being typical for that
kind of object and are used many times for all objects of that kind (typical). A typical texture may be replaced by a
specific, if available. Textures may also be classified as unknown. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="specific"/>
<xs:enumeration value="typical"/>
<xs:enumeration value="unknown"/>
</xs:restriction>
</xs:simpleType>
<!-- ========================================================================================= -->
<xs:simpleType name="Color">
<xs:annotation>
<xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. List of
three values (red, green, blue), separated by spaces. The values must be in the range between zero and one.
</xs:documentation>
</xs:annotation>
<xs:restriction base="core:doubleBetween0and1List">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/transportation/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/transportation/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ===========================CityGML Transportation module ===================================== -->
<!-- ========================================================================================= -->
<xs:complexType name="AbstractTransportationObjectType" abstract="true">
<xs:annotation>
<xs:documentation>Type describing the abstract superclass for transportation objects. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTransportationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_TransportationObject" type="AbstractTransportationObjectType" abstract="true"
substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTransportationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="TransportationComplexType">
<xs:annotation>
<xs:documentation>Type describing transportation complexes, which are aggregated features, e.g. roads, which consist of
parts (traffic areas, e.g. pedestrian path, and auxiliary traffic areas). As subclass of _CityObject, a
TransportationComplex inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTransportationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="trafficArea" type="TrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="auxiliaryTrafficArea" type="AuxiliaryTrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod0Network" type="gml:GeometricComplexPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTransportationComplex" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="TransportationComplex" type="TransportationComplexType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTransportationComplex" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="TrafficAreaType">
<xs:annotation>
<xs:documentation>Type describing the class for traffic Areas. Traffic areas are the surfaces where traffic actually takes
place. As subclass of _CityObject, a TrafficArea inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTransportationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="surfaceMaterial" type="gml:CodeType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTrafficArea" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="TrafficArea" type="TrafficAreaType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTrafficArea" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="AuxiliaryTrafficAreaType">
<xs:annotation>
<xs:documentation>Type describing the class for auxiliary traffic Areas. These are the surfaces where no traffic actually
takes place, but which belong to a transportation object. Examples are kerbstones, road markings and grass stripes. As
subclass of _CityObject, an AuxiliaryTrafficArea inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTransportationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="surfaceMaterial" type="gml:CodeType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfAuxiliaryTrafficArea" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="AuxiliaryTrafficArea" type="AuxiliaryTrafficAreaType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfAuxiliaryTrafficArea" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="TrafficAreaPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of TransportationComplex to its parts, which are traffic areas. The
TrafficAreaPropertyType element must either carry a reference to a TrafficArea object or contain a TrafficArea object
inline, but neither both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="TrafficArea"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="AuxiliaryTrafficAreaPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of TransportationComplex to its parts, which are auxiliary traffic areas. The
TrafficAreaPropertyType element must either carry a reference to a TrafficArea object or contain a TrafficArea object
inline, but neither both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="AuxiliaryTrafficArea"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<!-- ============================Subtypes of Transportation Complex================================= -->
<!-- ========================================================================================= -->
<xs:complexType name="TrackType">
<xs:annotation>
<xs:documentation>Type describing the class for tracks. A track is a small path mainly used by pedestrians. As subclass of
_CityObject, a Track inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TransportationComplexType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTrack" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Track" type="TrackType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTrack" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="RoadType">
<xs:annotation>
<xs:documentation>Type describing the class for roads. As subclass of _CityObject, a Road inherits all attributes and
relations, in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TransportationComplexType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRoad" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Road" type="RoadType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRoad" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="RailwayType">
<xs:annotation>
<xs:documentation>Type describing the class for railways. As subclass of _CityObject, a Railway inherits all attributes and
relations, in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TransportationComplexType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRailway" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Railway" type="RailwayType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRailway" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="SquareType">
<xs:annotation>
<xs:documentation>Type describing the class for squares. A square is an open area commonly found in cities (like a plaza).
As subclass of _CityObject, a Square inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TransportationComplexType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfSquare" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Square" type="SquareType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfSquare" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/transportation/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/transportation/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ===========================CityGML Transportation module ===================================== -->
<!-- ========================================================================================= -->
<xs:complexType name="AbstractTransportationObjectType" abstract="true">
<xs:annotation>
<xs:documentation>Type describing the abstract superclass for transportation objects. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTransportationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_TransportationObject" type="AbstractTransportationObjectType" abstract="true"
substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTransportationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="TransportationComplexType">
<xs:annotation>
<xs:documentation>Type describing transportation complexes, which are aggregated features, e.g. roads, which consist of
parts (traffic areas, e.g. pedestrian path, and auxiliary traffic areas). As subclass of _CityObject, a
TransportationComplex inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTransportationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="trafficArea" type="TrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="auxiliaryTrafficArea" type="AuxiliaryTrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod0Network" type="gml:GeometricComplexPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTransportationComplex" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="TransportationComplex" type="TransportationComplexType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTransportationComplex" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="TrafficAreaType">
<xs:annotation>
<xs:documentation>Type describing the class for traffic Areas. Traffic areas are the surfaces where traffic actually takes
place. As subclass of _CityObject, a TrafficArea inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTransportationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="surfaceMaterial" type="gml:CodeType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTrafficArea" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="TrafficArea" type="TrafficAreaType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTrafficArea" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="AuxiliaryTrafficAreaType">
<xs:annotation>
<xs:documentation>Type describing the class for auxiliary traffic Areas. These are the surfaces where no traffic actually
takes place, but which belong to a transportation object. Examples are kerbstones, road markings and grass stripes. As
subclass of _CityObject, an AuxiliaryTrafficArea inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTransportationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="surfaceMaterial" type="gml:CodeType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfAuxiliaryTrafficArea" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="AuxiliaryTrafficArea" type="AuxiliaryTrafficAreaType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfAuxiliaryTrafficArea" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="TrafficAreaPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of TransportationComplex to its parts, which are traffic areas. The
TrafficAreaPropertyType element must either carry a reference to a TrafficArea object or contain a TrafficArea object
inline, but neither both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="TrafficArea"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="AuxiliaryTrafficAreaPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of TransportationComplex to its parts, which are auxiliary traffic areas. The
TrafficAreaPropertyType element must either carry a reference to a TrafficArea object or contain a TrafficArea object
inline, but neither both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="AuxiliaryTrafficArea"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<!-- ============================Subtypes of Transportation Complex================================= -->
<!-- ========================================================================================= -->
<xs:complexType name="TrackType">
<xs:annotation>
<xs:documentation>Type describing the class for tracks. A track is a small path mainly used by pedestrians. As subclass of
_CityObject, a Track inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TransportationComplexType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTrack" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Track" type="TrackType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTrack" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="RoadType">
<xs:annotation>
<xs:documentation>Type describing the class for roads. As subclass of _CityObject, a Road inherits all attributes and
relations, in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TransportationComplexType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRoad" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Road" type="RoadType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRoad" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="RailwayType">
<xs:annotation>
<xs:documentation>Type describing the class for railways. As subclass of _CityObject, a Railway inherits all attributes and
relations, in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TransportationComplexType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRailway" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Railway" type="RailwayType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRailway" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="SquareType">
<xs:annotation>
<xs:documentation>Type describing the class for squares. A square is an open area commonly found in cities (like a plaza).
As subclass of _CityObject, a Square inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="TransportationComplexType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfSquare" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Square" type="SquareType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfSquare" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/tunnel/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/tunnel/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- =============================================================================== -->
<!-- ============================= CityGML Tunnel module ========================= -->
<!-- =============================================================================== -->
<xs:complexType name="AbstractTunnelType">
<xs:annotation>
<xs:documentation>Abstract super class of the features Tunnel and TunnelPart</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractSiteType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="yearOfConstruction" type="xs:gYear" minOccurs="0"/>
<xs:element name="yearOfDemolition" type="xs:gYear" minOccurs="0"/>
<xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod2TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="outerTunnelInstallation" type="TunnelInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="interiorTunnelInstallation" type="IntTunnelInstallationPropertyType" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod3TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod4TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="interiorHollowSpace" type="InteriorHollowSpacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="consistsOfTunnelPart" type="TunnelPartPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfAbstractTunnel" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="_AbstractTunnel" type="AbstractTunnelType" abstract="true" substitutionGroup="core:_Site"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfAbstractTunnel" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelType">
<xs:annotation>
<xs:documentation>Horizontal or sloping underground or partly underground, enclosed way of some length (ISO
6707-1)</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTunnelType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTunnel" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="Tunnel" type="TunnelType" substitutionGroup="_AbstractTunnel"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnel" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelPartType">
<xs:annotation>
<xs:documentation>A Tunnel composed of structural segments differing in important geometrical or semantical properties can
be separated into one Tunnel and additional TunnelParts. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTunnelType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTunnelPart" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="TunnelPart" type="TunnelPartType" substitutionGroup="_AbstractTunnel"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelPart" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelPartPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of an _AbstractTunnel to its parts. The TunnelPartPropertyType element must either
carry a reference to a TunnelPart object or contain a TunnelPart object inline, but neither both nor
none.</xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="TunnelPart"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelInstallationType">
<xs:annotation>
<xs:documentation>Immovable structural component of a Tunnel which has not the significance of a TunnelPart. As subclass of
_CityObject, a TunnelInstallation inherits all attributes and relations, in particular an id, names, external references,
generic attributes and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod2ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod3ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfTunnelInstallation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="TunnelInstallation" type="TunnelInstallationType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelInstallation" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelInstallationPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its external installations. The TunnelInstallationPropertyType element
must either carry a reference to a TunnelInstallation object or contain a TunnelInstallation object inline, but neither
both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="TunnelInstallation"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="IntTunnelInstallationType">
<xs:annotation>
<xs:documentation>Immovable interior structural component of a Tunnel or a HollowSpace. Examples are interior stairs,
railings, radiators or pipes. As subclass of _CityObject, an IntTunnelInstallation inherits all attributes and relations,
in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfIntTunnelInstallation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="IntTunnelInstallation" type="IntTunnelInstallationType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfIntTunnelInstallation" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="IntTunnelInstallationPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its internal installations. The InteriorTunnelInstallationPropertyType
element must either carry a reference to a IntTunnelInstallation object or contain a IntTunnelInstallation object inline,
but neither both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="IntTunnelInstallation"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<!-- ========================SURFACES OF TUNNELS AND HOLLOW SPACES ( LoD2 to LOD4)=====================-->
<!-- ========================================================================================== -->
<xs:complexType name="BoundarySurfacePropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of an tunnel or hollow space to its bounding thematic surfaces (walls, roofs, ..).
There is no differentiation between interior surfaces bounding hollow spaces and outer ones bounding tunnels (one reason
is, that ClosureSurface belongs to both types). It has to be made sure by additional integrity constraints that, e.g. a
tunnel is not related to CeilingSurfaces or a room not to RoofSurfaces. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_BoundarySurface"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:complexType name="AbstractBoundarySurfaceType" abstract="true">
<xs:annotation>
<xs:documentation>Abstract super class of the features RoofSurface, WallSurface, GroundSurface, ClosureSurface,
FloorSurface, OuterFloorSurface, CeilingSurface and OuterCeilingSurface</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="opening" type="OpeningPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfBoundarySurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="_BoundarySurface" type="AbstractBoundarySurfaceType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfBoundarySurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="RoofSurfaceType">
<xs:annotation>
<xs:documentation>Construction that separates the interior part of the Tunnel from the ambient medium ( water, air, ..) from
above.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRoofSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="RoofSurface" type="RoofSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfRoofSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="WallSurfaceType">
<xs:annotation>
<xs:documentation>Mainly vertical construction that separates the interior part of the Tunnel from the ambient medium (rock,
earth, water, air, ..)</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWallSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="WallSurface" type="WallSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfWallSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="GroundSurfaceType">
<xs:annotation>
<xs:documentation>Horizontal construction that separates the interior part of the Tunnel from the ambient medium (rock,
earth, water, air, ..) from below on the lowest level. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfGroundSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="GroundSurface" type="GroundSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfGroundSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="ClosureSurfaceType">
<xs:annotation>
<xs:documentation>Virtual surface which can be used to define the volume of geometric objects being not totally bounded by
real surfaces (e. g. the entrance of an open Tunnel).</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfClosureSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="ClosureSurface" type="ClosureSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfClosureSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<!-- ===================================LoD4 only Surfaces=========================================== -->
<!-- ========================================================================================== -->
<xs:complexType name="FloorSurfaceType">
<xs:annotation>
<xs:documentation>Mostly horizontal construction that bounds a HollowSpace from below. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfFloorSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="FloorSurface" type="FloorSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfFloorSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="OuterFloorSurfaceType">
<xs:annotation>
<xs:documentation>Horizontal construction that separates the interior part of the Tunnel from the ambient medium (rock,
earth, water, air, ..) from below.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfOuterFloorSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="OuterFloorSurface" type="OuterFloorSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfOuterFloorSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="InteriorWallSurfaceType">
<xs:annotation>
<xs:documentation>Mostly vertical construction that bounds a HollowSpace.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfInteriorWallSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="InteriorWallSurface" type="InteriorWallSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfInteriorWallSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="CeilingSurfaceType">
<xs:annotation>
<xs:documentation>Mostly horizontal construction that bounds a HollowSpace from above.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfCeilingSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="CeilingSurface" type="CeilingSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfCeilingSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="OuterCeilingSurfaceType">
<xs:annotation>
<xs:documentation>Mainly horizontal construction that separates the interior part of the Tunnel from the ambient medium
(rock, earth, ..) from above.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfOuterCeilingSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="OuterCeilingSurface" type="OuterCeilingSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfOuterCeilingSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="HollowSpaceType">
<xs:annotation>
<xs:documentation>Area or volume within a Tunnel bounded actually or theoretically </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="interiorFurniture" type="InteriorFurniturePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="hollowSpaceInstallation" type="IntTunnelInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfHollowSpace" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="HollowSpace" type="HollowSpaceType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfHollowSpace" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="InteriorHollowSpacePropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its internal holllow spaces. The InteriorHollowSpacePropertyType
element must either carry a reference to a HollowSpace object or contain a HollowSpace object inline, but neither both nor
none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="HollowSpace"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelFurnitureType">
<xs:annotation>
<xs:documentation>Movable, functional objects, whether useful or ornamental, usually found in a
HollowSpace</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTunnelFurniture" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="TunnelFurniture" type="TunnelFurnitureType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelFurniture" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="InteriorFurniturePropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a hollow space to the furnitures it contains. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="TunnelFurniture"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<!-- ========================================================================================= -->
<!-- ================================Openings (LOD3 and LOD4 only)================================ -->
<!-- ========================================================================================= -->
<xs:complexType name="AbstractOpeningType" abstract="true">
<xs:annotation>
<xs:documentation> Type for openings (doors, windows) in boundary surfaces. Used in LOD3 and LOD4 only. As subclass of
_CityObject, an _Opening inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfOpening" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_Opening" type="AbstractOpeningType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfOpening" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="OpeningPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of an _BondarySurface to its openings (doors, windows). The OpeningPropertyType
element must either carry a reference to an _Opening object or contain an _Opening object inline, but neither both nor
none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_Opening"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="WindowType">
<xs:annotation>
<xs:documentation>Construction for closing an _Opening not intended for access or regress.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractOpeningType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWindow" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Window" type="WindowType" substitutionGroup="_Opening"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWindow" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="DoorType">
<xs:annotation>
<xs:documentation>Construction for closing an _Opening intended primarily for access or regress or both. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractOpeningType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfDoor" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Door" type="DoorType" substitutionGroup="_Opening"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfDoor" type="xs:anyType" abstract="true"/>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/tunnel/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/tunnel/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- =============================================================================== -->
<!-- ============================= CityGML Tunnel module ========================= -->
<!-- =============================================================================== -->
<xs:complexType name="AbstractTunnelType">
<xs:annotation>
<xs:documentation>Abstract super class of the features Tunnel and TunnelPart</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractSiteType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="yearOfConstruction" type="xs:gYear" minOccurs="0"/>
<xs:element name="yearOfDemolition" type="xs:gYear" minOccurs="0"/>
<xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod2TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="outerTunnelInstallation" type="TunnelInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="interiorTunnelInstallation" type="IntTunnelInstallationPropertyType" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod3TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod4TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="interiorHollowSpace" type="InteriorHollowSpacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="consistsOfTunnelPart" type="TunnelPartPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfAbstractTunnel" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="_AbstractTunnel" type="AbstractTunnelType" abstract="true" substitutionGroup="core:_Site"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfAbstractTunnel" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelType">
<xs:annotation>
<xs:documentation>Horizontal or sloping underground or partly underground, enclosed way of some length (ISO
6707-1)</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTunnelType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTunnel" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="Tunnel" type="TunnelType" substitutionGroup="_AbstractTunnel"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnel" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelPartType">
<xs:annotation>
<xs:documentation>A Tunnel composed of structural segments differing in important geometrical or semantical properties can
be separated into one Tunnel and additional TunnelParts. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractTunnelType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTunnelPart" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="TunnelPart" type="TunnelPartType" substitutionGroup="_AbstractTunnel"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelPart" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelPartPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of an _AbstractTunnel to its parts. The TunnelPartPropertyType element must either
carry a reference to a TunnelPart object or contain a TunnelPart object inline, but neither both nor
none.</xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="TunnelPart"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelInstallationType">
<xs:annotation>
<xs:documentation>Immovable structural component of a Tunnel which has not the significance of a TunnelPart. As subclass of
_CityObject, a TunnelInstallation inherits all attributes and relations, in particular an id, names, external references,
generic attributes and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod2ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod3ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfTunnelInstallation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="TunnelInstallation" type="TunnelInstallationType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelInstallation" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelInstallationPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its external installations. The TunnelInstallationPropertyType element
must either carry a reference to a TunnelInstallation object or contain a TunnelInstallation object inline, but neither
both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="TunnelInstallation"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="IntTunnelInstallationType">
<xs:annotation>
<xs:documentation>Immovable interior structural component of a Tunnel or a HollowSpace. Examples are interior stairs,
railings, radiators or pipes. As subclass of _CityObject, an IntTunnelInstallation inherits all attributes and relations,
in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfIntTunnelInstallation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="IntTunnelInstallation" type="IntTunnelInstallationType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfIntTunnelInstallation" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="IntTunnelInstallationPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its internal installations. The InteriorTunnelInstallationPropertyType
element must either carry a reference to a IntTunnelInstallation object or contain a IntTunnelInstallation object inline,
but neither both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="IntTunnelInstallation"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<!-- ========================SURFACES OF TUNNELS AND HOLLOW SPACES ( LoD2 to LOD4)=====================-->
<!-- ========================================================================================== -->
<xs:complexType name="BoundarySurfacePropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of an tunnel or hollow space to its bounding thematic surfaces (walls, roofs, ..).
There is no differentiation between interior surfaces bounding hollow spaces and outer ones bounding tunnels (one reason
is, that ClosureSurface belongs to both types). It has to be made sure by additional integrity constraints that, e.g. a
tunnel is not related to CeilingSurfaces or a room not to RoofSurfaces. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_BoundarySurface"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:complexType name="AbstractBoundarySurfaceType" abstract="true">
<xs:annotation>
<xs:documentation>Abstract super class of the features RoofSurface, WallSurface, GroundSurface, ClosureSurface,
FloorSurface, OuterFloorSurface, CeilingSurface and OuterCeilingSurface</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="opening" type="OpeningPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfBoundarySurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="_BoundarySurface" type="AbstractBoundarySurfaceType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfBoundarySurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="RoofSurfaceType">
<xs:annotation>
<xs:documentation>Construction that separates the interior part of the Tunnel from the ambient medium ( water, air, ..) from
above.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRoofSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="RoofSurface" type="RoofSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfRoofSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="WallSurfaceType">
<xs:annotation>
<xs:documentation>Mainly vertical construction that separates the interior part of the Tunnel from the ambient medium (rock,
earth, water, air, ..)</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWallSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="WallSurface" type="WallSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfWallSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="GroundSurfaceType">
<xs:annotation>
<xs:documentation>Horizontal construction that separates the interior part of the Tunnel from the ambient medium (rock,
earth, water, air, ..) from below on the lowest level. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfGroundSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="GroundSurface" type="GroundSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfGroundSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="ClosureSurfaceType">
<xs:annotation>
<xs:documentation>Virtual surface which can be used to define the volume of geometric objects being not totally bounded by
real surfaces (e. g. the entrance of an open Tunnel).</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfClosureSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="ClosureSurface" type="ClosureSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfClosureSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<!-- ===================================LoD4 only Surfaces=========================================== -->
<!-- ========================================================================================== -->
<xs:complexType name="FloorSurfaceType">
<xs:annotation>
<xs:documentation>Mostly horizontal construction that bounds a HollowSpace from below. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfFloorSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="FloorSurface" type="FloorSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfFloorSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="OuterFloorSurfaceType">
<xs:annotation>
<xs:documentation>Horizontal construction that separates the interior part of the Tunnel from the ambient medium (rock,
earth, water, air, ..) from below.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfOuterFloorSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="OuterFloorSurface" type="OuterFloorSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfOuterFloorSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="InteriorWallSurfaceType">
<xs:annotation>
<xs:documentation>Mostly vertical construction that bounds a HollowSpace.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfInteriorWallSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="InteriorWallSurface" type="InteriorWallSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfInteriorWallSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="CeilingSurfaceType">
<xs:annotation>
<xs:documentation>Mostly horizontal construction that bounds a HollowSpace from above.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfCeilingSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="CeilingSurface" type="CeilingSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfCeilingSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="OuterCeilingSurfaceType">
<xs:annotation>
<xs:documentation>Mainly horizontal construction that separates the interior part of the Tunnel from the ambient medium
(rock, earth, ..) from above.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfOuterCeilingSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="OuterCeilingSurface" type="OuterCeilingSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfOuterCeilingSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="HollowSpaceType">
<xs:annotation>
<xs:documentation>Area or volume within a Tunnel bounded actually or theoretically </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="interiorFurniture" type="InteriorFurniturePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="hollowSpaceInstallation" type="IntTunnelInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfHollowSpace" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="HollowSpace" type="HollowSpaceType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfHollowSpace" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="InteriorHollowSpacePropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its internal holllow spaces. The InteriorHollowSpacePropertyType
element must either carry a reference to a HollowSpace object or contain a HollowSpace object inline, but neither both nor
none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="HollowSpace"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:complexType name="TunnelFurnitureType">
<xs:annotation>
<xs:documentation>Movable, functional objects, whether useful or ornamental, usually found in a
HollowSpace</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTunnelFurniture" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================== -->
<xs:element name="TunnelFurniture" type="TunnelFurnitureType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelFurniture" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== -->
<xs:complexType name="InteriorFurniturePropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a hollow space to the furnitures it contains. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="TunnelFurniture"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================== -->
<!-- ========================================================================================= -->
<!-- ================================Openings (LOD3 and LOD4 only)================================ -->
<!-- ========================================================================================= -->
<xs:complexType name="AbstractOpeningType" abstract="true">
<xs:annotation>
<xs:documentation> Type for openings (doors, windows) in boundary surfaces. Used in LOD3 and LOD4 only. As subclass of
_CityObject, an _Opening inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfOpening" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_Opening" type="AbstractOpeningType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfOpening" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="OpeningPropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of an _BondarySurface to its openings (doors, windows). The OpeningPropertyType
element must either carry a reference to an _Opening object or contain an _Opening object inline, but neither both nor
none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_Opening"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="WindowType">
<xs:annotation>
<xs:documentation>Construction for closing an _Opening not intended for access or regress.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractOpeningType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWindow" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Window" type="WindowType" substitutionGroup="_Opening"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWindow" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="DoorType">
<xs:annotation>
<xs:documentation>Construction for closing an _Opening intended primarily for access or regress or both. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractOpeningType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfDoor" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="Door" type="DoorType" substitutionGroup="_Opening"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfDoor" type="xs:anyType" abstract="true"/>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/vegetation/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/vegetation/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ==============================CityGML Vegetation module ===================================== -->
<!-- ========================================================================================= -->
<xs:complexType name="AbstractVegetationObjectType" abstract="true">
<xs:annotation>
<xs:documentation>Type describing the abstract superclass for vegetation objects. A subclass is either a
SolitaryVegetationObject or a PlantCover. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfVegetationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_VegetationObject" type="AbstractVegetationObjectType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfVegetationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="PlantCoverType">
<xs:annotation>
<xs:documentation>Type describing Plant Covers resp. Biotopes. As subclass of _CityObject, a VegetationObject inherits all
attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractVegetationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="averageHeight" type="gml:LengthType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfPlantCover" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="PlantCover" type="PlantCoverType" substitutionGroup="_VegetationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfPlantCover" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="SolitaryVegetationObjectType">
<xs:annotation>
<xs:documentation>Type describing solitary vegetation objects, e.g., trees. Its geometry is either defined explicitly by a
GML 3 geometry with absolute coordinates, or in the case of multiple occurences of the same vegetation object, implicitly
by a reference to a shape definition and a transformation. The shape definition may be given in an external file. As
subclass of _CityObject, a SolitaryVegetationObject inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractVegetationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="species" type="gml:CodeType" minOccurs="0"/>
<xs:element name="height" type="gml:LengthType" minOccurs="0"/>
<xs:element name="trunkDiameter" type="gml:LengthType" minOccurs="0"/>
<xs:element name="crownDiameter" type="gml:LengthType" minOccurs="0"/>
<xs:element name="lod1Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod1ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod2ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod3ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfSolitaryVegetationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="SolitaryVegetationObject" type="SolitaryVegetationObjectType" substitutionGroup="_VegetationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfSolitaryVegetationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/vegetation/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/vegetation/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ==============================CityGML Vegetation module ===================================== -->
<!-- ========================================================================================= -->
<xs:complexType name="AbstractVegetationObjectType" abstract="true">
<xs:annotation>
<xs:documentation>Type describing the abstract superclass for vegetation objects. A subclass is either a
SolitaryVegetationObject or a PlantCover. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfVegetationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_VegetationObject" type="AbstractVegetationObjectType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfVegetationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="PlantCoverType">
<xs:annotation>
<xs:documentation>Type describing Plant Covers resp. Biotopes. As subclass of _CityObject, a VegetationObject inherits all
attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractVegetationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="averageHeight" type="gml:LengthType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfPlantCover" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="PlantCover" type="PlantCoverType" substitutionGroup="_VegetationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfPlantCover" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="SolitaryVegetationObjectType">
<xs:annotation>
<xs:documentation>Type describing solitary vegetation objects, e.g., trees. Its geometry is either defined explicitly by a
GML 3 geometry with absolute coordinates, or in the case of multiple occurences of the same vegetation object, implicitly
by a reference to a shape definition and a transformation. The shape definition may be given in an external file. As
subclass of _CityObject, a SolitaryVegetationObject inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractVegetationObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="species" type="gml:CodeType" minOccurs="0"/>
<xs:element name="height" type="gml:LengthType" minOccurs="0"/>
<xs:element name="trunkDiameter" type="gml:LengthType" minOccurs="0"/>
<xs:element name="crownDiameter" type="gml:LengthType" minOccurs="0"/>
<xs:element name="lod1Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod2Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod1ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod2ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod3ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfSolitaryVegetationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="SolitaryVegetationObject" type="SolitaryVegetationObjectType" substitutionGroup="_VegetationObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfSolitaryVegetationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/waterbody/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/waterbody/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ==============================CityGML WaterBody module ===================================== -->
<!-- ========================================================================================= -->
<xs:complexType name="AbstractWaterObjectType" abstract="true">
<xs:annotation>
<xs:documentation>Type describing the abstract superclass for water objects. As subclass of _CityObject, a _WaterObject
inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_WaterObject" type="AbstractWaterObjectType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="WaterBodyType">
<xs:annotation>
<xs:documentation>Type describing Water Bodies, e.g., lakes, rivers. As subclass of _CityObject, a WaterBody inherits all
attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractWaterObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod0MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod0MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundedByWaterSurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfWaterBody" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="WaterBody" type="WaterBodyType" substitutionGroup="_WaterObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterBody" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="BoundedByWaterSurfacePropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a WaterBody to its boundary surfaces, which are of type _WaterBoundarySurface. The
BoundedByWaterSurfacePropertyType element must either carry a reference to a _WaterBoundarySurface object or contain a
_WaterBoundarySurface object inline, but neither both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_WaterBoundarySurface"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="AbstractWaterBoundarySurfaceType" abstract="true">
<xs:annotation>
<xs:documentation>A WaterBoundarySurface is a thematic object which classifies surfaces bounding a water body.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod2Surface" type="gml:SurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3Surface" type="gml:SurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4Surface" type="gml:SurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfWaterBoundarySurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_WaterBoundarySurface" type="AbstractWaterBoundarySurfaceType" abstract="true"
substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterBoundarySurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="WaterSurfaceType">
<xs:annotation>
<xs:documentation>Type describing the surface of a water body, which separates the water from the air. As subclass of
_CityObject, a WaterSurface inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence>
<xs:element name="waterLevel" type="gml:CodeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Type for the specification of the level of a water surface. The optional attribute waterLevel of a
WaterSurface can be used to describe the water level, for which the given 3D surface geometry was acquired. This
is especially important, when the water body is influenced by the tide. The values of this type are defined in
external code lists.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="_GenericApplicationPropertyOfWaterSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="WaterSurface" type="WaterSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="WaterGroundSurfaceType">
<xs:annotation>
<xs:documentation>Type describing the ground surface of a water body, i.e. the boundary to the digital terrain model. As
subclass of _CityObject, a WaterGroundSurface inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterGroundSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="WaterGroundSurface" type="WaterGroundSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterGroundSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="WaterClosureSurfaceType">
<xs:annotation>
<xs:documentation>Type describing the closure surface between water bodys. As subclass of _CityObject, a WaterClosureSurface
inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterClosureSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="WaterClosureSurface" type="WaterClosureSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterClosureSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models -->
<!-- International encoding standard of the Open Geospatial Consortium, see http://www.opengeospatial.org/standards/citygml -->
<!-- Jointly developed by the Special Interest Group 3D (SIG 3D) of GDI-DE, see http://www.sig3d.org -->
<!-- For further information see: http://www.citygml.org -->
<xs:schema xmlns="http://www.opengis.net/citygml/waterbody/2.0" xmlns:core="http://www.opengis.net/citygml/2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml"
targetNamespace="http://www.opengis.net/citygml/waterbody/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation>
<xs:documentation>
CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= -->
<!-- ==============================CityGML WaterBody module ===================================== -->
<!-- ========================================================================================= -->
<xs:complexType name="AbstractWaterObjectType" abstract="true">
<xs:annotation>
<xs:documentation>Type describing the abstract superclass for water objects. As subclass of _CityObject, a _WaterObject
inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_WaterObject" type="AbstractWaterObjectType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="WaterBodyType">
<xs:annotation>
<xs:documentation>Type describing Water Bodies, e.g., lakes, rivers. As subclass of _CityObject, a WaterBody inherits all
attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractWaterObjectType">
<xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod0MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod0MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundedByWaterSurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfWaterBody" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="WaterBody" type="WaterBodyType" substitutionGroup="_WaterObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterBody" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="BoundedByWaterSurfacePropertyType">
<xs:annotation>
<xs:documentation>Denotes the relation of a WaterBody to its boundary surfaces, which are of type _WaterBoundarySurface. The
BoundedByWaterSurfacePropertyType element must either carry a reference to a _WaterBoundarySurface object or contain a
_WaterBoundarySurface object inline, but neither both nor none. </xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element ref="_WaterBoundarySurface"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:complexType name="AbstractWaterBoundarySurfaceType" abstract="true">
<xs:annotation>
<xs:documentation>A WaterBoundarySurface is a thematic object which classifies surfaces bounding a water body.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="core:AbstractCityObjectType">
<xs:sequence>
<xs:element name="lod2Surface" type="gml:SurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3Surface" type="gml:SurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4Surface" type="gml:SurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfWaterBoundarySurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="_WaterBoundarySurface" type="AbstractWaterBoundarySurfaceType" abstract="true"
substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterBoundarySurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="WaterSurfaceType">
<xs:annotation>
<xs:documentation>Type describing the surface of a water body, which separates the water from the air. As subclass of
_CityObject, a WaterSurface inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence>
<xs:element name="waterLevel" type="gml:CodeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Type for the specification of the level of a water surface. The optional attribute waterLevel of a
WaterSurface can be used to describe the water level, for which the given 3D surface geometry was acquired. This
is especially important, when the water body is influenced by the tide. The values of this type are defined in
external code lists.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="_GenericApplicationPropertyOfWaterSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="WaterSurface" type="WaterSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="WaterGroundSurfaceType">
<xs:annotation>
<xs:documentation>Type describing the ground surface of a water body, i.e. the boundary to the digital terrain model. As
subclass of _CityObject, a WaterGroundSurface inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterGroundSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="WaterGroundSurface" type="WaterGroundSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterGroundSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
<xs:complexType name="WaterClosureSurfaceType">
<xs:annotation>
<xs:documentation>Type describing the closure surface between water bodys. As subclass of _CityObject, a WaterClosureSurface
inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterClosureSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ========================================================================================= -->
<xs:element name="WaterClosureSurface" type="WaterClosureSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterClosureSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= -->
</xs:schema>
<?xml version='1.0' encoding='UTF-8'?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink">
<xs:annotation>
<xs:documentation>This schema document provides attribute declarations and
attribute group, complex type and simple type definitions which can be used in
the construction of user schemas to define the structure of particular linking
constructs, e.g.
<![CDATA[
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xl="http://www.w3.org/1999/xlink">
<xs:import namespace="http://www.w3.org/1999/xlink"
location="http://www.w3.org/1999/xlink.xsd">
<xs:element name="mySimple">
<xs:complexType>
...
<xs:attributeGroup ref="xl:simpleAttrs"/>
...
</xs:complexType>
</xs:element>
...
</xs:schema>]]></xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../xml/xml.xsd"/>
<xs:attribute name="type" type="xlink:typeType"/>
<xs:simpleType name="typeType">
<xs:restriction base="xs:token">
<xs:enumeration value="simple"/>
<xs:enumeration value="extended"/>
<xs:enumeration value="title"/>
<xs:enumeration value="resource"/>
<xs:enumeration value="locator"/>
<xs:enumeration value="arc"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="href" type="xlink:hrefType"/>
<xs:simpleType name="hrefType">
<xs:restriction base="xs:anyURI"/>
</xs:simpleType>
<xs:attribute name="role" type="xlink:roleType"/>
<xs:simpleType name="roleType">
<xs:restriction base="xs:anyURI">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="arcrole" type="xlink:arcroleType"/>
<xs:simpleType name="arcroleType">
<xs:restriction base="xs:anyURI">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="title" type="xlink:titleAttrType"/>
<xs:simpleType name="titleAttrType">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:attribute name="show" type="xlink:showType"/>
<xs:simpleType name="showType">
<xs:restriction base="xs:token">
<xs:enumeration value="new"/>
<xs:enumeration value="replace"/>
<xs:enumeration value="embed"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="actuate" type="xlink:actuateType"/>
<xs:simpleType name="actuateType">
<xs:restriction base="xs:token">
<xs:enumeration value="onLoad"/>
<xs:enumeration value="onRequest"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="label" type="xlink:labelType"/>
<xs:simpleType name="labelType">
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:attribute name="from" type="xlink:fromType"/>
<xs:simpleType name="fromType">
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:attribute name="to" type="xlink:toType"/>
<xs:simpleType name="toType">
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:attributeGroup name="simpleAttrs">
<xs:attribute ref="xlink:type" fixed="simple"/>
<xs:attribute ref="xlink:href"/>
<xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:arcrole"/>
<xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:show"/>
<xs:attribute ref="xlink:actuate"/>
</xs:attributeGroup>
<xs:group name="simpleModel">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType mixed="true" name="simple">
<xs:annotation>
<xs:documentation>
Intended for use as the type of user-declared elements to make them
simple links.
</xs:documentation>
</xs:annotation>
<xs:group ref="xlink:simpleModel"/>
<xs:attributeGroup ref="xlink:simpleAttrs"/>
</xs:complexType>
<xs:attributeGroup name="extendedAttrs">
<xs:attribute ref="xlink:type" fixed="extended" use="required"/>
<xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/>
</xs:attributeGroup>
<xs:group name="extendedModel">
<xs:choice>
<xs:element ref="xlink:title"/>
<xs:element ref="xlink:resource"/>
<xs:element ref="xlink:locator"/>
<xs:element ref="xlink:arc"/>
</xs:choice>
</xs:group>
<xs:complexType name="extended">
<xs:annotation>
<xs:documentation>
Intended for use as the type of user-declared elements to make them
extended links.
Note that the elements referenced in the content model are all abstract.
The intention is that by simply declaring elements with these as their
substitutionGroup, all the right things will happen.
</xs:documentation>
</xs:annotation>
<xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:attributeGroup ref="xlink:extendedAttrs"/>
</xs:complexType>
<xs:element name="title" type="xlink:titleEltType" abstract="true"/>
<xs:attributeGroup name="titleAttrs">
<xs:attribute ref="xlink:type" fixed="title" use="required"/>
<xs:attribute ref="xml:lang">
<xs:annotation>
<xs:documentation>
xml:lang is not required, but provides much of the
motivation for title elements in addition to attributes, and so
is provided here for convenience.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:group name="titleModel">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType mixed="true" name="titleEltType">
<xs:group ref="xlink:titleModel"/>
<xs:attributeGroup ref="xlink:titleAttrs"/>
</xs:complexType>
<xs:element name="resource" type="xlink:resourceType" abstract="true"/>
<xs:attributeGroup name="resourceAttrs">
<xs:attribute ref="xlink:type" fixed="resource" use="required"/>
<xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:label"/>
</xs:attributeGroup>
<xs:group name="resourceModel">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType mixed="true" name="resourceType">
<xs:group ref="xlink:resourceModel"/>
<xs:attributeGroup ref="xlink:resourceAttrs"/>
</xs:complexType>
<xs:element name="locator" type="xlink:locatorType" abstract="true"/>
<xs:attributeGroup name="locatorAttrs">
<xs:attribute ref="xlink:type" fixed="locator" use="required"/>
<xs:attribute ref="xlink:href" use="required"/>
<xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:label">
<xs:annotation>
<xs:documentation>
label is not required, but locators have no particular
XLink function if they are not labeled.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:group name="locatorModel">
<xs:sequence>
<xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType name="locatorType">
<xs:group ref="xlink:locatorModel"/>
<xs:attributeGroup ref="xlink:locatorAttrs"/>
</xs:complexType>
<xs:element name="arc" type="xlink:arcType" abstract="true"/>
<xs:attributeGroup name="arcAttrs">
<xs:attribute ref="xlink:type" fixed="arc" use="required"/>
<xs:attribute ref="xlink:arcrole"/>
<xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:show"/>
<xs:attribute ref="xlink:actuate"/>
<xs:attribute ref="xlink:from"/>
<xs:attribute ref="xlink:to">
<xs:annotation>
<xs:documentation>
from and to have default behavior when values are missing
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:group name="arcModel">
<xs:sequence>
<xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType name="arcType">
<xs:group ref="xlink:arcModel"/>
<xs:attributeGroup ref="xlink:arcAttrs"/>
</xs:complexType>
</xs:schema>
<?xml version='1.0' encoding='UTF-8'?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink">
<xs:annotation>
<xs:documentation>This schema document provides attribute declarations and
attribute group, complex type and simple type definitions which can be used in
the construction of user schemas to define the structure of particular linking
constructs, e.g.
<![CDATA[
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xl="http://www.w3.org/1999/xlink">
<xs:import namespace="http://www.w3.org/1999/xlink"
location="http://www.w3.org/1999/xlink.xsd">
<xs:element name="mySimple">
<xs:complexType>
...
<xs:attributeGroup ref="xl:simpleAttrs"/>
...
</xs:complexType>
</xs:element>
...
</xs:schema>]]></xs:documentation>
</xs:annotation>
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../xml/xml.xsd"/>
<xs:attribute name="type" type="xlink:typeType"/>
<xs:simpleType name="typeType">
<xs:restriction base="xs:token">
<xs:enumeration value="simple"/>
<xs:enumeration value="extended"/>
<xs:enumeration value="title"/>
<xs:enumeration value="resource"/>
<xs:enumeration value="locator"/>
<xs:enumeration value="arc"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="href" type="xlink:hrefType"/>
<xs:simpleType name="hrefType">
<xs:restriction base="xs:anyURI"/>
</xs:simpleType>
<xs:attribute name="role" type="xlink:roleType"/>
<xs:simpleType name="roleType">
<xs:restriction base="xs:anyURI">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="arcrole" type="xlink:arcroleType"/>
<xs:simpleType name="arcroleType">
<xs:restriction base="xs:anyURI">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="title" type="xlink:titleAttrType"/>
<xs:simpleType name="titleAttrType">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:attribute name="show" type="xlink:showType"/>
<xs:simpleType name="showType">
<xs:restriction base="xs:token">
<xs:enumeration value="new"/>
<xs:enumeration value="replace"/>
<xs:enumeration value="embed"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="actuate" type="xlink:actuateType"/>
<xs:simpleType name="actuateType">
<xs:restriction base="xs:token">
<xs:enumeration value="onLoad"/>
<xs:enumeration value="onRequest"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="label" type="xlink:labelType"/>
<xs:simpleType name="labelType">
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:attribute name="from" type="xlink:fromType"/>
<xs:simpleType name="fromType">
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:attribute name="to" type="xlink:toType"/>
<xs:simpleType name="toType">
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:attributeGroup name="simpleAttrs">
<xs:attribute ref="xlink:type" fixed="simple"/>
<xs:attribute ref="xlink:href"/>
<xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:arcrole"/>
<xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:show"/>
<xs:attribute ref="xlink:actuate"/>
</xs:attributeGroup>
<xs:group name="simpleModel">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType mixed="true" name="simple">
<xs:annotation>
<xs:documentation>
Intended for use as the type of user-declared elements to make them
simple links.
</xs:documentation>
</xs:annotation>
<xs:group ref="xlink:simpleModel"/>
<xs:attributeGroup ref="xlink:simpleAttrs"/>
</xs:complexType>
<xs:attributeGroup name="extendedAttrs">
<xs:attribute ref="xlink:type" fixed="extended" use="required"/>
<xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/>
</xs:attributeGroup>
<xs:group name="extendedModel">
<xs:choice>
<xs:element ref="xlink:title"/>
<xs:element ref="xlink:resource"/>
<xs:element ref="xlink:locator"/>
<xs:element ref="xlink:arc"/>
</xs:choice>
</xs:group>
<xs:complexType name="extended">
<xs:annotation>
<xs:documentation>
Intended for use as the type of user-declared elements to make them
extended links.
Note that the elements referenced in the content model are all abstract.
The intention is that by simply declaring elements with these as their
substitutionGroup, all the right things will happen.
</xs:documentation>
</xs:annotation>
<xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:attributeGroup ref="xlink:extendedAttrs"/>
</xs:complexType>
<xs:element name="title" type="xlink:titleEltType" abstract="true"/>
<xs:attributeGroup name="titleAttrs">
<xs:attribute ref="xlink:type" fixed="title" use="required"/>
<xs:attribute ref="xml:lang">
<xs:annotation>
<xs:documentation>
xml:lang is not required, but provides much of the
motivation for title elements in addition to attributes, and so
is provided here for convenience.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:group name="titleModel">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType mixed="true" name="titleEltType">
<xs:group ref="xlink:titleModel"/>
<xs:attributeGroup ref="xlink:titleAttrs"/>
</xs:complexType>
<xs:element name="resource" type="xlink:resourceType" abstract="true"/>
<xs:attributeGroup name="resourceAttrs">
<xs:attribute ref="xlink:type" fixed="resource" use="required"/>
<xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:label"/>
</xs:attributeGroup>
<xs:group name="resourceModel">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType mixed="true" name="resourceType">
<xs:group ref="xlink:resourceModel"/>
<xs:attributeGroup ref="xlink:resourceAttrs"/>
</xs:complexType>
<xs:element name="locator" type="xlink:locatorType" abstract="true"/>
<xs:attributeGroup name="locatorAttrs">
<xs:attribute ref="xlink:type" fixed="locator" use="required"/>
<xs:attribute ref="xlink:href" use="required"/>
<xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:label">
<xs:annotation>
<xs:documentation>
label is not required, but locators have no particular
XLink function if they are not labeled.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:group name="locatorModel">
<xs:sequence>
<xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType name="locatorType">
<xs:group ref="xlink:locatorModel"/>
<xs:attributeGroup ref="xlink:locatorAttrs"/>
</xs:complexType>
<xs:element name="arc" type="xlink:arcType" abstract="true"/>
<xs:attributeGroup name="arcAttrs">
<xs:attribute ref="xlink:type" fixed="arc" use="required"/>
<xs:attribute ref="xlink:arcrole"/>
<xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:show"/>
<xs:attribute ref="xlink:actuate"/>
<xs:attribute ref="xlink:from"/>
<xs:attribute ref="xlink:to">
<xs:annotation>
<xs:documentation>
from and to have default behavior when values are missing
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:group name="arcModel">
<xs:sequence>
<xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:complexType name="arcType">
<xs:group ref="xlink:arcModel"/>
<xs:attributeGroup ref="xlink:arcAttrs"/>
</xs:complexType>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!--Modified by Ram Kumar (MSI) on 24 July 2002-->
<xs:schema targetNamespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" elementFormDefault="qualified">
<xs:annotation>
<xs:documentation>xAL: eXtensible Address Language
This is an XML document type definition (DTD) for
defining addresses.
Original Date of Creation: 1 March 2001
Copyright(c) 2000, OASIS. All Rights Reserved [http://www.oasis-open.org]
Contact: Customer Information Quality Technical Committee, OASIS
http://www.oasis-open.org/committees/ciq
VERSION: 2.0 [MAJOR RELEASE] Date of Creation: 01 May 2002
Last Update: 24 July 2002
Previous Version: 1.3</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>Common Attributes:Type - If not documented then it means, possible values of Type not limited to: Official, Unique, Abbreviation, OldName, Synonym
Code:Address element codes are used by groups like postal groups like ECCMA, ADIS, UN/PROLIST for postal services</xs:documentation>
</xs:annotation>
<xs:attributeGroup name="grPostal">
<xs:attribute name="Code">
<xs:annotation>
<xs:documentation>Used by postal services to encode the name of the element.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="xAL">
<xs:annotation>
<xs:documentation>Root element for a list of addresses</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressDetails" maxOccurs="unbounded"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Version">
<xs:annotation>
<xs:documentation>Specific to DTD to specify the version number of DTD</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressDetails" type="AddressDetails">
<xs:annotation>
<xs:documentation>This container defines the details of the address. Can define multiple addresses including tracking address history</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="AddressDetails">
<xs:sequence>
<xs:element name="PostalServiceElements" minOccurs="0">
<xs:annotation>
<xs:documentation>Postal authorities use specific postal service data to expedient delivery of mail</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="AddressIdentifier" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A unique identifier of an address assigned by postal authorities. Example: DPID in Australia</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="IdentifierType">
<xs:annotation>
<xs:documentation>Type of identifier. eg. DPID as in Australia</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="EndorsementLineCode" minOccurs="0">
<xs:annotation>
<xs:documentation>Directly affects postal service distribution</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="KeyLineCode" minOccurs="0">
<xs:annotation>
<xs:documentation>Required for some postal services</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Barcode" minOccurs="0">
<xs:annotation>
<xs:documentation>Required for some postal services</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="SortingCode" minOccurs="0">
<xs:annotation>
<xs:documentation>Used for sorting addresses. Values may for example be CEDEX 16 (France)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLatitude" minOccurs="0">
<xs:annotation>
<xs:documentation>Latitude of delivery address</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLatitudeDirection" minOccurs="0">
<xs:annotation>
<xs:documentation>Latitude direction of delivery address;N = North and S = South</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLongitude" minOccurs="0">
<xs:annotation>
<xs:documentation>Longtitude of delivery address</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLongitudeDirection" minOccurs="0">
<xs:annotation>
<xs:documentation>Longtitude direction of delivery address;N=North and S=South</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="SupplementaryPostalServiceData" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>any postal service elements not covered by the container can be represented using this element</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>USPS, ECMA, UN/PROLIST, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>Use the most suitable option. Country contains the most detailed information while Locality is missing Country and AdminArea</xs:documentation>
</xs:annotation>
<xs:element name="Address">
<xs:annotation>
<xs:documentation>Address as one line of free text</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Postal, residential, corporate, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLines" type="AddressLinesType">
<xs:annotation>
<xs:documentation>Container for Address lines</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Country">
<xs:annotation>
<xs:documentation>Specification of a country</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CountryNameCode" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A country code according to the specified scheme</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Scheme">
<xs:annotation>
<xs:documentation>Country code scheme possible values, but not limited to: iso.3166-2, iso.3166-3 for two and three character country codes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element ref="CountryName" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0">
<xs:element ref="AdministrativeArea"/>
<xs:element ref="Locality"/>
<xs:element ref="Thoroughfare"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element ref="AdministrativeArea"/>
<xs:element ref="Locality"/>
<xs:element ref="Thoroughfare"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="AddressType">
<xs:annotation>
<xs:documentation>Type of address. Example: Postal, residential,business, primary, secondary, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CurrentStatus">
<xs:annotation>
<xs:documentation>Moved, Living, Investment, Deceased, etc..</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ValidFromDate">
<xs:annotation>
<xs:documentation>Start Date of the validity of address</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ValidToDate">
<xs:annotation>
<xs:documentation>End date of the validity of address</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Usage">
<xs:annotation>
<xs:documentation>Communication, Contact, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:attribute name="AddressDetailsKey">
<xs:annotation>
<xs:documentation>Key identifier for the element for not reinforced references from other elements. Not required to be unique for the document to be valid, but application may get confused if not unique. Extend this schema adding unique contraint if needed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="AddressLinesType">
<xs:sequence>
<xs:element ref="AddressLine" maxOccurs="unbounded"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="BuildingNameType" mixed="true">
<xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence">
<xs:annotation>
<xs:documentation>Occurrence of the building name before/after the type. eg. EGIS BUILDING where name appears before type</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="DependentLocalityType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DependentLocalityName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the dependent locality</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="DependentLocalityNumber" minOccurs="0">
<xs:annotation>
<xs:documentation>Number of the dependent locality. Some areas are numbered. Eg. SECTOR 5 in a Suburb as in India or SOI SUKUMVIT 10 as in Thailand</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NameNumberOccurrence">
<xs:annotation>
<xs:documentation>Eg. SECTOR occurs before 5 in SECTOR 5</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="PostBox"/>
<xs:element name="LargeMailUser" type="LargeMailUserType">
<xs:annotation>
<xs:documentation>Specification of a large mail user address. Examples of large mail users are postal companies, companies in France with a cedex number, hospitals and airports with their own post code. Large mail user addresses do not have a street name with premise name or premise number in countries like Netherlands. But they have a POBox and street also in countries like France</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostOffice"/>
<xs:element name="PostalRoute" type="PostalRouteType">
<xs:annotation>
<xs:documentation> A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/>
<xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">
<xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal
divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>City or IndustrialEstate, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UsageType">
<xs:annotation>
<xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Connector">
<xs:annotation>
<xs:documentation>"VIA" as in Hill Top VIA Parish where Parish is a locality and Hill Top is a dependent locality</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Eg. Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="FirmType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FirmName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the firm</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element ref="Department" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation>
<xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="LargeMailUserType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="LargeMailUserName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the large mail user. eg. Smith Ford International airport</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type" type="xs:string">
<xs:annotation>
<xs:documentation>Airport, Hospital, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Code" type="xs:string"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="LargeMailUserIdentifier" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of the identification number of a large mail user. An example are the Cedex codes in France.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type" type="xs:string">
<xs:annotation>
<xs:documentation>CEDEX Code</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>eg. Building 429 in which Building is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the building</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Department" minOccurs="0"/>
<xs:element ref="PostBox" minOccurs="0"/>
<xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type" type="xs:string"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="MailStopType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MailStopName" minOccurs="0">
<xs:annotation>
<xs:documentation>Name of the the Mail Stop. eg. MSP, MS, etc</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="MailStopNumber" minOccurs="0">
<xs:annotation>
<xs:documentation>Number of the Mail stop. eg. 123 in MS 123</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NameNumberSeparator">
<xs:annotation>
<xs:documentation>"-" in MS-123</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="PostalRouteType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice>
<xs:element name="PostalRouteName" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Name of the Postal Route</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostalRouteNumber">
<xs:annotation>
<xs:documentation> Number of the Postal Route</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element ref="PostBox" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="SubPremiseType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SubPremiseName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Name of the SubPremise</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence">
<xs:annotation>
<xs:documentation>EGIS Building where EGIS occurs before Building</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element name="SubPremiseLocation">
<xs:annotation>
<xs:documentation> Name of the SubPremise Location. eg. LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
</xs:complexType>
</xs:element>
<xs:element name="SubPremiseNumber" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Specification of the identifier of a sub-premise. Examples of sub-premises are apartments and suites. sub-premises in a building are often uniquely identified by means of consecutive
identifiers. The identifier can be a number, a letter or any combination of the two. In the latter case, the identifier includes exactly one variable (range) part, which is either a
number or a single letter that is surrounded by fixed parts at the left (prefix) or the right (postfix).</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>"TH" in 12TH which is a floor number, "NO." in NO.1, "#" in APT #12, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>"No." occurs before 1 in No.1, or TH occurs after 12 in 12TH</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberTypeOccurrence">
<xs:annotation>
<xs:documentation>12TH occurs "before" FLOOR (a type of subpremise) in 12TH FLOOR</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="PremiseNumberSeparator">
<xs:annotation>
<xs:documentation>"/" in 12/14 Archer Street where 12 is sub-premise number and 14 is premise number</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="SubPremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Prefix of the sub premise number. eg. A in A-12</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberPrefixSeparator">
<xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="SubPremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Suffix of the sub premise number. eg. A in 12A</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator">
<xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the building</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation>
<xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:element name="SubPremise" type="SubPremiseType" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites.
Each sub-premise should be uniquely identifiable. SubPremiseType: Specification of the name of a sub-premise type. Possible values not limited to: Suite, Appartment, Floor, Unknown
Multiple levels within a premise by recursively calling SubPremise Eg. Level 4, Suite 2, Block C</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfareLeadingTypeType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfareNameType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfarePostDirectionType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfarePreDirectionType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfareTrailingTypeType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:element name="AddressLine">
<xs:annotation>
<xs:documentation>Free format address representation. An address can have more than one line. The order of the AddressLine elements must be preserved.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Defines the type of address line. eg. Street, Address Line 1, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Locality">
<xs:annotation>
<xs:documentation>Locality is one level lower than adminisstrative area. Eg.: cities, reservations and any other built-up areas.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="LocalityName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the locality</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="PostBox"/>
<xs:element name="LargeMailUser" type="LargeMailUserType">
<xs:annotation>
<xs:documentation>Specification of a large mail user address. Examples of large mail users are postal companies, companies in France with a cedex number, hospitals and airports with their own post code. Large mail user addresses do not have a street name with premise name or premise number in countries like Netherlands. But they have a POBox and street also in countries like France</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostOffice"/>
<xs:element name="PostalRoute" type="PostalRouteType">
<xs:annotation>
<xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/>
<xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">
<xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal
divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Possible values not limited to: City, IndustrialEstate, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UsageType">
<xs:annotation>
<xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Thoroughfare">
<xs:annotation>
<xs:documentation>Specification of a thoroughfare. A thoroughfare could be a rd, street, canal, river, etc. Note dependentlocality in a street. For example, in some countries, a large street will
have many subdivisions with numbers. Normally the subdivision name is the same as the road name, but with a number to identifiy it. Eg. SOI SUKUMVIT 3, SUKUMVIT RD, BANGKOK</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ThoroughfareNumber"/>
<xs:element name="ThoroughfareNumberRange">
<xs:annotation>
<xs:documentation>A container to represent a range of numbers (from x thru y)for a thoroughfare. eg. 1-2 Albert Av</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfareNumberFrom">
<xs:annotation>
<xs:documentation>Starting number in the range</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumberTo">
<xs:annotation>
<xs:documentation>Ending number in the range</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RangeType">
<xs:annotation>
<xs:documentation>Thoroughfare number ranges are odd or even</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Odd"/>
<xs:enumeration value="Even"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>"No." No.12-13</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Separator">
<xs:annotation>
<xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberRangeOccurrence">
<xs:annotation>
<xs:documentation>23-25 Archer St, where number appears before name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">
<xs:annotation>
<xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">
<xs:annotation>
<xs:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DependentThoroughfare" minOccurs="0">
<xs:annotation>
<xs:documentation>DependentThroughfare is related to a street; occurs in GB, IE, ES, PT</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">
<xs:annotation>
<xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">
<xs:annotation>
<xs:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element name="DependentLocality" type="DependentLocalityType">
<xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal
divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Premise"/>
<xs:element name="Firm" type="FirmType">
<xs:annotation>
<xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from
a large mail user address, which contains no street.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:attribute name="DependentThoroughfares">
<xs:annotation>
<xs:documentation>Does this thoroughfare have a a dependent thoroughfare? Corner of street X, etc</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Yes"/>
<xs:enumeration value="No"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DependentThoroughfaresIndicator">
<xs:annotation>
<xs:documentation>Corner of, Intersection of</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DependentThoroughfaresConnector">
<xs:annotation>
<xs:documentation>Corner of Street1 AND Street 2 where AND is the Connector</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DependentThoroughfaresType">
<xs:annotation>
<xs:documentation>STS in GEORGE and ADELAIDE STS, RDS IN A and B RDS, etc. Use only when both the street types are the same</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AdministrativeArea">
<xs:annotation>
<xs:documentation>Examples of administrative areas are provinces counties, special regions (such as "Rijnmond"), etc.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="AdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Name of the administrative area. eg. MI in USA, NSW in Australia</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="SubAdministrativeArea" minOccurs="0">
<xs:annotation>
<xs:documentation> Specification of a sub-administrative area. An example of a sub-administrative areas is a county. There are two places where the name of an administrative
area can be specified and in this case, one becomes sub-administrative area.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SubAdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Name of the sub-administrative area</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="Locality"/>
<xs:element ref="PostOffice"/>
<xs:element ref="PostalCode"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Province or State or County or Kanton, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UsageType">
<xs:annotation>
<xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="Locality"/>
<xs:element ref="PostOffice"/>
<xs:element ref="PostalCode"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Province or State or County or Kanton, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UsageType">
<xs:annotation>
<xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostOffice">
<xs:annotation>
<xs:documentation>Specification of a post office. Examples are a rural post office where post is delivered and a post office containing post office boxes.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice>
<xs:element name="PostOfficeName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of the post office. This can be a rural postoffice where post is delivered or a post office containing post office boxes.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostOfficeNumber" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of the number of the postoffice. Common in rural postoffices</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>MS in MS 62, # in MS # 12, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>MS occurs before 62 in MS 62</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="PostalRoute" type="PostalRouteType" minOccurs="0">
<xs:annotation>
<xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostBox" minOccurs="0"/>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Could be a Mobile Postoffice Van as in Isreal</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>eg. Kottivakkam (P.O) here (P.O) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostalCode">
<xs:annotation>
<xs:documentation>PostalCode is the container element for either simple or complex (extended) postal codes. Type: Area Code, Postcode, etc.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostalCodeNumber" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of a postcode. The postcode is formatted according to country-specific rules. Example: SW3 0A8-1A, 600074, 2067</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Old Postal Code, new code, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostalCodeNumberExtension" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Examples are: 1234 (USA), 1G (UK), etc.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Delivery Point Suffix, New Postal Code, etc..</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NumberExtensionSeparator">
<xs:annotation>
<xs:documentation>The separator between postal code number and the extension. Eg. "-"</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostTown" minOccurs="0">
<xs:annotation>
<xs:documentation>A post town is not the same as a locality. A post town can encompass a collection of (small) localities. It can also be a subpart of a locality. An actual post town in Norway is "Bergen".</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostTownName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the post town</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostTownSuffix" minOccurs="0">
<xs:annotation>
<xs:documentation>GENERAL PO in MIAMI GENERAL PO</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>eg. village, town, suburb, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Area Code, Postcode, Delivery code as in NZ, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostBox">
<xs:annotation>
<xs:documentation>Specification of a postbox like mail delivery point. Only a single postbox number can be specified. Examples of postboxes are POBox, free mail numbers, etc.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostBoxNumber">
<xs:annotation>
<xs:documentation>Specification of the number of a postbox</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostBoxNumberPrefix" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of the prefix of the post box number. eg. A in POBox:A-123</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberPrefixSeparator">
<xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostBoxNumberSuffix" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of the suffix of the post box number. eg. A in POBox:123A</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator">
<xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostBoxNumberExtension" minOccurs="0">
<xs:annotation>
<xs:documentation>Some countries like USA have POBox as 12345-123</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberExtensionSeparator">
<xs:annotation>
<xs:documentation>"-" is the NumberExtensionSeparator in POBOX:12345-123</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from
a large mail user address, which contains no street.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Possible values are, not limited to: POBox and Freepost.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>LOCKED BAG NO:1234 where the Indicator is NO: and Type is LOCKED BAG</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Department">
<xs:annotation>
<xs:documentation>Subdivision in the firm: School of Physics at Victoria University (School of Physics is the department)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DepartmentName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of a department.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation>
<xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>School in Physics School, Division in Radiology division of school of physics</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Premise">
<xs:annotation>
<xs:documentation>Specification of a single premise, for example a house or a building. The premise as a whole has a unique premise (house) number or a premise name. There could be more than
one premise in a street referenced in an address. For example a building address near a major shopping centre or raiwlay station</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PremiseName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of the premise (house, building, park, farm, etc). A premise name is specified when the premise cannot be addressed using a street name plus premise (house) number.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence">
<xs:annotation>
<xs:documentation>EGIS Building where EGIS occurs before Building, DES JARDINS occurs after COMPLEXE DES JARDINS</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element name="PremiseLocation">
<xs:annotation>
<xs:documentation>LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element name="PremiseNumberRange">
<xs:annotation>
<xs:documentation>Specification for defining the premise number range. Some premises have number as Building C1-C7</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PremiseNumberRangeFrom">
<xs:annotation>
<xs:documentation>Start number details of the premise number range</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PremiseNumberRangeTo">
<xs:annotation>
<xs:documentation>End number details of the premise number range</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RangeType">
<xs:annotation>
<xs:documentation>Eg. Odd or even number range</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Eg. No. in Building No:C1-C5</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Separator">
<xs:annotation>
<xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attribute name="IndicatorOccurence">
<xs:annotation>
<xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberRangeOccurence">
<xs:annotation>
<xs:documentation>Building 23-25 where the number occurs after building name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:choice>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of a building.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="SubPremise" type="SubPremiseType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites. Each sub-premise should be uniquely identifiable.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation>
<xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>COMPLEXE in COMPLEX DES JARDINS, A building, station, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PremiseDependency">
<xs:annotation>
<xs:documentation>STREET, PREMISE, SUBPREMISE, PARK, FARM, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PremiseDependencyType">
<xs:annotation>
<xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PremiseThoroughfareConnector">
<xs:annotation>
<xs:documentation>DES, DE, LA, LA, DU in RUE DU BOIS. These terms connect a premise/thoroughfare type and premise/thoroughfare name. Terms may appear with names AVE DU BOIS</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumberPrefix">
<xs:annotation>
<xs:documentation>Prefix before the number. A in A12 Archer Street</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation>
<xs:attribute name="NumberPrefixSeparator"/>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumberSuffix">
<xs:annotation>
<xs:documentation>Suffix after the number. A in 12A Archer Street</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator">
<xs:annotation>
<xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumber">
<xs:annotation>
<xs:documentation>Eg.: 23 Archer street or 25/15 Zero Avenue, etc</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberType">
<xs:annotation>
<xs:documentation>12 Archer Street is "Single" and 12-14 Archer Street is "Range"</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Single"/>
<xs:enumeration value="Range"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>No. in Street No.12 or "#" in Street # 12, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>No.12 where "No." is before actual street number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberOccurrence">
<xs:annotation>
<xs:documentation>23 Archer St, Archer Street 23, St Archer 23</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PremiseNumber">
<xs:annotation>
<xs:documentation>Specification of the identifier of the premise (house, building, etc). Premises in a street are often uniquely identified by means of consecutive identifiers. The identifier can be a number, a letter or any combination of the two.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberType">
<xs:annotation>
<xs:documentation>Building 12-14 is "Range" and Building 12 is "Single"</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Single"/>
<xs:enumeration value="Range"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>No. in House No.12, # in #12, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>No. occurs before 12 No.12</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberTypeOccurrence">
<xs:annotation>
<xs:documentation>12 in BUILDING 12 occurs "after" premise type BUILDING</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PremiseNumberPrefix">
<xs:annotation>
<xs:documentation>A in A12</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="NumberPrefixSeparator">
<xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="PremiseNumberSuffix">
<xs:annotation>
<xs:documentation>A in 12A</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator">
<xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="CountryName">
<xs:annotation>
<xs:documentation>Specification of the name of a country.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Old name, new name, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!--Modified by Ram Kumar (MSI) on 24 July 2002-->
<xs:schema targetNamespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" elementFormDefault="qualified">
<xs:annotation>
<xs:documentation>xAL: eXtensible Address Language
This is an XML document type definition (DTD) for
defining addresses.
Original Date of Creation: 1 March 2001
Copyright(c) 2000, OASIS. All Rights Reserved [http://www.oasis-open.org]
Contact: Customer Information Quality Technical Committee, OASIS
http://www.oasis-open.org/committees/ciq
VERSION: 2.0 [MAJOR RELEASE] Date of Creation: 01 May 2002
Last Update: 24 July 2002
Previous Version: 1.3</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>Common Attributes:Type - If not documented then it means, possible values of Type not limited to: Official, Unique, Abbreviation, OldName, Synonym
Code:Address element codes are used by groups like postal groups like ECCMA, ADIS, UN/PROLIST for postal services</xs:documentation>
</xs:annotation>
<xs:attributeGroup name="grPostal">
<xs:attribute name="Code">
<xs:annotation>
<xs:documentation>Used by postal services to encode the name of the element.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="xAL">
<xs:annotation>
<xs:documentation>Root element for a list of addresses</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressDetails" maxOccurs="unbounded"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Version">
<xs:annotation>
<xs:documentation>Specific to DTD to specify the version number of DTD</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressDetails" type="AddressDetails">
<xs:annotation>
<xs:documentation>This container defines the details of the address. Can define multiple addresses including tracking address history</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="AddressDetails">
<xs:sequence>
<xs:element name="PostalServiceElements" minOccurs="0">
<xs:annotation>
<xs:documentation>Postal authorities use specific postal service data to expedient delivery of mail</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="AddressIdentifier" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A unique identifier of an address assigned by postal authorities. Example: DPID in Australia</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="IdentifierType">
<xs:annotation>
<xs:documentation>Type of identifier. eg. DPID as in Australia</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="EndorsementLineCode" minOccurs="0">
<xs:annotation>
<xs:documentation>Directly affects postal service distribution</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="KeyLineCode" minOccurs="0">
<xs:annotation>
<xs:documentation>Required for some postal services</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Barcode" minOccurs="0">
<xs:annotation>
<xs:documentation>Required for some postal services</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="SortingCode" minOccurs="0">
<xs:annotation>
<xs:documentation>Used for sorting addresses. Values may for example be CEDEX 16 (France)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLatitude" minOccurs="0">
<xs:annotation>
<xs:documentation>Latitude of delivery address</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLatitudeDirection" minOccurs="0">
<xs:annotation>
<xs:documentation>Latitude direction of delivery address;N = North and S = South</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLongitude" minOccurs="0">
<xs:annotation>
<xs:documentation>Longtitude of delivery address</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLongitudeDirection" minOccurs="0">
<xs:annotation>
<xs:documentation>Longtitude direction of delivery address;N=North and S=South</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="SupplementaryPostalServiceData" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>any postal service elements not covered by the container can be represented using this element</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>USPS, ECMA, UN/PROLIST, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:annotation>
<xs:documentation>Use the most suitable option. Country contains the most detailed information while Locality is missing Country and AdminArea</xs:documentation>
</xs:annotation>
<xs:element name="Address">
<xs:annotation>
<xs:documentation>Address as one line of free text</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Postal, residential, corporate, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AddressLines" type="AddressLinesType">
<xs:annotation>
<xs:documentation>Container for Address lines</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Country">
<xs:annotation>
<xs:documentation>Specification of a country</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CountryNameCode" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A country code according to the specified scheme</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Scheme">
<xs:annotation>
<xs:documentation>Country code scheme possible values, but not limited to: iso.3166-2, iso.3166-3 for two and three character country codes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element ref="CountryName" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0">
<xs:element ref="AdministrativeArea"/>
<xs:element ref="Locality"/>
<xs:element ref="Thoroughfare"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element ref="AdministrativeArea"/>
<xs:element ref="Locality"/>
<xs:element ref="Thoroughfare"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="AddressType">
<xs:annotation>
<xs:documentation>Type of address. Example: Postal, residential,business, primary, secondary, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CurrentStatus">
<xs:annotation>
<xs:documentation>Moved, Living, Investment, Deceased, etc..</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ValidFromDate">
<xs:annotation>
<xs:documentation>Start Date of the validity of address</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ValidToDate">
<xs:annotation>
<xs:documentation>End date of the validity of address</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Usage">
<xs:annotation>
<xs:documentation>Communication, Contact, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:attribute name="AddressDetailsKey">
<xs:annotation>
<xs:documentation>Key identifier for the element for not reinforced references from other elements. Not required to be unique for the document to be valid, but application may get confused if not unique. Extend this schema adding unique contraint if needed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="AddressLinesType">
<xs:sequence>
<xs:element ref="AddressLine" maxOccurs="unbounded"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="BuildingNameType" mixed="true">
<xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence">
<xs:annotation>
<xs:documentation>Occurrence of the building name before/after the type. eg. EGIS BUILDING where name appears before type</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="DependentLocalityType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DependentLocalityName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the dependent locality</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="DependentLocalityNumber" minOccurs="0">
<xs:annotation>
<xs:documentation>Number of the dependent locality. Some areas are numbered. Eg. SECTOR 5 in a Suburb as in India or SOI SUKUMVIT 10 as in Thailand</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NameNumberOccurrence">
<xs:annotation>
<xs:documentation>Eg. SECTOR occurs before 5 in SECTOR 5</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="PostBox"/>
<xs:element name="LargeMailUser" type="LargeMailUserType">
<xs:annotation>
<xs:documentation>Specification of a large mail user address. Examples of large mail users are postal companies, companies in France with a cedex number, hospitals and airports with their own post code. Large mail user addresses do not have a street name with premise name or premise number in countries like Netherlands. But they have a POBox and street also in countries like France</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostOffice"/>
<xs:element name="PostalRoute" type="PostalRouteType">
<xs:annotation>
<xs:documentation> A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/>
<xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">
<xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal
divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>City or IndustrialEstate, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UsageType">
<xs:annotation>
<xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Connector">
<xs:annotation>
<xs:documentation>"VIA" as in Hill Top VIA Parish where Parish is a locality and Hill Top is a dependent locality</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Eg. Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="FirmType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FirmName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the firm</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element ref="Department" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation>
<xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="LargeMailUserType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="LargeMailUserName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the large mail user. eg. Smith Ford International airport</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type" type="xs:string">
<xs:annotation>
<xs:documentation>Airport, Hospital, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Code" type="xs:string"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="LargeMailUserIdentifier" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of the identification number of a large mail user. An example are the Cedex codes in France.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type" type="xs:string">
<xs:annotation>
<xs:documentation>CEDEX Code</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>eg. Building 429 in which Building is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the building</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Department" minOccurs="0"/>
<xs:element ref="PostBox" minOccurs="0"/>
<xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type" type="xs:string"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="MailStopType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MailStopName" minOccurs="0">
<xs:annotation>
<xs:documentation>Name of the the Mail Stop. eg. MSP, MS, etc</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="MailStopNumber" minOccurs="0">
<xs:annotation>
<xs:documentation>Number of the Mail stop. eg. 123 in MS 123</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NameNumberSeparator">
<xs:annotation>
<xs:documentation>"-" in MS-123</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="PostalRouteType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice>
<xs:element name="PostalRouteName" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Name of the Postal Route</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostalRouteNumber">
<xs:annotation>
<xs:documentation> Number of the Postal Route</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element ref="PostBox" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="SubPremiseType">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SubPremiseName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Name of the SubPremise</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence">
<xs:annotation>
<xs:documentation>EGIS Building where EGIS occurs before Building</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element name="SubPremiseLocation">
<xs:annotation>
<xs:documentation> Name of the SubPremise Location. eg. LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
</xs:complexType>
</xs:element>
<xs:element name="SubPremiseNumber" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Specification of the identifier of a sub-premise. Examples of sub-premises are apartments and suites. sub-premises in a building are often uniquely identified by means of consecutive
identifiers. The identifier can be a number, a letter or any combination of the two. In the latter case, the identifier includes exactly one variable (range) part, which is either a
number or a single letter that is surrounded by fixed parts at the left (prefix) or the right (postfix).</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>"TH" in 12TH which is a floor number, "NO." in NO.1, "#" in APT #12, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>"No." occurs before 1 in No.1, or TH occurs after 12 in 12TH</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberTypeOccurrence">
<xs:annotation>
<xs:documentation>12TH occurs "before" FLOOR (a type of subpremise) in 12TH FLOOR</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="PremiseNumberSeparator">
<xs:annotation>
<xs:documentation>"/" in 12/14 Archer Street where 12 is sub-premise number and 14 is premise number</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="SubPremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Prefix of the sub premise number. eg. A in A-12</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberPrefixSeparator">
<xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="SubPremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Suffix of the sub premise number. eg. A in 12A</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator">
<xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the building</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation>
<xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:element name="SubPremise" type="SubPremiseType" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites.
Each sub-premise should be uniquely identifiable. SubPremiseType: Specification of the name of a sub-premise type. Possible values not limited to: Suite, Appartment, Floor, Unknown
Multiple levels within a premise by recursively calling SubPremise Eg. Level 4, Suite 2, Block C</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfareLeadingTypeType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfareNameType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfarePostDirectionType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfarePreDirectionType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:complexType name="ThoroughfareTrailingTypeType" mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
<xs:element name="AddressLine">
<xs:annotation>
<xs:documentation>Free format address representation. An address can have more than one line. The order of the AddressLine elements must be preserved.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Defines the type of address line. eg. Street, Address Line 1, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Locality">
<xs:annotation>
<xs:documentation>Locality is one level lower than adminisstrative area. Eg.: cities, reservations and any other built-up areas.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="LocalityName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the locality</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="PostBox"/>
<xs:element name="LargeMailUser" type="LargeMailUserType">
<xs:annotation>
<xs:documentation>Specification of a large mail user address. Examples of large mail users are postal companies, companies in France with a cedex number, hospitals and airports with their own post code. Large mail user addresses do not have a street name with premise name or premise number in countries like Netherlands. But they have a POBox and street also in countries like France</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostOffice"/>
<xs:element name="PostalRoute" type="PostalRouteType">
<xs:annotation>
<xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/>
<xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">
<xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal
divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Possible values not limited to: City, IndustrialEstate, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UsageType">
<xs:annotation>
<xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Thoroughfare">
<xs:annotation>
<xs:documentation>Specification of a thoroughfare. A thoroughfare could be a rd, street, canal, river, etc. Note dependentlocality in a street. For example, in some countries, a large street will
have many subdivisions with numbers. Normally the subdivision name is the same as the road name, but with a number to identifiy it. Eg. SOI SUKUMVIT 3, SUKUMVIT RD, BANGKOK</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ThoroughfareNumber"/>
<xs:element name="ThoroughfareNumberRange">
<xs:annotation>
<xs:documentation>A container to represent a range of numbers (from x thru y)for a thoroughfare. eg. 1-2 Albert Av</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfareNumberFrom">
<xs:annotation>
<xs:documentation>Starting number in the range</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumberTo">
<xs:annotation>
<xs:documentation>Ending number in the range</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RangeType">
<xs:annotation>
<xs:documentation>Thoroughfare number ranges are odd or even</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Odd"/>
<xs:enumeration value="Even"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>"No." No.12-13</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Separator">
<xs:annotation>
<xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberRangeOccurrence">
<xs:annotation>
<xs:documentation>23-25 Archer St, where number appears before name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">
<xs:annotation>
<xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">
<xs:annotation>
<xs:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DependentThoroughfare" minOccurs="0">
<xs:annotation>
<xs:documentation>DependentThroughfare is related to a street; occurs in GB, IE, ES, PT</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">
<xs:annotation>
<xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">
<xs:annotation>
<xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">
<xs:annotation>
<xs:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element name="DependentLocality" type="DependentLocalityType">
<xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal
divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Premise"/>
<xs:element name="Firm" type="FirmType">
<xs:annotation>
<xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from
a large mail user address, which contains no street.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type"/>
<xs:attribute name="DependentThoroughfares">
<xs:annotation>
<xs:documentation>Does this thoroughfare have a a dependent thoroughfare? Corner of street X, etc</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Yes"/>
<xs:enumeration value="No"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DependentThoroughfaresIndicator">
<xs:annotation>
<xs:documentation>Corner of, Intersection of</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DependentThoroughfaresConnector">
<xs:annotation>
<xs:documentation>Corner of Street1 AND Street 2 where AND is the Connector</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DependentThoroughfaresType">
<xs:annotation>
<xs:documentation>STS in GEORGE and ADELAIDE STS, RDS IN A and B RDS, etc. Use only when both the street types are the same</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="AdministrativeArea">
<xs:annotation>
<xs:documentation>Examples of administrative areas are provinces counties, special regions (such as "Rijnmond"), etc.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="AdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Name of the administrative area. eg. MI in USA, NSW in Australia</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="SubAdministrativeArea" minOccurs="0">
<xs:annotation>
<xs:documentation> Specification of a sub-administrative area. An example of a sub-administrative areas is a county. There are two places where the name of an administrative
area can be specified and in this case, one becomes sub-administrative area.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SubAdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> Name of the sub-administrative area</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="Locality"/>
<xs:element ref="PostOffice"/>
<xs:element ref="PostalCode"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Province or State or County or Kanton, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UsageType">
<xs:annotation>
<xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="Locality"/>
<xs:element ref="PostOffice"/>
<xs:element ref="PostalCode"/>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Province or State or County or Kanton, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UsageType">
<xs:annotation>
<xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostOffice">
<xs:annotation>
<xs:documentation>Specification of a post office. Examples are a rural post office where post is delivered and a post office containing post office boxes.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice>
<xs:element name="PostOfficeName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of the post office. This can be a rural postoffice where post is delivered or a post office containing post office boxes.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostOfficeNumber" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of the number of the postoffice. Common in rural postoffices</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>MS in MS 62, # in MS # 12, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>MS occurs before 62 in MS 62</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="PostalRoute" type="PostalRouteType" minOccurs="0">
<xs:annotation>
<xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostBox" minOccurs="0"/>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Could be a Mobile Postoffice Van as in Isreal</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>eg. Kottivakkam (P.O) here (P.O) is the Indicator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostalCode">
<xs:annotation>
<xs:documentation>PostalCode is the container element for either simple or complex (extended) postal codes. Type: Area Code, Postcode, etc.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostalCodeNumber" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of a postcode. The postcode is formatted according to country-specific rules. Example: SW3 0A8-1A, 600074, 2067</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Old Postal Code, new code, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostalCodeNumberExtension" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Examples are: 1234 (USA), 1G (UK), etc.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Delivery Point Suffix, New Postal Code, etc..</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NumberExtensionSeparator">
<xs:annotation>
<xs:documentation>The separator between postal code number and the extension. Eg. "-"</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostTown" minOccurs="0">
<xs:annotation>
<xs:documentation>A post town is not the same as a locality. A post town can encompass a collection of (small) localities. It can also be a subpart of a locality. An actual post town in Norway is "Bergen".</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostTownName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Name of the post town</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostTownSuffix" minOccurs="0">
<xs:annotation>
<xs:documentation>GENERAL PO in MIAMI GENERAL PO</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>eg. village, town, suburb, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Area Code, Postcode, Delivery code as in NZ, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostBox">
<xs:annotation>
<xs:documentation>Specification of a postbox like mail delivery point. Only a single postbox number can be specified. Examples of postboxes are POBox, free mail numbers, etc.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostBoxNumber">
<xs:annotation>
<xs:documentation>Specification of the number of a postbox</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostBoxNumberPrefix" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of the prefix of the post box number. eg. A in POBox:A-123</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberPrefixSeparator">
<xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostBoxNumberSuffix" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of the suffix of the post box number. eg. A in POBox:123A</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator">
<xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PostBoxNumberExtension" minOccurs="0">
<xs:annotation>
<xs:documentation>Some countries like USA have POBox as 12345-123</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberExtensionSeparator">
<xs:annotation>
<xs:documentation>"-" is the NumberExtensionSeparator in POBOX:12345-123</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from
a large mail user address, which contains no street.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Possible values are, not limited to: POBox and Freepost.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>LOCKED BAG NO:1234 where the Indicator is NO: and Type is LOCKED BAG</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Department">
<xs:annotation>
<xs:documentation>Subdivision in the firm: School of Physics at Victoria University (School of Physics is the department)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DepartmentName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of a department.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation>
<xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>School in Physics School, Division in Radiology division of school of physics</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="Premise">
<xs:annotation>
<xs:documentation>Specification of a single premise, for example a house or a building. The premise as a whole has a unique premise (house) number or a premise name. There could be more than
one premise in a street referenced in an address. For example a building address near a major shopping centre or raiwlay station</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PremiseName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of the premise (house, building, park, farm, etc). A premise name is specified when the premise cannot be addressed using a street name plus premise (house) number.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence">
<xs:annotation>
<xs:documentation>EGIS Building where EGIS occurs before Building, DES JARDINS occurs after COMPLEXE DES JARDINS</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element name="PremiseLocation">
<xs:annotation>
<xs:documentation>LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element name="PremiseNumberRange">
<xs:annotation>
<xs:documentation>Specification for defining the premise number range. Some premises have number as Building C1-C7</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PremiseNumberRangeFrom">
<xs:annotation>
<xs:documentation>Start number details of the premise number range</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PremiseNumberRangeTo">
<xs:annotation>
<xs:documentation>End number details of the premise number range</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RangeType">
<xs:annotation>
<xs:documentation>Eg. Odd or even number range</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>Eg. No. in Building No:C1-C5</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Separator">
<xs:annotation>
<xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attribute name="IndicatorOccurence">
<xs:annotation>
<xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberRangeOccurence">
<xs:annotation>
<xs:documentation>Building 23-25 where the number occurs after building name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:choice>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of the name of a building.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="SubPremise" type="SubPremiseType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites. Each sub-premise should be uniquely identifiable.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation>
<xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation>
<xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="PostalCode" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>COMPLEXE in COMPLEX DES JARDINS, A building, station, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PremiseDependency">
<xs:annotation>
<xs:documentation>STREET, PREMISE, SUBPREMISE, PARK, FARM, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PremiseDependencyType">
<xs:annotation>
<xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PremiseThoroughfareConnector">
<xs:annotation>
<xs:documentation>DES, DE, LA, LA, DU in RUE DU BOIS. These terms connect a premise/thoroughfare type and premise/thoroughfare name. Terms may appear with names AVE DU BOIS</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumberPrefix">
<xs:annotation>
<xs:documentation>Prefix before the number. A in A12 Archer Street</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation>
<xs:attribute name="NumberPrefixSeparator"/>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumberSuffix">
<xs:annotation>
<xs:documentation>Suffix after the number. A in 12A Archer Street</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator">
<xs:annotation>
<xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="ThoroughfareNumber">
<xs:annotation>
<xs:documentation>Eg.: 23 Archer street or 25/15 Zero Avenue, etc</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberType">
<xs:annotation>
<xs:documentation>12 Archer Street is "Single" and 12-14 Archer Street is "Range"</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Single"/>
<xs:enumeration value="Range"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>No. in Street No.12 or "#" in Street # 12, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>No.12 where "No." is before actual street number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberOccurrence">
<xs:annotation>
<xs:documentation>23 Archer St, Archer Street 23, St Archer 23</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PremiseNumber">
<xs:annotation>
<xs:documentation>Specification of the identifier of the premise (house, building, etc). Premises in a street are often uniquely identified by means of consecutive identifiers. The identifier can be a number, a letter or any combination of the two.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberType">
<xs:annotation>
<xs:documentation>Building 12-14 is "Range" and Building 12 is "Single"</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Single"/>
<xs:enumeration value="Range"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attribute name="Indicator">
<xs:annotation>
<xs:documentation>No. in House No.12, # in #12, etc.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IndicatorOccurrence">
<xs:annotation>
<xs:documentation>No. occurs before 12 No.12</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NumberTypeOccurrence">
<xs:annotation>
<xs:documentation>12 in BUILDING 12 occurs "after" premise type BUILDING</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/>
<xs:enumeration value="After"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="PremiseNumberPrefix">
<xs:annotation>
<xs:documentation>A in A12</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="NumberPrefixSeparator">
<xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="PremiseNumberSuffix">
<xs:annotation>
<xs:documentation>A in 12A</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator">
<xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
<xs:element name="CountryName">
<xs:annotation>
<xs:documentation>Specification of the name of a country.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="Type">
<xs:annotation>
<xs:documentation>Old name, new name, etc</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/>
</xs:complexType>
</xs:element>
</xs:schema>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment