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"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 --> <!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models --> <!-- 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 --> <!-- 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 --> <!-- 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 --> <!-- 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" <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" 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"> targetNamespace="http://www.opengis.net/citygml/relief/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
CityGML is an OGC Standard. CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium. Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation> </xs:documentation>
</xs:annotation> </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/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/> <xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ==================================CityGML Relief module ===================================== --> <!-- ==================================CityGML Relief module ===================================== -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="ReliefFeatureType"> <xs:complexType name="ReliefFeatureType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the features of the Digital Terrain Model. As subclass of _CityObject, a ReliefFeature <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. inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="lod" type="core:integerBetween0and4"/> <xs:element name="lod" type="core:integerBetween0and4"/>
<xs:element name="reliefComponent" type="ReliefComponentPropertyType" maxOccurs="unbounded"/> <xs:element name="reliefComponent" type="ReliefComponentPropertyType" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfReliefFeature" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfReliefFeature" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="ReliefFeature" type="ReliefFeatureType" substitutionGroup="core:_CityObject"/> <xs:element name="ReliefFeature" type="ReliefFeatureType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfReliefFeature" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfReliefFeature" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AbstractReliefComponentType" abstract="true"> <xs:complexType name="AbstractReliefComponentType" abstract="true">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the components of a relief feature - either a TIN, a Grid, mass points or break lines. As <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 subclass of _CityObject, a ReliefComponent inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation> references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="lod" type="core:integerBetween0and4"/> <xs:element name="lod" type="core:integerBetween0and4"/>
<xs:element name="extent" type="gml:PolygonPropertyType" minOccurs="0"/> <xs:element name="extent" type="gml:PolygonPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfReliefComponent" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfReliefComponent" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_ReliefComponent" type="AbstractReliefComponentType" abstract="true" substitutionGroup="core:_CityObject"/> <xs:element name="_ReliefComponent" type="AbstractReliefComponentType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfReliefComponent" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfReliefComponent" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="ReliefComponentPropertyType"> <xs:complexType name="ReliefComponentPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of a ReliefFeature to its components. The ReliefComponentPropertyType element must <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 either carry a reference to a _ReliefComponent object or contain a _ReliefComponent object inline, but neither both nor
none. </xs:documentation> none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="_ReliefComponent"/> <xs:element ref="_ReliefComponent"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="TINReliefType"> <xs:complexType name="TINReliefType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the TIN component of a relief feature. As subclass of _CityObject, a TINRelief inherits <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. all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractReliefComponentType"> <xs:extension base="AbstractReliefComponentType">
<xs:sequence> <xs:sequence>
<xs:element name="tin" type="tinPropertyType"/> <xs:element name="tin" type="tinPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfTinRelief" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTinRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="TINRelief" type="TINReliefType" substitutionGroup="_ReliefComponent"/> <xs:element name="TINRelief" type="TINReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTinRelief" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTinRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="RasterReliefType"> <xs:complexType name="RasterReliefType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the raster component of a relief feature. As subclass of _CityObject, a RasterRelief <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. inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractReliefComponentType"> <xs:extension base="AbstractReliefComponentType">
<xs:sequence> <xs:sequence>
<xs:element name="grid" type="gridPropertyType"/> <xs:element name="grid" type="gridPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfRasterRelief" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfRasterRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="RasterRelief" type="RasterReliefType" substitutionGroup="_ReliefComponent"/> <xs:element name="RasterRelief" type="RasterReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRasterRelief" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfRasterRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="MassPointReliefType"> <xs:complexType name="MassPointReliefType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the mass point component of a relief feature. As subclass of _CityObject, a MassPoint <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 Relief inherits all attributes and relations, in particular an id, names, external references, and generalization
relations. </xs:documentation> relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractReliefComponentType"> <xs:extension base="AbstractReliefComponentType">
<xs:sequence> <xs:sequence>
<xs:element name="reliefPoints" type="gml:MultiPointPropertyType"/> <xs:element name="reliefPoints" type="gml:MultiPointPropertyType"/>
<xs:element ref="_GenericApplicationPropertyOfMassPointRelief" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfMassPointRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="MassPointRelief" type="MassPointReliefType" substitutionGroup="_ReliefComponent"/> <xs:element name="MassPointRelief" type="MassPointReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfMassPointRelief" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfMassPointRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="BreaklineReliefType"> <xs:complexType name="BreaklineReliefType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the break line Component of a relief feature. A break line relief consists of break lines <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 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> an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractReliefComponentType"> <xs:extension base="AbstractReliefComponentType">
<xs:sequence> <xs:sequence>
<xs:element name="ridgeOrValleyLines" type="gml:MultiCurvePropertyType" minOccurs="0"/> <xs:element name="ridgeOrValleyLines" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="breaklines" type="gml:MultiCurvePropertyType" minOccurs="0"/> <xs:element name="breaklines" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfBreaklineRelief" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfBreaklineRelief" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="BreaklineRelief" type="BreaklineReliefType" substitutionGroup="_ReliefComponent"/> <xs:element name="BreaklineRelief" type="BreaklineReliefType" substitutionGroup="_ReliefComponent"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfBreaklineRelief" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfBreaklineRelief" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="tinPropertyType"> <xs:complexType name="tinPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of a TINRelief to its components. The tinPropertyType element must either carry a <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 reference to a gml:TriangulatedSurface object or contain a gml:TriangulatedSurface object inline, but neither both nor
none. </xs:documentation> none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="gml:TriangulatedSurface"/> <xs:element ref="gml:TriangulatedSurface"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="gridPropertyType"> <xs:complexType name="gridPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of a RasterReliefType to its components. The gridPropertyType element must either <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 carry a reference to a gml:RectifiedGridCoverage object or contain a gml:RectifiedGridCoverage object inline, but neither
both nor none. </xs:documentation> both nor none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="gml:RectifiedGridCoverage"/> <xs:element ref="gml:RectifiedGridCoverage"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ============= The height values of the grid are represented by Elevation elements, which have a height ====== --> <!-- ============= The height values of the grid are represented by Elevation elements, which have a height ====== -->
<!-- ============= value and a unit of measurement, e.g. meter. ====== --> <!-- ============= value and a unit of measurement, e.g. meter. ====== -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="Elevation" type="gml:LengthType" substitutionGroup="gml:_Object"/> <xs:element name="Elevation" type="gml:LengthType" substitutionGroup="gml:_Object"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
</xs:schema> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 --> <!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models --> <!-- 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 --> <!-- 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 --> <!-- 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 --> <!-- 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" <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" 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" targetNamespace="http://www.opengis.net/citygml/texturedsurface/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0"> attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
CityGML is an OGC Standard. CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium. Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation> </xs:documentation>
</xs:annotation> </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/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/> <xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ==============================CityGML TexturedSurface module ================================= --> <!-- ==============================CityGML TexturedSurface module ================================= -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ================================MATERIAL/TEXTURES======================================= --> <!-- ================================MATERIAL/TEXTURES======================================= -->
<!-- =========================DEPRECATED since CityGML version 0.4.0============================== --> <!-- =========================DEPRECATED since CityGML version 0.4.0============================== -->
<!-- =======The following types and elements are expected TO BE REMOVED in future CityGML versions========== --> <!-- =======The following types and elements are expected TO BE REMOVED in future CityGML versions========== -->
<!-- ==================Please, only use the CityGML Appearance model instead. ========================== --> <!-- ==================Please, only use the CityGML Appearance model instead. ========================== -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="TexturedSurfaceType"> <xs:complexType name="TexturedSurfaceType">
<xs:annotation> <xs:annotation>
<xs:appinfo>deprecated</xs:appinfo> <xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. The <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 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 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 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 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 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. geometry. Each surface may be assigned one or more appearances, each refering to one side of the surface.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="gml:OrientableSurfaceType"> <xs:extension base="gml:OrientableSurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="appearance" maxOccurs="unbounded"/> <xs:element ref="appearance" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="TexturedSurface" type="TexturedSurfaceType" substitutionGroup="gml:OrientableSurface"/> <xs:element name="TexturedSurface" type="TexturedSurfaceType" substitutionGroup="gml:OrientableSurface"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="appearance" type="AppearancePropertyType"/> <xs:element name="appearance" type="AppearancePropertyType"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AppearancePropertyType"> <xs:complexType name="AppearancePropertyType">
<xs:annotation> <xs:annotation>
<xs:appinfo>deprecated</xs:appinfo> <xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. A <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 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 _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 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 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 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> surface: + means the side with positive orientation, and - the side with negative orientation. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="_Appearance"/> <xs:element ref="_Appearance"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="orientation" type="gml:SignType" default="+"/> <xs:attribute name="orientation" type="gml:SignType" default="+"/>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AbstractAppearanceType" abstract="true"> <xs:complexType name="AbstractAppearanceType" abstract="true">
<xs:annotation> <xs:annotation>
<xs:appinfo>deprecated</xs:appinfo> <xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. This <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 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 inherits the attribute gml:id and may be referenced by an appearanceProperty, although it is defined elsewhere in another
appearanceProperty. </xs:documentation> appearanceProperty. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="gml:AbstractGMLType"/> <xs:extension base="gml:AbstractGMLType"/>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_Appearance" type="AbstractAppearanceType" abstract="true" substitutionGroup="gml:_GML"/> <xs:element name="_Appearance" type="AbstractAppearanceType" abstract="true" substitutionGroup="gml:_GML"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="MaterialType"> <xs:complexType name="MaterialType">
<xs:annotation> <xs:annotation>
<xs:appinfo>deprecated</xs:appinfo> <xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. Adopted <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> from X3D standard (http://www.web3d.org/x3d/) </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractAppearanceType"> <xs:extension base="AbstractAppearanceType">
<xs:sequence> <xs:sequence>
<xs:element name="shininess" type="core:doubleBetween0and1" minOccurs="0"/> <xs:element name="shininess" type="core:doubleBetween0and1" minOccurs="0"/>
<xs:element name="transparency" 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="ambientIntensity" type="core:doubleBetween0and1" minOccurs="0"/>
<xs:element name="specularColor" type="Color" minOccurs="0"/> <xs:element name="specularColor" type="Color" minOccurs="0"/>
<xs:element name="diffuseColor" type="Color" minOccurs="0"/> <xs:element name="diffuseColor" type="Color" minOccurs="0"/>
<xs:element name="emissiveColor" type="Color" minOccurs="0"/> <xs:element name="emissiveColor" type="Color" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="Material" type="MaterialType" substitutionGroup="_Appearance"/> <xs:element name="Material" type="MaterialType" substitutionGroup="_Appearance"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="SimpleTextureType"> <xs:complexType name="SimpleTextureType">
<xs:annotation> <xs:annotation>
<xs:appinfo>deprecated</xs:appinfo> <xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. Adopted <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> from X3D standard (http://www.web3d.org/x3d/). ToDo: repeat </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractAppearanceType"> <xs:extension base="AbstractAppearanceType">
<xs:sequence> <xs:sequence>
<xs:element name="textureMap" type="xs:anyURI"/> <xs:element name="textureMap" type="xs:anyURI"/>
<xs:element name="textureCoordinates" type="gml:doubleList"/> <xs:element name="textureCoordinates" type="gml:doubleList"/>
<xs:element name="textureType" type="TextureTypeType" minOccurs="0"/> <xs:element name="textureType" type="TextureTypeType" minOccurs="0"/>
<xs:element name="repeat" type="xs:boolean" minOccurs="0"/> <xs:element name="repeat" type="xs:boolean" minOccurs="0"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="SimpleTexture" type="SimpleTextureType" substitutionGroup="_Appearance"/> <xs:element name="SimpleTexture" type="SimpleTextureType" substitutionGroup="_Appearance"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:simpleType name="TextureTypeType"> <xs:simpleType name="TextureTypeType">
<xs:annotation> <xs:annotation>
<xs:appinfo>deprecated</xs:appinfo> <xs:appinfo>deprecated</xs:appinfo>
<xs:documentation>Deprecated since CityGML version 0.4.0. Use the concepts of the CityGML Appearance module instead. <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 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 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 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> specific, if available. Textures may also be classified as unknown. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="specific"/> <xs:enumeration value="specific"/>
<xs:enumeration value="typical"/> <xs:enumeration value="typical"/>
<xs:enumeration value="unknown"/> <xs:enumeration value="unknown"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:simpleType name="Color"> <xs:simpleType name="Color">
<xs:annotation> <xs:annotation>
<xs:appinfo>deprecated</xs:appinfo> <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 <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. three values (red, green, blue), separated by spaces. The values must be in the range between zero and one.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:restriction base="core:doubleBetween0and1List"> <xs:restriction base="core:doubleBetween0and1List">
<xs:length value="3"/> <xs:length value="3"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
</xs:schema> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 --> <!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models --> <!-- 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 --> <!-- 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 --> <!-- 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 --> <!-- 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" <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" 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" targetNamespace="http://www.opengis.net/citygml/transportation/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0"> attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
CityGML is an OGC Standard. CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium. Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation> </xs:documentation>
</xs:annotation> </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/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/> <xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ===========================CityGML Transportation module ===================================== --> <!-- ===========================CityGML Transportation module ===================================== -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AbstractTransportationObjectType" abstract="true"> <xs:complexType name="AbstractTransportationObjectType" abstract="true">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the abstract superclass for transportation objects. </xs:documentation> <xs:documentation>Type describing the abstract superclass for transportation objects. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTransportationObject" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTransportationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_TransportationObject" type="AbstractTransportationObjectType" abstract="true" <xs:element name="_TransportationObject" type="AbstractTransportationObjectType" abstract="true"
substitutionGroup="core:_CityObject"/> substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTransportationObject" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTransportationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="TransportationComplexType"> <xs:complexType name="TransportationComplexType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing transportation complexes, which are aggregated features, e.g. roads, which consist of <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 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 TransportationComplex inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation> generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractTransportationObjectType"> <xs:extension base="AbstractTransportationObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="trafficArea" type="TrafficAreaPropertyType" 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="auxiliaryTrafficArea" type="AuxiliaryTrafficAreaPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod0Network" type="gml:GeometricComplexPropertyType" 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="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" 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="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTransportationComplex" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTransportationComplex" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="TransportationComplex" type="TransportationComplexType" substitutionGroup="_TransportationObject"/> <xs:element name="TransportationComplex" type="TransportationComplexType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTransportationComplex" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTransportationComplex" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="TrafficAreaType"> <xs:complexType name="TrafficAreaType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the class for traffic Areas. Traffic areas are the surfaces where traffic actually takes <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, place. As subclass of _CityObject, a TrafficArea inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation> external references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractTransportationObjectType"> <xs:extension base="AbstractTransportationObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="surfaceMaterial" type="gml:CodeType" minOccurs="0"/> <xs:element name="surfaceMaterial" type="gml:CodeType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" 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="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTrafficArea" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTrafficArea" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="TrafficArea" type="TrafficAreaType" substitutionGroup="_TransportationObject"/> <xs:element name="TrafficArea" type="TrafficAreaType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTrafficArea" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTrafficArea" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AuxiliaryTrafficAreaType"> <xs:complexType name="AuxiliaryTrafficAreaType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the class for auxiliary traffic Areas. These are the surfaces where no traffic actually <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 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, subclass of _CityObject, an AuxiliaryTrafficArea inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation> external references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractTransportationObjectType"> <xs:extension base="AbstractTransportationObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="surfaceMaterial" type="gml:CodeType" minOccurs="0"/> <xs:element name="surfaceMaterial" type="gml:CodeType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" 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="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfAuxiliaryTrafficArea" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfAuxiliaryTrafficArea" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="AuxiliaryTrafficArea" type="AuxiliaryTrafficAreaType" substitutionGroup="_TransportationObject"/> <xs:element name="AuxiliaryTrafficArea" type="AuxiliaryTrafficAreaType" substitutionGroup="_TransportationObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfAuxiliaryTrafficArea" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfAuxiliaryTrafficArea" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="TrafficAreaPropertyType"> <xs:complexType name="TrafficAreaPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of TransportationComplex to its parts, which are traffic areas. The <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 TrafficAreaPropertyType element must either carry a reference to a TrafficArea object or contain a TrafficArea object
inline, but neither both nor none. </xs:documentation> inline, but neither both nor none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="TrafficArea"/> <xs:element ref="TrafficArea"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AuxiliaryTrafficAreaPropertyType"> <xs:complexType name="AuxiliaryTrafficAreaPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of TransportationComplex to its parts, which are auxiliary traffic areas. The <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 TrafficAreaPropertyType element must either carry a reference to a TrafficArea object or contain a TrafficArea object
inline, but neither both nor none. </xs:documentation> inline, but neither both nor none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="AuxiliaryTrafficArea"/> <xs:element ref="AuxiliaryTrafficArea"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ============================Subtypes of Transportation Complex================================= --> <!-- ============================Subtypes of Transportation Complex================================= -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="TrackType"> <xs:complexType name="TrackType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the class for tracks. A track is a small path mainly used by pedestrians. As subclass of <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 _CityObject, a Track inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation> generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="TransportationComplexType"> <xs:extension base="TransportationComplexType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTrack" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTrack" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="Track" type="TrackType" substitutionGroup="TransportationComplex"/> <xs:element name="Track" type="TrackType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfTrack" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTrack" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="RoadType"> <xs:complexType name="RoadType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the class for roads. As subclass of _CityObject, a Road inherits all attributes and <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> relations, in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="TransportationComplexType"> <xs:extension base="TransportationComplexType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRoad" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfRoad" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="Road" type="RoadType" substitutionGroup="TransportationComplex"/> <xs:element name="Road" type="RoadType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRoad" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfRoad" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="RailwayType"> <xs:complexType name="RailwayType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the class for railways. As subclass of _CityObject, a Railway inherits all attributes and <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> relations, in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="TransportationComplexType"> <xs:extension base="TransportationComplexType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRailway" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfRailway" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="Railway" type="RailwayType" substitutionGroup="TransportationComplex"/> <xs:element name="Railway" type="RailwayType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfRailway" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfRailway" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="SquareType"> <xs:complexType name="SquareType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the class for squares. A square is an open area commonly found in cities (like a plaza). <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 As subclass of _CityObject, a Square inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation> references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="TransportationComplexType"> <xs:extension base="TransportationComplexType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfSquare" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfSquare" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="Square" type="SquareType" substitutionGroup="TransportationComplex"/> <xs:element name="Square" type="SquareType" substitutionGroup="TransportationComplex"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfSquare" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfSquare" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
</xs:schema> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 --> <!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models --> <!-- 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 --> <!-- 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 --> <!-- 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 --> <!-- 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" <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" 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"> targetNamespace="http://www.opengis.net/citygml/tunnel/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
CityGML is an OGC Standard. CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium. Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation> </xs:documentation>
</xs:annotation> </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/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/> <xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- =============================================================================== --> <!-- =============================================================================== -->
<!-- ============================= CityGML Tunnel module ========================= --> <!-- ============================= CityGML Tunnel module ========================= -->
<!-- =============================================================================== --> <!-- =============================================================================== -->
<xs:complexType name="AbstractTunnelType"> <xs:complexType name="AbstractTunnelType">
<xs:annotation> <xs:annotation>
<xs:documentation>Abstract super class of the features Tunnel and TunnelPart</xs:documentation> <xs:documentation>Abstract super class of the features Tunnel and TunnelPart</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractSiteType"> <xs:extension base="core:AbstractSiteType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="yearOfConstruction" type="xs:gYear" minOccurs="0"/> <xs:element name="yearOfConstruction" type="xs:gYear" minOccurs="0"/>
<xs:element name="yearOfDemolition" 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="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/> <xs:element name="lod1TerrainIntersection" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/> <xs:element name="lod2Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod2MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> <xs:element name="lod2MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod2TerrainIntersection" 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="outerTunnelInstallation" type="TunnelInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="interiorTunnelInstallation" type="IntTunnelInstallationPropertyType" minOccurs="0" <xs:element name="interiorTunnelInstallation" type="IntTunnelInstallationPropertyType" minOccurs="0"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" 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="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> <xs:element name="lod3MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod3TerrainIntersection" 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="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> <xs:element name="lod4MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod4TerrainIntersection" 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="interiorHollowSpace" type="InteriorHollowSpacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="consistsOfTunnelPart" type="TunnelPartPropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="consistsOfTunnelPart" type="TunnelPartPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfAbstractTunnel" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfAbstractTunnel" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_AbstractTunnel" type="AbstractTunnelType" abstract="true" substitutionGroup="core:_Site"/> <xs:element name="_AbstractTunnel" type="AbstractTunnelType" abstract="true" substitutionGroup="core:_Site"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfAbstractTunnel" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfAbstractTunnel" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="TunnelType"> <xs:complexType name="TunnelType">
<xs:annotation> <xs:annotation>
<xs:documentation>Horizontal or sloping underground or partly underground, enclosed way of some length (ISO <xs:documentation>Horizontal or sloping underground or partly underground, enclosed way of some length (ISO
6707-1)</xs:documentation> 6707-1)</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractTunnelType"> <xs:extension base="AbstractTunnelType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTunnel" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTunnel" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="Tunnel" type="TunnelType" substitutionGroup="_AbstractTunnel"/> <xs:element name="Tunnel" type="TunnelType" substitutionGroup="_AbstractTunnel"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnel" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTunnel" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="TunnelPartType"> <xs:complexType name="TunnelPartType">
<xs:annotation> <xs:annotation>
<xs:documentation>A Tunnel composed of structural segments differing in important geometrical or semantical properties can <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> be separated into one Tunnel and additional TunnelParts. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractTunnelType"> <xs:extension base="AbstractTunnelType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfTunnelPart" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTunnelPart" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="TunnelPart" type="TunnelPartType" substitutionGroup="_AbstractTunnel"/> <xs:element name="TunnelPart" type="TunnelPartType" substitutionGroup="_AbstractTunnel"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelPart" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTunnelPart" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="TunnelPartPropertyType"> <xs:complexType name="TunnelPartPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of an _AbstractTunnel to its parts. The TunnelPartPropertyType element must either <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 carry a reference to a TunnelPart object or contain a TunnelPart object inline, but neither both nor
none.</xs:documentation> none.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="TunnelPart"/> <xs:element ref="TunnelPart"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="TunnelInstallationType"> <xs:complexType name="TunnelInstallationType">
<xs:annotation> <xs:annotation>
<xs:documentation>Immovable structural component of a Tunnel which has not the significance of a TunnelPart. As subclass of <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, _CityObject, a TunnelInstallation inherits all attributes and relations, in particular an id, names, external references,
generic attributes and generalization relations. </xs:documentation> generic attributes and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod2Geometry" 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="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4Geometry" 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="lod2ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod3ImplicitRepresentation" 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="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfTunnelInstallation" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTunnelInstallation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="TunnelInstallation" type="TunnelInstallationType" substitutionGroup="core:_CityObject"/> <xs:element name="TunnelInstallation" type="TunnelInstallationType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelInstallation" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTunnelInstallation" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="TunnelInstallationPropertyType"> <xs:complexType name="TunnelInstallationPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its external installations. The TunnelInstallationPropertyType element <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 must either carry a reference to a TunnelInstallation object or contain a TunnelInstallation object inline, but neither
both nor none. </xs:documentation> both nor none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="TunnelInstallation"/> <xs:element ref="TunnelInstallation"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="IntTunnelInstallationType"> <xs:complexType name="IntTunnelInstallationType">
<xs:annotation> <xs:annotation>
<xs:documentation>Immovable interior structural component of a Tunnel or a HollowSpace. Examples are interior stairs, <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, 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> in particular an id, names, external references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> <xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" 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 name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfIntTunnelInstallation" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfIntTunnelInstallation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="IntTunnelInstallation" type="IntTunnelInstallationType" substitutionGroup="core:_CityObject"/> <xs:element name="IntTunnelInstallation" type="IntTunnelInstallationType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfIntTunnelInstallation" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfIntTunnelInstallation" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="IntTunnelInstallationPropertyType"> <xs:complexType name="IntTunnelInstallationPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its internal installations. The InteriorTunnelInstallationPropertyType <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, element must either carry a reference to a IntTunnelInstallation object or contain a IntTunnelInstallation object inline,
but neither both nor none. </xs:documentation> but neither both nor none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="IntTunnelInstallation"/> <xs:element ref="IntTunnelInstallation"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<!-- ========================SURFACES OF TUNNELS AND HOLLOW SPACES ( LoD2 to LOD4)=====================--> <!-- ========================SURFACES OF TUNNELS AND HOLLOW SPACES ( LoD2 to LOD4)=====================-->
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="BoundarySurfacePropertyType"> <xs:complexType name="BoundarySurfacePropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of an tunnel or hollow space to its bounding thematic surfaces (walls, roofs, ..). <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 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 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> tunnel is not related to CeilingSurfaces or a room not to RoofSurfaces. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="_BoundarySurface"/> <xs:element ref="_BoundarySurface"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="AbstractBoundarySurfaceType" abstract="true"> <xs:complexType name="AbstractBoundarySurfaceType" abstract="true">
<xs:annotation> <xs:annotation>
<xs:documentation>Abstract super class of the features RoofSurface, WallSurface, GroundSurface, ClosureSurface, <xs:documentation>Abstract super class of the features RoofSurface, WallSurface, GroundSurface, ClosureSurface,
FloorSurface, OuterFloorSurface, CeilingSurface and OuterCeilingSurface</xs:documentation> FloorSurface, OuterFloorSurface, CeilingSurface and OuterCeilingSurface</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="lod2MultiSurface" 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="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" 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 name="opening" type="OpeningPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfBoundarySurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfBoundarySurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_BoundarySurface" type="AbstractBoundarySurfaceType" abstract="true" substitutionGroup="core:_CityObject"/> <xs:element name="_BoundarySurface" type="AbstractBoundarySurfaceType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfBoundarySurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfBoundarySurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="RoofSurfaceType"> <xs:complexType name="RoofSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Construction that separates the interior part of the Tunnel from the ambient medium ( water, air, ..) from <xs:documentation>Construction that separates the interior part of the Tunnel from the ambient medium ( water, air, ..) from
above.</xs:documentation> above.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfRoofSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfRoofSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="RoofSurface" type="RoofSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="RoofSurface" type="RoofSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfRoofSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfRoofSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="WallSurfaceType"> <xs:complexType name="WallSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Mainly vertical construction that separates the interior part of the Tunnel from the ambient medium (rock, <xs:documentation>Mainly vertical construction that separates the interior part of the Tunnel from the ambient medium (rock,
earth, water, air, ..)</xs:documentation> earth, water, air, ..)</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWallSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfWallSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="WallSurface" type="WallSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="WallSurface" type="WallSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfWallSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfWallSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="GroundSurfaceType"> <xs:complexType name="GroundSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Horizontal construction that separates the interior part of the Tunnel from the ambient medium (rock, <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> earth, water, air, ..) from below on the lowest level. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfGroundSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfGroundSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="GroundSurface" type="GroundSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="GroundSurface" type="GroundSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfGroundSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfGroundSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="ClosureSurfaceType"> <xs:complexType name="ClosureSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Virtual surface which can be used to define the volume of geometric objects being not totally bounded by <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> real surfaces (e. g. the entrance of an open Tunnel).</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfClosureSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfClosureSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="ClosureSurface" type="ClosureSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="ClosureSurface" type="ClosureSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfClosureSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfClosureSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<!-- ===================================LoD4 only Surfaces=========================================== --> <!-- ===================================LoD4 only Surfaces=========================================== -->
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="FloorSurfaceType"> <xs:complexType name="FloorSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Mostly horizontal construction that bounds a HollowSpace from below. </xs:documentation> <xs:documentation>Mostly horizontal construction that bounds a HollowSpace from below. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfFloorSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfFloorSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="FloorSurface" type="FloorSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="FloorSurface" type="FloorSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfFloorSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfFloorSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="OuterFloorSurfaceType"> <xs:complexType name="OuterFloorSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Horizontal construction that separates the interior part of the Tunnel from the ambient medium (rock, <xs:documentation>Horizontal construction that separates the interior part of the Tunnel from the ambient medium (rock,
earth, water, air, ..) from below.</xs:documentation> earth, water, air, ..) from below.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfOuterFloorSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfOuterFloorSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="OuterFloorSurface" type="OuterFloorSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="OuterFloorSurface" type="OuterFloorSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfOuterFloorSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfOuterFloorSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="InteriorWallSurfaceType"> <xs:complexType name="InteriorWallSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Mostly vertical construction that bounds a HollowSpace.</xs:documentation> <xs:documentation>Mostly vertical construction that bounds a HollowSpace.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfInteriorWallSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfInteriorWallSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="InteriorWallSurface" type="InteriorWallSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="InteriorWallSurface" type="InteriorWallSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfInteriorWallSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfInteriorWallSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="CeilingSurfaceType"> <xs:complexType name="CeilingSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Mostly horizontal construction that bounds a HollowSpace from above.</xs:documentation> <xs:documentation>Mostly horizontal construction that bounds a HollowSpace from above.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfCeilingSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfCeilingSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="CeilingSurface" type="CeilingSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="CeilingSurface" type="CeilingSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfCeilingSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfCeilingSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="OuterCeilingSurfaceType"> <xs:complexType name="OuterCeilingSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Mainly horizontal construction that separates the interior part of the Tunnel from the ambient medium <xs:documentation>Mainly horizontal construction that separates the interior part of the Tunnel from the ambient medium
(rock, earth, ..) from above.</xs:documentation> (rock, earth, ..) from above.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractBoundarySurfaceType"> <xs:extension base="AbstractBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfOuterCeilingSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfOuterCeilingSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="OuterCeilingSurface" type="OuterCeilingSurfaceType" substitutionGroup="_BoundarySurface"/> <xs:element name="OuterCeilingSurface" type="OuterCeilingSurfaceType" substitutionGroup="_BoundarySurface"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfOuterCeilingSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfOuterCeilingSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="HollowSpaceType"> <xs:complexType name="HollowSpaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Area or volume within a Tunnel bounded actually or theoretically </xs:documentation> <xs:documentation>Area or volume within a Tunnel bounded actually or theoretically </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/> <xs:element name="lod4Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="boundedBy" type="BoundarySurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="interiorFurniture" type="InteriorFurniturePropertyType" 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 name="hollowSpaceInstallation" type="IntTunnelInstallationPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfHollowSpace" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfHollowSpace" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="HollowSpace" type="HollowSpaceType" substitutionGroup="core:_CityObject"/> <xs:element name="HollowSpace" type="HollowSpaceType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfHollowSpace" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfHollowSpace" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="InteriorHollowSpacePropertyType"> <xs:complexType name="InteriorHollowSpacePropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of a Tunnel to its internal holllow spaces. The InteriorHollowSpacePropertyType <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 element must either carry a reference to a HollowSpace object or contain a HollowSpace object inline, but neither both nor
none. </xs:documentation> none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="HollowSpace"/> <xs:element ref="HollowSpace"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="TunnelFurnitureType"> <xs:complexType name="TunnelFurnitureType">
<xs:annotation> <xs:annotation>
<xs:documentation>Movable, functional objects, whether useful or ornamental, usually found in a <xs:documentation>Movable, functional objects, whether useful or ornamental, usually found in a
HollowSpace</xs:documentation> HollowSpace</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> <xs:element name="lod4Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/> <xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfTunnelFurniture" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfTunnelFurniture" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="TunnelFurniture" type="TunnelFurnitureType" substitutionGroup="core:_CityObject"/> <xs:element name="TunnelFurniture" type="TunnelFurnitureType" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:element name="_GenericApplicationPropertyOfTunnelFurniture" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfTunnelFurniture" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<xs:complexType name="InteriorFurniturePropertyType"> <xs:complexType name="InteriorFurniturePropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of a hollow space to the furnitures it contains. </xs:documentation> <xs:documentation>Denotes the relation of a hollow space to the furnitures it contains. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="TunnelFurniture"/> <xs:element ref="TunnelFurniture"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================== --> <!-- ========================================================================================== -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ================================Openings (LOD3 and LOD4 only)================================ --> <!-- ================================Openings (LOD3 and LOD4 only)================================ -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AbstractOpeningType" abstract="true"> <xs:complexType name="AbstractOpeningType" abstract="true">
<xs:annotation> <xs:annotation>
<xs:documentation> Type for openings (doors, windows) in boundary surfaces. Used in LOD3 and LOD4 only. As subclass of <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 _CityObject, an _Opening inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation> generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="lod3MultiSurface" 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="lod4MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3ImplicitRepresentation" 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="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfOpening" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfOpening" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_Opening" type="AbstractOpeningType" abstract="true" substitutionGroup="core:_CityObject"/> <xs:element name="_Opening" type="AbstractOpeningType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfOpening" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfOpening" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="OpeningPropertyType"> <xs:complexType name="OpeningPropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of an _BondarySurface to its openings (doors, windows). The OpeningPropertyType <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 element must either carry a reference to an _Opening object or contain an _Opening object inline, but neither both nor
none. </xs:documentation> none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="_Opening"/> <xs:element ref="_Opening"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="WindowType"> <xs:complexType name="WindowType">
<xs:annotation> <xs:annotation>
<xs:documentation>Construction for closing an _Opening not intended for access or regress.</xs:documentation> <xs:documentation>Construction for closing an _Opening not intended for access or regress.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractOpeningType"> <xs:extension base="AbstractOpeningType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWindow" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfWindow" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="Window" type="WindowType" substitutionGroup="_Opening"/> <xs:element name="Window" type="WindowType" substitutionGroup="_Opening"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWindow" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfWindow" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="DoorType"> <xs:complexType name="DoorType">
<xs:annotation> <xs:annotation>
<xs:documentation>Construction for closing an _Opening intended primarily for access or regress or both. </xs:documentation> <xs:documentation>Construction for closing an _Opening intended primarily for access or regress or both. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractOpeningType"> <xs:extension base="AbstractOpeningType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfDoor" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfDoor" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="Door" type="DoorType" substitutionGroup="_Opening"/> <xs:element name="Door" type="DoorType" substitutionGroup="_Opening"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfDoor" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfDoor" type="xs:anyType" abstract="true"/>
</xs:schema> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 --> <!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models --> <!-- 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 --> <!-- 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 --> <!-- 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 --> <!-- 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" <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" 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" targetNamespace="http://www.opengis.net/citygml/vegetation/2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="2.0.0"> attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
CityGML is an OGC Standard. CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium. Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation> </xs:documentation>
</xs:annotation> </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/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/> <xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ==============================CityGML Vegetation module ===================================== --> <!-- ==============================CityGML Vegetation module ===================================== -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AbstractVegetationObjectType" abstract="true"> <xs:complexType name="AbstractVegetationObjectType" abstract="true">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the abstract superclass for vegetation objects. A subclass is either a <xs:documentation>Type describing the abstract superclass for vegetation objects. A subclass is either a
SolitaryVegetationObject or a PlantCover. </xs:documentation> SolitaryVegetationObject or a PlantCover. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfVegetationObject" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfVegetationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_VegetationObject" type="AbstractVegetationObjectType" abstract="true" substitutionGroup="core:_CityObject"/> <xs:element name="_VegetationObject" type="AbstractVegetationObjectType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfVegetationObject" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfVegetationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="PlantCoverType"> <xs:complexType name="PlantCoverType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing Plant Covers resp. Biotopes. As subclass of _CityObject, a VegetationObject inherits all <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. attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractVegetationObjectType"> <xs:extension base="AbstractVegetationObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="averageHeight" type="gml:LengthType" minOccurs="0"/> <xs:element name="averageHeight" type="gml:LengthType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSurface" 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="lod3MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSurface" 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="lod1MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element name="lod2MultiSolid" 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="lod3MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element name="lod4MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/> <xs:element name="lod4MultiSolid" type="gml:MultiSolidPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfPlantCover" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfPlantCover" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="PlantCover" type="PlantCoverType" substitutionGroup="_VegetationObject"/> <xs:element name="PlantCover" type="PlantCoverType" substitutionGroup="_VegetationObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfPlantCover" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfPlantCover" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="SolitaryVegetationObjectType"> <xs:complexType name="SolitaryVegetationObjectType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing solitary vegetation objects, e.g., trees. Its geometry is either defined explicitly by a <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 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 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, subclass of _CityObject, a SolitaryVegetationObject inherits all attributes and relations, in particular an id, names,
external references, and generalization relations. </xs:documentation> external references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractVegetationObjectType"> <xs:extension base="AbstractVegetationObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="species" type="gml:CodeType" minOccurs="0"/> <xs:element name="species" type="gml:CodeType" minOccurs="0"/>
<xs:element name="height" type="gml:LengthType" minOccurs="0"/> <xs:element name="height" type="gml:LengthType" minOccurs="0"/>
<xs:element name="trunkDiameter" 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="crownDiameter" type="gml:LengthType" minOccurs="0"/>
<xs:element name="lod1Geometry" type="gml:GeometryPropertyType" minOccurs="0"/> <xs:element name="lod1Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod2Geometry" 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="lod3Geometry" type="gml:GeometryPropertyType" minOccurs="0"/>
<xs:element name="lod4Geometry" 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="lod1ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod2ImplicitRepresentation" 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="lod3ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/> <xs:element name="lod4ImplicitRepresentation" type="core:ImplicitRepresentationPropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfSolitaryVegetationObject" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfSolitaryVegetationObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="SolitaryVegetationObject" type="SolitaryVegetationObjectType" substitutionGroup="_VegetationObject"/> <xs:element name="SolitaryVegetationObject" type="SolitaryVegetationObjectType" substitutionGroup="_VegetationObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfSolitaryVegetationObject" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfSolitaryVegetationObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
</xs:schema> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- CityGML Version No. 2.0, February 2012 --> <!-- CityGML Version No. 2.0, February 2012 -->
<!-- CityGML - GML 3.1.1 application schema for 3D city models --> <!-- 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 --> <!-- 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 --> <!-- 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 --> <!-- 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" <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" 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"> targetNamespace="http://www.opengis.net/citygml/waterbody/2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0.0">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
CityGML is an OGC Standard. CityGML is an OGC Standard.
Copyright (c) 2012 Open Geospatial Consortium. Copyright (c) 2012 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</xs:documentation> </xs:documentation>
</xs:annotation> </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/gml" schemaLocation="../../gml/3.1.1/base/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/> <xs:import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="cityGMLBase.xsd"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<!-- ==============================CityGML WaterBody module ===================================== --> <!-- ==============================CityGML WaterBody module ===================================== -->
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AbstractWaterObjectType" abstract="true"> <xs:complexType name="AbstractWaterObjectType" abstract="true">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the abstract superclass for water objects. As subclass of _CityObject, a _WaterObject <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. inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterObject" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfWaterObject" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_WaterObject" type="AbstractWaterObjectType" abstract="true" substitutionGroup="core:_CityObject"/> <xs:element name="_WaterObject" type="AbstractWaterObjectType" abstract="true" substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterObject" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfWaterObject" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="WaterBodyType"> <xs:complexType name="WaterBodyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing Water Bodies, e.g., lakes, rivers. As subclass of _CityObject, a WaterBody inherits all <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. attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractWaterObjectType"> <xs:extension base="AbstractWaterObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="class" type="gml:CodeType" minOccurs="0"/> <xs:element name="class" type="gml:CodeType" minOccurs="0"/>
<xs:element name="function" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/> <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="usage" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="lod0MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> <xs:element name="lod0MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod0MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod0MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/> <xs:element name="lod1MultiCurve" type="gml:MultiCurvePropertyType" minOccurs="0"/>
<xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/> <xs:element name="lod1MultiSurface" type="gml:MultiSurfacePropertyType" minOccurs="0"/>
<xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/> <xs:element name="lod1Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod2Solid" 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="lod3Solid" type="gml:SolidPropertyType" minOccurs="0"/>
<xs:element name="lod4Solid" 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 name="boundedBy" type="BoundedByWaterSurfacePropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="_GenericApplicationPropertyOfWaterBody" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfWaterBody" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="WaterBody" type="WaterBodyType" substitutionGroup="_WaterObject"/> <xs:element name="WaterBody" type="WaterBodyType" substitutionGroup="_WaterObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterBody" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfWaterBody" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="BoundedByWaterSurfacePropertyType"> <xs:complexType name="BoundedByWaterSurfacePropertyType">
<xs:annotation> <xs:annotation>
<xs:documentation>Denotes the relation of a WaterBody to its boundary surfaces, which are of type _WaterBoundarySurface. The <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 BoundedByWaterSurfacePropertyType element must either carry a reference to a _WaterBoundarySurface object or contain a
_WaterBoundarySurface object inline, but neither both nor none. </xs:documentation> _WaterBoundarySurface object inline, but neither both nor none. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:sequence minOccurs="0"> <xs:sequence minOccurs="0">
<xs:element ref="_WaterBoundarySurface"/> <xs:element ref="_WaterBoundarySurface"/>
<xs:element ref="gml:_ADEComponent" minOccurs="0"/> <xs:element ref="gml:_ADEComponent" minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="gml:AssociationAttributeGroup"/> <xs:attributeGroup ref="gml:AssociationAttributeGroup"/>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="AbstractWaterBoundarySurfaceType" abstract="true"> <xs:complexType name="AbstractWaterBoundarySurfaceType" abstract="true">
<xs:annotation> <xs:annotation>
<xs:documentation>A WaterBoundarySurface is a thematic object which classifies surfaces bounding a water body. <xs:documentation>A WaterBoundarySurface is a thematic object which classifies surfaces bounding a water body.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="core:AbstractCityObjectType"> <xs:extension base="core:AbstractCityObjectType">
<xs:sequence> <xs:sequence>
<xs:element name="lod2Surface" type="gml:SurfacePropertyType" minOccurs="0"/> <xs:element name="lod2Surface" type="gml:SurfacePropertyType" minOccurs="0"/>
<xs:element name="lod3Surface" 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 name="lod4Surface" type="gml:SurfacePropertyType" minOccurs="0"/>
<xs:element ref="_GenericApplicationPropertyOfWaterBoundarySurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfWaterBoundarySurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_WaterBoundarySurface" type="AbstractWaterBoundarySurfaceType" abstract="true" <xs:element name="_WaterBoundarySurface" type="AbstractWaterBoundarySurfaceType" abstract="true"
substitutionGroup="core:_CityObject"/> substitutionGroup="core:_CityObject"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterBoundarySurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfWaterBoundarySurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="WaterSurfaceType"> <xs:complexType name="WaterSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the surface of a water body, which separates the water from the air. As subclass of <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 _CityObject, a WaterSurface inherits all attributes and relations, in particular an id, names, external references, and
generalization relations. </xs:documentation> generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType"> <xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element name="waterLevel" type="gml:CodeType" minOccurs="0"> <xs:element name="waterLevel" type="gml:CodeType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Type for the specification of the level of a water surface. The optional attribute waterLevel of a <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 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 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> external code lists.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="_GenericApplicationPropertyOfWaterSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfWaterSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="WaterSurface" type="WaterSurfaceType" substitutionGroup="_WaterBoundarySurface"/> <xs:element name="WaterSurface" type="WaterSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfWaterSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="WaterGroundSurfaceType"> <xs:complexType name="WaterGroundSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the ground surface of a water body, i.e. the boundary to the digital terrain model. As <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 subclass of _CityObject, a WaterGroundSurface inherits all attributes and relations, in particular an id, names, external
references, and generalization relations. </xs:documentation> references, and generalization relations. </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType"> <xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterGroundSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfWaterGroundSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="WaterGroundSurface" type="WaterGroundSurfaceType" substitutionGroup="_WaterBoundarySurface"/> <xs:element name="WaterGroundSurface" type="WaterGroundSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterGroundSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfWaterGroundSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:complexType name="WaterClosureSurfaceType"> <xs:complexType name="WaterClosureSurfaceType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type describing the closure surface between water bodys. As subclass of _CityObject, a WaterClosureSurface <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. inherits all attributes and relations, in particular an id, names, external references, and generalization relations.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexContent> <xs:complexContent>
<xs:extension base="AbstractWaterBoundarySurfaceType"> <xs:extension base="AbstractWaterBoundarySurfaceType">
<xs:sequence> <xs:sequence>
<xs:element ref="_GenericApplicationPropertyOfWaterClosureSurface" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="_GenericApplicationPropertyOfWaterClosureSurface" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="WaterClosureSurface" type="WaterClosureSurfaceType" substitutionGroup="_WaterBoundarySurface"/> <xs:element name="WaterClosureSurface" type="WaterClosureSurfaceType" substitutionGroup="_WaterBoundarySurface"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
<xs:element name="_GenericApplicationPropertyOfWaterClosureSurface" type="xs:anyType" abstract="true"/> <xs:element name="_GenericApplicationPropertyOfWaterClosureSurface" type="xs:anyType" abstract="true"/>
<!-- ========================================================================================= --> <!-- ========================================================================================= -->
</xs:schema> </xs:schema>
<?xml version='1.0' encoding='UTF-8'?> <?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: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:annotation>
<xs:documentation>This schema document provides attribute declarations and <xs:documentation>This schema document provides attribute declarations and
attribute group, complex type and simple type definitions which can be used in 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 the construction of user schemas to define the structure of particular linking
constructs, e.g. constructs, e.g.
<![CDATA[ <![CDATA[
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xl="http://www.w3.org/1999/xlink"> xmlns:xl="http://www.w3.org/1999/xlink">
<xs:import namespace="http://www.w3.org/1999/xlink" <xs:import namespace="http://www.w3.org/1999/xlink"
location="http://www.w3.org/1999/xlink.xsd"> location="http://www.w3.org/1999/xlink.xsd">
<xs:element name="mySimple"> <xs:element name="mySimple">
<xs:complexType> <xs:complexType>
... ...
<xs:attributeGroup ref="xl:simpleAttrs"/> <xs:attributeGroup ref="xl:simpleAttrs"/>
... ...
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
... ...
</xs:schema>]]></xs:documentation> </xs:schema>]]></xs:documentation>
</xs:annotation> </xs:annotation>
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../xml/xml.xsd"/> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../xml/xml.xsd"/>
<xs:attribute name="type" type="xlink:typeType"/> <xs:attribute name="type" type="xlink:typeType"/>
<xs:simpleType name="typeType"> <xs:simpleType name="typeType">
<xs:restriction base="xs:token"> <xs:restriction base="xs:token">
<xs:enumeration value="simple"/> <xs:enumeration value="simple"/>
<xs:enumeration value="extended"/> <xs:enumeration value="extended"/>
<xs:enumeration value="title"/> <xs:enumeration value="title"/>
<xs:enumeration value="resource"/> <xs:enumeration value="resource"/>
<xs:enumeration value="locator"/> <xs:enumeration value="locator"/>
<xs:enumeration value="arc"/> <xs:enumeration value="arc"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="href" type="xlink:hrefType"/> <xs:attribute name="href" type="xlink:hrefType"/>
<xs:simpleType name="hrefType"> <xs:simpleType name="hrefType">
<xs:restriction base="xs:anyURI"/> <xs:restriction base="xs:anyURI"/>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="role" type="xlink:roleType"/> <xs:attribute name="role" type="xlink:roleType"/>
<xs:simpleType name="roleType"> <xs:simpleType name="roleType">
<xs:restriction base="xs:anyURI"> <xs:restriction base="xs:anyURI">
<xs:minLength value="1"/> <xs:minLength value="1"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="arcrole" type="xlink:arcroleType"/> <xs:attribute name="arcrole" type="xlink:arcroleType"/>
<xs:simpleType name="arcroleType"> <xs:simpleType name="arcroleType">
<xs:restriction base="xs:anyURI"> <xs:restriction base="xs:anyURI">
<xs:minLength value="1"/> <xs:minLength value="1"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="title" type="xlink:titleAttrType"/> <xs:attribute name="title" type="xlink:titleAttrType"/>
<xs:simpleType name="titleAttrType"> <xs:simpleType name="titleAttrType">
<xs:restriction base="xs:string"/> <xs:restriction base="xs:string"/>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="show" type="xlink:showType"/> <xs:attribute name="show" type="xlink:showType"/>
<xs:simpleType name="showType"> <xs:simpleType name="showType">
<xs:restriction base="xs:token"> <xs:restriction base="xs:token">
<xs:enumeration value="new"/> <xs:enumeration value="new"/>
<xs:enumeration value="replace"/> <xs:enumeration value="replace"/>
<xs:enumeration value="embed"/> <xs:enumeration value="embed"/>
<xs:enumeration value="other"/> <xs:enumeration value="other"/>
<xs:enumeration value="none"/> <xs:enumeration value="none"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="actuate" type="xlink:actuateType"/> <xs:attribute name="actuate" type="xlink:actuateType"/>
<xs:simpleType name="actuateType"> <xs:simpleType name="actuateType">
<xs:restriction base="xs:token"> <xs:restriction base="xs:token">
<xs:enumeration value="onLoad"/> <xs:enumeration value="onLoad"/>
<xs:enumeration value="onRequest"/> <xs:enumeration value="onRequest"/>
<xs:enumeration value="other"/> <xs:enumeration value="other"/>
<xs:enumeration value="none"/> <xs:enumeration value="none"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="label" type="xlink:labelType"/> <xs:attribute name="label" type="xlink:labelType"/>
<xs:simpleType name="labelType"> <xs:simpleType name="labelType">
<xs:restriction base="xs:NCName"/> <xs:restriction base="xs:NCName"/>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="from" type="xlink:fromType"/> <xs:attribute name="from" type="xlink:fromType"/>
<xs:simpleType name="fromType"> <xs:simpleType name="fromType">
<xs:restriction base="xs:NCName"/> <xs:restriction base="xs:NCName"/>
</xs:simpleType> </xs:simpleType>
<xs:attribute name="to" type="xlink:toType"/> <xs:attribute name="to" type="xlink:toType"/>
<xs:simpleType name="toType"> <xs:simpleType name="toType">
<xs:restriction base="xs:NCName"/> <xs:restriction base="xs:NCName"/>
</xs:simpleType> </xs:simpleType>
<xs:attributeGroup name="simpleAttrs"> <xs:attributeGroup name="simpleAttrs">
<xs:attribute ref="xlink:type" fixed="simple"/> <xs:attribute ref="xlink:type" fixed="simple"/>
<xs:attribute ref="xlink:href"/> <xs:attribute ref="xlink:href"/>
<xs:attribute ref="xlink:role"/> <xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:arcrole"/> <xs:attribute ref="xlink:arcrole"/>
<xs:attribute ref="xlink:title"/> <xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:show"/> <xs:attribute ref="xlink:show"/>
<xs:attribute ref="xlink:actuate"/> <xs:attribute ref="xlink:actuate"/>
</xs:attributeGroup> </xs:attributeGroup>
<xs:group name="simpleModel"> <xs:group name="simpleModel">
<xs:sequence> <xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:complexType mixed="true" name="simple"> <xs:complexType mixed="true" name="simple">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Intended for use as the type of user-declared elements to make them Intended for use as the type of user-declared elements to make them
simple links. simple links.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:group ref="xlink:simpleModel"/> <xs:group ref="xlink:simpleModel"/>
<xs:attributeGroup ref="xlink:simpleAttrs"/> <xs:attributeGroup ref="xlink:simpleAttrs"/>
</xs:complexType> </xs:complexType>
<xs:attributeGroup name="extendedAttrs"> <xs:attributeGroup name="extendedAttrs">
<xs:attribute ref="xlink:type" fixed="extended" use="required"/> <xs:attribute ref="xlink:type" fixed="extended" use="required"/>
<xs:attribute ref="xlink:role"/> <xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/> <xs:attribute ref="xlink:title"/>
</xs:attributeGroup> </xs:attributeGroup>
<xs:group name="extendedModel"> <xs:group name="extendedModel">
<xs:choice> <xs:choice>
<xs:element ref="xlink:title"/> <xs:element ref="xlink:title"/>
<xs:element ref="xlink:resource"/> <xs:element ref="xlink:resource"/>
<xs:element ref="xlink:locator"/> <xs:element ref="xlink:locator"/>
<xs:element ref="xlink:arc"/> <xs:element ref="xlink:arc"/>
</xs:choice> </xs:choice>
</xs:group> </xs:group>
<xs:complexType name="extended"> <xs:complexType name="extended">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
Intended for use as the type of user-declared elements to make them Intended for use as the type of user-declared elements to make them
extended links. extended links.
Note that the elements referenced in the content model are all abstract. Note that the elements referenced in the content model are all abstract.
The intention is that by simply declaring elements with these as their The intention is that by simply declaring elements with these as their
substitutionGroup, all the right things will happen. substitutionGroup, all the right things will happen.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
<xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/> <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:attributeGroup ref="xlink:extendedAttrs"/> <xs:attributeGroup ref="xlink:extendedAttrs"/>
</xs:complexType> </xs:complexType>
<xs:element name="title" type="xlink:titleEltType" abstract="true"/> <xs:element name="title" type="xlink:titleEltType" abstract="true"/>
<xs:attributeGroup name="titleAttrs"> <xs:attributeGroup name="titleAttrs">
<xs:attribute ref="xlink:type" fixed="title" use="required"/> <xs:attribute ref="xlink:type" fixed="title" use="required"/>
<xs:attribute ref="xml:lang"> <xs:attribute ref="xml:lang">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
xml:lang is not required, but provides much of the xml:lang is not required, but provides much of the
motivation for title elements in addition to attributes, and so motivation for title elements in addition to attributes, and so
is provided here for convenience. is provided here for convenience.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
</xs:attributeGroup> </xs:attributeGroup>
<xs:group name="titleModel"> <xs:group name="titleModel">
<xs:sequence> <xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:complexType mixed="true" name="titleEltType"> <xs:complexType mixed="true" name="titleEltType">
<xs:group ref="xlink:titleModel"/> <xs:group ref="xlink:titleModel"/>
<xs:attributeGroup ref="xlink:titleAttrs"/> <xs:attributeGroup ref="xlink:titleAttrs"/>
</xs:complexType> </xs:complexType>
<xs:element name="resource" type="xlink:resourceType" abstract="true"/> <xs:element name="resource" type="xlink:resourceType" abstract="true"/>
<xs:attributeGroup name="resourceAttrs"> <xs:attributeGroup name="resourceAttrs">
<xs:attribute ref="xlink:type" fixed="resource" use="required"/> <xs:attribute ref="xlink:type" fixed="resource" use="required"/>
<xs:attribute ref="xlink:role"/> <xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/> <xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:label"/> <xs:attribute ref="xlink:label"/>
</xs:attributeGroup> </xs:attributeGroup>
<xs:group name="resourceModel"> <xs:group name="resourceModel">
<xs:sequence> <xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:complexType mixed="true" name="resourceType"> <xs:complexType mixed="true" name="resourceType">
<xs:group ref="xlink:resourceModel"/> <xs:group ref="xlink:resourceModel"/>
<xs:attributeGroup ref="xlink:resourceAttrs"/> <xs:attributeGroup ref="xlink:resourceAttrs"/>
</xs:complexType> </xs:complexType>
<xs:element name="locator" type="xlink:locatorType" abstract="true"/> <xs:element name="locator" type="xlink:locatorType" abstract="true"/>
<xs:attributeGroup name="locatorAttrs"> <xs:attributeGroup name="locatorAttrs">
<xs:attribute ref="xlink:type" fixed="locator" use="required"/> <xs:attribute ref="xlink:type" fixed="locator" use="required"/>
<xs:attribute ref="xlink:href" use="required"/> <xs:attribute ref="xlink:href" use="required"/>
<xs:attribute ref="xlink:role"/> <xs:attribute ref="xlink:role"/>
<xs:attribute ref="xlink:title"/> <xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:label"> <xs:attribute ref="xlink:label">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
label is not required, but locators have no particular label is not required, but locators have no particular
XLink function if they are not labeled. XLink function if they are not labeled.
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
</xs:attributeGroup> </xs:attributeGroup>
<xs:group name="locatorModel"> <xs:group name="locatorModel">
<xs:sequence> <xs:sequence>
<xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:complexType name="locatorType"> <xs:complexType name="locatorType">
<xs:group ref="xlink:locatorModel"/> <xs:group ref="xlink:locatorModel"/>
<xs:attributeGroup ref="xlink:locatorAttrs"/> <xs:attributeGroup ref="xlink:locatorAttrs"/>
</xs:complexType> </xs:complexType>
<xs:element name="arc" type="xlink:arcType" abstract="true"/> <xs:element name="arc" type="xlink:arcType" abstract="true"/>
<xs:attributeGroup name="arcAttrs"> <xs:attributeGroup name="arcAttrs">
<xs:attribute ref="xlink:type" fixed="arc" use="required"/> <xs:attribute ref="xlink:type" fixed="arc" use="required"/>
<xs:attribute ref="xlink:arcrole"/> <xs:attribute ref="xlink:arcrole"/>
<xs:attribute ref="xlink:title"/> <xs:attribute ref="xlink:title"/>
<xs:attribute ref="xlink:show"/> <xs:attribute ref="xlink:show"/>
<xs:attribute ref="xlink:actuate"/> <xs:attribute ref="xlink:actuate"/>
<xs:attribute ref="xlink:from"/> <xs:attribute ref="xlink:from"/>
<xs:attribute ref="xlink:to"> <xs:attribute ref="xlink:to">
<xs:annotation> <xs:annotation>
<xs:documentation> <xs:documentation>
from and to have default behavior when values are missing from and to have default behavior when values are missing
</xs:documentation> </xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
</xs:attributeGroup> </xs:attributeGroup>
<xs:group name="arcModel"> <xs:group name="arcModel">
<xs:sequence> <xs:sequence>
<xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:group> </xs:group>
<xs:complexType name="arcType"> <xs:complexType name="arcType">
<xs:group ref="xlink:arcModel"/> <xs:group ref="xlink:arcModel"/>
<xs:attributeGroup ref="xlink:arcAttrs"/> <xs:attributeGroup ref="xlink:arcAttrs"/>
</xs:complexType> </xs:complexType>
</xs:schema> </xs:schema>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--Modified by Ram Kumar (MSI) on 24 July 2002--> <!--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: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:annotation>
<xs:documentation>xAL: eXtensible Address Language <xs:documentation>xAL: eXtensible Address Language
This is an XML document type definition (DTD) for This is an XML document type definition (DTD) for
defining addresses. defining addresses.
Original Date of Creation: 1 March 2001 Original Date of Creation: 1 March 2001
Copyright(c) 2000, OASIS. All Rights Reserved [http://www.oasis-open.org] Copyright(c) 2000, OASIS. All Rights Reserved [http://www.oasis-open.org]
Contact: Customer Information Quality Technical Committee, OASIS Contact: Customer Information Quality Technical Committee, OASIS
http://www.oasis-open.org/committees/ciq http://www.oasis-open.org/committees/ciq
VERSION: 2.0 [MAJOR RELEASE] Date of Creation: 01 May 2002 VERSION: 2.0 [MAJOR RELEASE] Date of Creation: 01 May 2002
Last Update: 24 July 2002 Last Update: 24 July 2002
Previous Version: 1.3</xs:documentation> Previous Version: 1.3</xs:documentation>
</xs:annotation> </xs:annotation>
<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 <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> Code:Address element codes are used by groups like postal groups like ECCMA, ADIS, UN/PROLIST for postal services</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:attributeGroup name="grPostal"> <xs:attributeGroup name="grPostal">
<xs:attribute name="Code"> <xs:attribute name="Code">
<xs:annotation> <xs:annotation>
<xs:documentation>Used by postal services to encode the name of the element.</xs:documentation> <xs:documentation>Used by postal services to encode the name of the element.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
</xs:attributeGroup> </xs:attributeGroup>
<xs:element name="xAL"> <xs:element name="xAL">
<xs:annotation> <xs:annotation>
<xs:documentation>Root element for a list of addresses</xs:documentation> <xs:documentation>Root element for a list of addresses</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressDetails" maxOccurs="unbounded"/> <xs:element ref="AddressDetails" maxOccurs="unbounded"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Version"> <xs:attribute name="Version">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to DTD to specify the version number of DTD</xs:documentation> <xs:documentation>Specific to DTD to specify the version number of DTD</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AddressDetails" type="AddressDetails"> <xs:element name="AddressDetails" type="AddressDetails">
<xs:annotation> <xs:annotation>
<xs:documentation>This container defines the details of the address. Can define multiple addresses including tracking address history</xs:documentation> <xs:documentation>This container defines the details of the address. Can define multiple addresses including tracking address history</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:complexType name="AddressDetails"> <xs:complexType name="AddressDetails">
<xs:sequence> <xs:sequence>
<xs:element name="PostalServiceElements" minOccurs="0"> <xs:element name="PostalServiceElements" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Postal authorities use specific postal service data to expedient delivery of mail</xs:documentation> <xs:documentation>Postal authorities use specific postal service data to expedient delivery of mail</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="AddressIdentifier" minOccurs="0" maxOccurs="unbounded"> <xs:element name="AddressIdentifier" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>A unique identifier of an address assigned by postal authorities. Example: DPID in Australia</xs:documentation> <xs:documentation>A unique identifier of an address assigned by postal authorities. Example: DPID in Australia</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="IdentifierType"> <xs:attribute name="IdentifierType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type of identifier. eg. DPID as in Australia</xs:documentation> <xs:documentation>Type of identifier. eg. DPID as in Australia</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="EndorsementLineCode" minOccurs="0"> <xs:element name="EndorsementLineCode" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Directly affects postal service distribution</xs:documentation> <xs:documentation>Directly affects postal service distribution</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="KeyLineCode" minOccurs="0"> <xs:element name="KeyLineCode" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Required for some postal services</xs:documentation> <xs:documentation>Required for some postal services</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Barcode" minOccurs="0"> <xs:element name="Barcode" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Required for some postal services</xs:documentation> <xs:documentation>Required for some postal services</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="SortingCode" minOccurs="0"> <xs:element name="SortingCode" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Used for sorting addresses. Values may for example be CEDEX 16 (France)</xs:documentation> <xs:documentation>Used for sorting addresses. Values may for example be CEDEX 16 (France)</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AddressLatitude" minOccurs="0"> <xs:element name="AddressLatitude" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Latitude of delivery address</xs:documentation> <xs:documentation>Latitude of delivery address</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AddressLatitudeDirection" minOccurs="0"> <xs:element name="AddressLatitudeDirection" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Latitude direction of delivery address;N = North and S = South</xs:documentation> <xs:documentation>Latitude direction of delivery address;N = North and S = South</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AddressLongitude" minOccurs="0"> <xs:element name="AddressLongitude" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Longtitude of delivery address</xs:documentation> <xs:documentation>Longtitude of delivery address</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AddressLongitudeDirection" minOccurs="0"> <xs:element name="AddressLongitudeDirection" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Longtitude direction of delivery address;N=North and S=South</xs:documentation> <xs:documentation>Longtitude direction of delivery address;N=North and S=South</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="SupplementaryPostalServiceData" minOccurs="0" maxOccurs="unbounded"> <xs:element name="SupplementaryPostalServiceData" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>any postal service elements not covered by the container can be represented using this element</xs:documentation> <xs:documentation>any postal service elements not covered by the container can be represented using this element</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Specific to postal service</xs:documentation> <xs:documentation>Specific to postal service</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>USPS, ECMA, UN/PROLIST, etc</xs:documentation> <xs:documentation>USPS, ECMA, UN/PROLIST, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:annotation> <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:documentation>Use the most suitable option. Country contains the most detailed information while Locality is missing Country and AdminArea</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:element name="Address"> <xs:element name="Address">
<xs:annotation> <xs:annotation>
<xs:documentation>Address as one line of free text</xs:documentation> <xs:documentation>Address as one line of free text</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Postal, residential, corporate, etc</xs:documentation> <xs:documentation>Postal, residential, corporate, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AddressLines" type="AddressLinesType"> <xs:element name="AddressLines" type="AddressLinesType">
<xs:annotation> <xs:annotation>
<xs:documentation>Container for Address lines</xs:documentation> <xs:documentation>Container for Address lines</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="Country"> <xs:element name="Country">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of a country</xs:documentation> <xs:documentation>Specification of a country</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CountryNameCode" minOccurs="0" maxOccurs="unbounded"> <xs:element name="CountryNameCode" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>A country code according to the specified scheme</xs:documentation> <xs:documentation>A country code according to the specified scheme</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Scheme"> <xs:attribute name="Scheme">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="CountryName" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="CountryName" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:element ref="AdministrativeArea"/> <xs:element ref="AdministrativeArea"/>
<xs:element ref="Locality"/> <xs:element ref="Locality"/>
<xs:element ref="Thoroughfare"/> <xs:element ref="Thoroughfare"/>
</xs:choice> </xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="AdministrativeArea"/> <xs:element ref="AdministrativeArea"/>
<xs:element ref="Locality"/> <xs:element ref="Locality"/>
<xs:element ref="Thoroughfare"/> <xs:element ref="Thoroughfare"/>
</xs:choice> </xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="AddressType"> <xs:attribute name="AddressType">
<xs:annotation> <xs:annotation>
<xs:documentation>Type of address. Example: Postal, residential,business, primary, secondary, etc</xs:documentation> <xs:documentation>Type of address. Example: Postal, residential,business, primary, secondary, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="CurrentStatus"> <xs:attribute name="CurrentStatus">
<xs:annotation> <xs:annotation>
<xs:documentation>Moved, Living, Investment, Deceased, etc..</xs:documentation> <xs:documentation>Moved, Living, Investment, Deceased, etc..</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="ValidFromDate"> <xs:attribute name="ValidFromDate">
<xs:annotation> <xs:annotation>
<xs:documentation>Start Date of the validity of address</xs:documentation> <xs:documentation>Start Date of the validity of address</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="ValidToDate"> <xs:attribute name="ValidToDate">
<xs:annotation> <xs:annotation>
<xs:documentation>End date of the validity of address</xs:documentation> <xs:documentation>End date of the validity of address</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Usage"> <xs:attribute name="Usage">
<xs:annotation> <xs:annotation>
<xs:documentation>Communication, Contact, etc.</xs:documentation> <xs:documentation>Communication, Contact, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:attribute name="AddressDetailsKey"> <xs:attribute name="AddressDetailsKey">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="AddressLinesType"> <xs:complexType name="AddressLinesType">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" maxOccurs="unbounded"/> <xs:element ref="AddressLine" maxOccurs="unbounded"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="BuildingNameType" mixed="true"> <xs:complexType name="BuildingNameType" mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence"> <xs:attribute name="TypeOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>Occurrence of the building name before/after the type. eg. EGIS BUILDING where name appears before type</xs:documentation> <xs:documentation>Occurrence of the building name before/after the type. eg. EGIS BUILDING where name appears before type</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="DependentLocalityType"> <xs:complexType name="DependentLocalityType">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DependentLocalityName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="DependentLocalityName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Name of the dependent locality</xs:documentation> <xs:documentation>Name of the dependent locality</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="DependentLocalityNumber" minOccurs="0"> <xs:element name="DependentLocalityNumber" minOccurs="0">
<xs:annotation> <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: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:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NameNumberOccurrence"> <xs:attribute name="NameNumberOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>Eg. SECTOR occurs before 5 in SECTOR 5</xs:documentation> <xs:documentation>Eg. SECTOR occurs before 5 in SECTOR 5</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:element ref="PostBox"/> <xs:element ref="PostBox"/>
<xs:element name="LargeMailUser" type="LargeMailUserType"> <xs:element name="LargeMailUser" type="LargeMailUserType">
<xs:annotation> <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: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:annotation>
</xs:element> </xs:element>
<xs:element ref="PostOffice"/> <xs:element ref="PostOffice"/>
<xs:element name="PostalRoute" type="PostalRouteType"> <xs:element name="PostalRoute" type="PostalRouteType">
<xs:annotation> <xs:annotation>
<xs:documentation> A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation> <xs:documentation> A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
</xs:choice> </xs:choice>
<xs:element ref="Thoroughfare" minOccurs="0"/> <xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/> <xs:element ref="Premise" minOccurs="0"/>
<xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0"> <xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal <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> 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:annotation>
</xs:element> </xs:element>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>City or IndustrialEstate, etc</xs:documentation> <xs:documentation>City or IndustrialEstate, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="UsageType"> <xs:attribute name="UsageType">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Connector"> <xs:attribute name="Connector">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>Eg. Erode (Dist) where (Dist) is the Indicator</xs:documentation> <xs:documentation>Eg. Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="FirmType"> <xs:complexType name="FirmType">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="FirmName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="FirmName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Name of the firm</xs:documentation> <xs:documentation>Name of the firm</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element ref="Department" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Department" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MailStop" type="MailStopType" minOccurs="0"> <xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation> <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:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="LargeMailUserType"> <xs:complexType name="LargeMailUserType">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="LargeMailUserName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="LargeMailUserName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Name of the large mail user. eg. Smith Ford International airport</xs:documentation> <xs:documentation>Name of the large mail user. eg. Smith Ford International airport</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type" type="xs:string"> <xs:attribute name="Type" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation>Airport, Hospital, etc</xs:documentation> <xs:documentation>Airport, Hospital, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Code" type="xs:string"/> <xs:attribute name="Code" type="xs:string"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="LargeMailUserIdentifier" minOccurs="0"> <xs:element name="LargeMailUserIdentifier" minOccurs="0">
<xs:annotation> <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:documentation>Specification of the identification number of a large mail user. An example are the Cedex codes in France.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type" type="xs:string"> <xs:attribute name="Type" type="xs:string">
<xs:annotation> <xs:annotation>
<xs:documentation>CEDEX Code</xs:documentation> <xs:documentation>CEDEX Code</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>eg. Building 429 in which Building is the Indicator</xs:documentation> <xs:documentation>eg. Building 429 in which Building is the Indicator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded"> <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Name of the building</xs:documentation> <xs:documentation>Name of the building</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="Department" minOccurs="0"/> <xs:element ref="Department" minOccurs="0"/>
<xs:element ref="PostBox" minOccurs="0"/> <xs:element ref="PostBox" minOccurs="0"/>
<xs:element ref="Thoroughfare" minOccurs="0"/> <xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type" type="xs:string"/> <xs:attribute name="Type" type="xs:string"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="MailStopType"> <xs:complexType name="MailStopType">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="MailStopName" minOccurs="0"> <xs:element name="MailStopName" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Name of the the Mail Stop. eg. MSP, MS, etc</xs:documentation> <xs:documentation>Name of the the Mail Stop. eg. MSP, MS, etc</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="MailStopNumber" minOccurs="0"> <xs:element name="MailStopNumber" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Number of the Mail stop. eg. 123 in MS 123</xs:documentation> <xs:documentation>Number of the Mail stop. eg. 123 in MS 123</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NameNumberSeparator"> <xs:attribute name="NameNumberSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>"-" in MS-123</xs:documentation> <xs:documentation>"-" in MS-123</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="PostalRouteType"> <xs:complexType name="PostalRouteType">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice> <xs:choice>
<xs:element name="PostalRouteName" maxOccurs="unbounded"> <xs:element name="PostalRouteName" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation> Name of the Postal Route</xs:documentation> <xs:documentation> Name of the Postal Route</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostalRouteNumber"> <xs:element name="PostalRouteNumber">
<xs:annotation> <xs:annotation>
<xs:documentation> Number of the Postal Route</xs:documentation> <xs:documentation> Number of the Postal Route</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:choice> </xs:choice>
<xs:element ref="PostBox" minOccurs="0"/> <xs:element ref="PostBox" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="SubPremiseType"> <xs:complexType name="SubPremiseType">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SubPremiseName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="SubPremiseName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation> Name of the SubPremise</xs:documentation> <xs:documentation> Name of the SubPremise</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence"> <xs:attribute name="TypeOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>EGIS Building where EGIS occurs before Building</xs:documentation> <xs:documentation>EGIS Building where EGIS occurs before Building</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:element name="SubPremiseLocation"> <xs:element name="SubPremiseLocation">
<xs:annotation> <xs:annotation>
<xs:documentation> Name of the SubPremise Location. eg. LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation> <xs:documentation> Name of the SubPremise Location. eg. LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="SubPremiseNumber" minOccurs="0" maxOccurs="unbounded"> <xs:element name="SubPremiseNumber" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <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 <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 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> number or a single letter that is surrounded by fixed parts at the left (prefix) or the right (postfix).</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>"TH" in 12TH which is a floor number, "NO." in NO.1, "#" in APT #12, etc.</xs:documentation> <xs:documentation>"TH" in 12TH which is a floor number, "NO." in NO.1, "#" in APT #12, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="IndicatorOccurrence"> <xs:attribute name="IndicatorOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>"No." occurs before 1 in No.1, or TH occurs after 12 in 12TH</xs:documentation> <xs:documentation>"No." occurs before 1 in No.1, or TH occurs after 12 in 12TH</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="NumberTypeOccurrence"> <xs:attribute name="NumberTypeOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>12TH occurs "before" FLOOR (a type of subpremise) in 12TH FLOOR</xs:documentation> <xs:documentation>12TH occurs "before" FLOOR (a type of subpremise) in 12TH FLOOR</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="PremiseNumberSeparator"> <xs:attribute name="PremiseNumberSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>"/" in 12/14 Archer Street where 12 is sub-premise number and 14 is premise number</xs:documentation> <xs:documentation>"/" in 12/14 Archer Street where 12 is sub-premise number and 14 is premise number</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:choice> </xs:choice>
<xs:element name="SubPremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"> <xs:element name="SubPremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation> Prefix of the sub premise number. eg. A in A-12</xs:documentation> <xs:documentation> Prefix of the sub premise number. eg. A in A-12</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberPrefixSeparator"> <xs:attribute name="NumberPrefixSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation> <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="SubPremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"> <xs:element name="SubPremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation> Suffix of the sub premise number. eg. A in 12A</xs:documentation> <xs:documentation> Suffix of the sub premise number. eg. A in 12A</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator"> <xs:attribute name="NumberSuffixSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation> <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded"> <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Name of the building</xs:documentation> <xs:documentation>Name of the building</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0"> <xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation> <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: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:annotation>
</xs:element> </xs:element>
<xs:element name="MailStop" type="MailStopType" minOccurs="0"> <xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation> <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:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:element name="SubPremise" type="SubPremiseType" minOccurs="0"> <xs:element name="SubPremise" type="SubPremiseType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites. <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 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> Multiple levels within a premise by recursively calling SubPremise Eg. Level 4, Suite 2, Block C</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="ThoroughfareLeadingTypeType" mixed="true"> <xs:complexType name="ThoroughfareLeadingTypeType" mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="ThoroughfareNameType" mixed="true"> <xs:complexType name="ThoroughfareNameType" mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="ThoroughfarePostDirectionType" mixed="true"> <xs:complexType name="ThoroughfarePostDirectionType" mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="ThoroughfarePreDirectionType" mixed="true"> <xs:complexType name="ThoroughfarePreDirectionType" mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:complexType name="ThoroughfareTrailingTypeType" mixed="true"> <xs:complexType name="ThoroughfareTrailingTypeType" mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
<xs:element name="AddressLine"> <xs:element name="AddressLine">
<xs:annotation> <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: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:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Defines the type of address line. eg. Street, Address Line 1, etc.</xs:documentation> <xs:documentation>Defines the type of address line. eg. Street, Address Line 1, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Locality"> <xs:element name="Locality">
<xs:annotation> <xs:annotation>
<xs:documentation>Locality is one level lower than adminisstrative area. Eg.: cities, reservations and any other built-up areas.</xs:documentation> <xs:documentation>Locality is one level lower than adminisstrative area. Eg.: cities, reservations and any other built-up areas.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="LocalityName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="LocalityName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Name of the locality</xs:documentation> <xs:documentation>Name of the locality</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:element ref="PostBox"/> <xs:element ref="PostBox"/>
<xs:element name="LargeMailUser" type="LargeMailUserType"> <xs:element name="LargeMailUser" type="LargeMailUserType">
<xs:annotation> <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: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:annotation>
</xs:element> </xs:element>
<xs:element ref="PostOffice"/> <xs:element ref="PostOffice"/>
<xs:element name="PostalRoute" type="PostalRouteType"> <xs:element name="PostalRoute" type="PostalRouteType">
<xs:annotation> <xs:annotation>
<xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation> <xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
</xs:choice> </xs:choice>
<xs:element ref="Thoroughfare" minOccurs="0"/> <xs:element ref="Thoroughfare" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/> <xs:element ref="Premise" minOccurs="0"/>
<xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0"> <xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal <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> 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:annotation>
</xs:element> </xs:element>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Possible values not limited to: City, IndustrialEstate, etc</xs:documentation> <xs:documentation>Possible values not limited to: City, IndustrialEstate, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="UsageType"> <xs:attribute name="UsageType">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation> <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Thoroughfare"> <xs:element name="Thoroughfare">
<xs:annotation> <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 <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> 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:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ThoroughfareNumber"/> <xs:element ref="ThoroughfareNumber"/>
<xs:element name="ThoroughfareNumberRange"> <xs:element name="ThoroughfareNumberRange">
<xs:annotation> <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: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:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfareNumberFrom"> <xs:element name="ThoroughfareNumberFrom">
<xs:annotation> <xs:annotation>
<xs:documentation>Starting number in the range</xs:documentation> <xs:documentation>Starting number in the range</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/> <xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="ThoroughfareNumberTo"> <xs:element name="ThoroughfareNumberTo">
<xs:annotation> <xs:annotation>
<xs:documentation>Ending number in the range</xs:documentation> <xs:documentation>Ending number in the range</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/> <xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
<xs:attribute name="RangeType"> <xs:attribute name="RangeType">
<xs:annotation> <xs:annotation>
<xs:documentation>Thoroughfare number ranges are odd or even</xs:documentation> <xs:documentation>Thoroughfare number ranges are odd or even</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Odd"/> <xs:enumeration value="Odd"/>
<xs:enumeration value="Even"/> <xs:enumeration value="Even"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>"No." No.12-13</xs:documentation> <xs:documentation>"No." No.12-13</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Separator"> <xs:attribute name="Separator">
<xs:annotation> <xs:annotation>
<xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation> <xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="IndicatorOccurrence"> <xs:attribute name="IndicatorOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation> <xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="NumberRangeOccurrence"> <xs:attribute name="NumberRangeOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>23-25 Archer St, where number appears before name</xs:documentation> <xs:documentation>23-25 Archer St, where number appears before name</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/> <xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/> <xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/> <xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/> <xs:enumeration value="AfterType"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:choice> </xs:choice>
<xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0"> <xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation> <xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0"> <xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">
<xs:annotation> <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: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:annotation>
</xs:element> </xs:element>
<xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded"> <xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation> <xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0"> <xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation> <xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0"> <xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">
<xs:annotation> <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:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="DependentThoroughfare" minOccurs="0"> <xs:element name="DependentThoroughfare" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>DependentThroughfare is related to a street; occurs in GB, IE, ES, PT</xs:documentation> <xs:documentation>DependentThroughfare is related to a street; occurs in GB, IE, ES, PT</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0"> <xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation> <xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0"> <xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">
<xs:annotation> <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: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:annotation>
</xs:element> </xs:element>
<xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded"> <xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation> <xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0"> <xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation> <xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0"> <xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">
<xs:annotation> <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:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:element name="DependentLocality" type="DependentLocalityType"> <xs:element name="DependentLocality" type="DependentLocalityType">
<xs:annotation> <xs:annotation>
<xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal <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> 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:annotation>
</xs:element> </xs:element>
<xs:element ref="Premise"/> <xs:element ref="Premise"/>
<xs:element name="Firm" type="FirmType"> <xs:element name="Firm" type="FirmType">
<xs:annotation> <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 <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> a large mail user address, which contains no street.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="PostalCode"/> <xs:element ref="PostalCode"/>
</xs:choice> </xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attribute name="DependentThoroughfares"> <xs:attribute name="DependentThoroughfares">
<xs:annotation> <xs:annotation>
<xs:documentation>Does this thoroughfare have a a dependent thoroughfare? Corner of street X, etc</xs:documentation> <xs:documentation>Does this thoroughfare have a a dependent thoroughfare? Corner of street X, etc</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Yes"/> <xs:enumeration value="Yes"/>
<xs:enumeration value="No"/> <xs:enumeration value="No"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="DependentThoroughfaresIndicator"> <xs:attribute name="DependentThoroughfaresIndicator">
<xs:annotation> <xs:annotation>
<xs:documentation>Corner of, Intersection of</xs:documentation> <xs:documentation>Corner of, Intersection of</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="DependentThoroughfaresConnector"> <xs:attribute name="DependentThoroughfaresConnector">
<xs:annotation> <xs:annotation>
<xs:documentation>Corner of Street1 AND Street 2 where AND is the Connector</xs:documentation> <xs:documentation>Corner of Street1 AND Street 2 where AND is the Connector</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="DependentThoroughfaresType"> <xs:attribute name="DependentThoroughfaresType">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="AdministrativeArea"> <xs:element name="AdministrativeArea">
<xs:annotation> <xs:annotation>
<xs:documentation>Examples of administrative areas are provinces counties, special regions (such as "Rijnmond"), etc.</xs:documentation> <xs:documentation>Examples of administrative areas are provinces counties, special regions (such as "Rijnmond"), etc.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="AdministrativeAreaName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="AdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation> Name of the administrative area. eg. MI in USA, NSW in Australia</xs:documentation> <xs:documentation> Name of the administrative area. eg. MI in USA, NSW in Australia</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="SubAdministrativeArea" minOccurs="0"> <xs:element name="SubAdministrativeArea" minOccurs="0">
<xs:annotation> <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 <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> area can be specified and in this case, one becomes sub-administrative area.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SubAdministrativeAreaName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="SubAdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation> Name of the sub-administrative area</xs:documentation> <xs:documentation> Name of the sub-administrative area</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:element ref="Locality"/> <xs:element ref="Locality"/>
<xs:element ref="PostOffice"/> <xs:element ref="PostOffice"/>
<xs:element ref="PostalCode"/> <xs:element ref="PostalCode"/>
</xs:choice> </xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Province or State or County or Kanton, etc</xs:documentation> <xs:documentation>Province or State or County or Kanton, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="UsageType"> <xs:attribute name="UsageType">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation> <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:element ref="Locality"/> <xs:element ref="Locality"/>
<xs:element ref="PostOffice"/> <xs:element ref="PostOffice"/>
<xs:element ref="PostalCode"/> <xs:element ref="PostalCode"/>
</xs:choice> </xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Province or State or County or Kanton, etc</xs:documentation> <xs:documentation>Province or State or County or Kanton, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="UsageType"> <xs:attribute name="UsageType">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation> <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostOffice"> <xs:element name="PostOffice">
<xs:annotation> <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: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:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice> <xs:choice>
<xs:element name="PostOfficeName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="PostOfficeName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <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: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:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostOfficeNumber" minOccurs="0"> <xs:element name="PostOfficeNumber" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the number of the postoffice. Common in rural postoffices</xs:documentation> <xs:documentation>Specification of the number of the postoffice. Common in rural postoffices</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>MS in MS 62, # in MS # 12, etc.</xs:documentation> <xs:documentation>MS in MS 62, # in MS # 12, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="IndicatorOccurrence"> <xs:attribute name="IndicatorOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>MS occurs before 62 in MS 62</xs:documentation> <xs:documentation>MS occurs before 62 in MS 62</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:choice> </xs:choice>
<xs:element name="PostalRoute" type="PostalRouteType" minOccurs="0"> <xs:element name="PostalRoute" type="PostalRouteType" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation> <xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="PostBox" minOccurs="0"/> <xs:element ref="PostBox" minOccurs="0"/>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Could be a Mobile Postoffice Van as in Isreal</xs:documentation> <xs:documentation>Could be a Mobile Postoffice Van as in Isreal</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>eg. Kottivakkam (P.O) here (P.O) is the Indicator</xs:documentation> <xs:documentation>eg. Kottivakkam (P.O) here (P.O) is the Indicator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostalCode"> <xs:element name="PostalCode">
<xs:annotation> <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:documentation>PostalCode is the container element for either simple or complex (extended) postal codes. Type: Area Code, Postcode, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostalCodeNumber" minOccurs="0" maxOccurs="unbounded"> <xs:element name="PostalCodeNumber" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <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: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:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Old Postal Code, new code, etc</xs:documentation> <xs:documentation>Old Postal Code, new code, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostalCodeNumberExtension" minOccurs="0" maxOccurs="unbounded"> <xs:element name="PostalCodeNumberExtension" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Examples are: 1234 (USA), 1G (UK), etc.</xs:documentation> <xs:documentation>Examples are: 1234 (USA), 1G (UK), etc.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Delivery Point Suffix, New Postal Code, etc..</xs:documentation> <xs:documentation>Delivery Point Suffix, New Postal Code, etc..</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="NumberExtensionSeparator"> <xs:attribute name="NumberExtensionSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>The separator between postal code number and the extension. Eg. "-"</xs:documentation> <xs:documentation>The separator between postal code number and the extension. Eg. "-"</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostTown" minOccurs="0"> <xs:element name="PostTown" minOccurs="0">
<xs:annotation> <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: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:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostTownName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="PostTownName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Name of the post town</xs:documentation> <xs:documentation>Name of the post town</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostTownSuffix" minOccurs="0"> <xs:element name="PostTownSuffix" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>GENERAL PO in MIAMI GENERAL PO</xs:documentation> <xs:documentation>GENERAL PO in MIAMI GENERAL PO</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>eg. village, town, suburb, etc</xs:documentation> <xs:documentation>eg. village, town, suburb, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Area Code, Postcode, Delivery code as in NZ, etc</xs:documentation> <xs:documentation>Area Code, Postcode, Delivery code as in NZ, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostBox"> <xs:element name="PostBox">
<xs:annotation> <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: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:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PostBoxNumber"> <xs:element name="PostBoxNumber">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the number of a postbox</xs:documentation> <xs:documentation>Specification of the number of a postbox</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostBoxNumberPrefix" minOccurs="0"> <xs:element name="PostBoxNumberPrefix" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the prefix of the post box number. eg. A in POBox:A-123</xs:documentation> <xs:documentation>Specification of the prefix of the post box number. eg. A in POBox:A-123</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberPrefixSeparator"> <xs:attribute name="NumberPrefixSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation> <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostBoxNumberSuffix" minOccurs="0"> <xs:element name="PostBoxNumberSuffix" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the suffix of the post box number. eg. A in POBox:123A</xs:documentation> <xs:documentation>Specification of the suffix of the post box number. eg. A in POBox:123A</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator"> <xs:attribute name="NumberSuffixSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation> <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PostBoxNumberExtension" minOccurs="0"> <xs:element name="PostBoxNumberExtension" minOccurs="0">
<xs:annotation> <xs:annotation>
<xs:documentation>Some countries like USA have POBox as 12345-123</xs:documentation> <xs:documentation>Some countries like USA have POBox as 12345-123</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberExtensionSeparator"> <xs:attribute name="NumberExtensionSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>"-" is the NumberExtensionSeparator in POBOX:12345-123</xs:documentation> <xs:documentation>"-" is the NumberExtensionSeparator in POBOX:12345-123</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0"> <xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation> <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 <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> a large mail user address, which contains no street.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Possible values are, not limited to: POBox and Freepost.</xs:documentation> <xs:documentation>Possible values are, not limited to: POBox and Freepost.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>LOCKED BAG NO:1234 where the Indicator is NO: and Type is LOCKED BAG</xs:documentation> <xs:documentation>LOCKED BAG NO:1234 where the Indicator is NO: and Type is LOCKED BAG</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Department"> <xs:element name="Department">
<xs:annotation> <xs:annotation>
<xs:documentation>Subdivision in the firm: School of Physics at Victoria University (School of Physics is the department)</xs:documentation> <xs:documentation>Subdivision in the firm: School of Physics at Victoria University (School of Physics is the department)</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DepartmentName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="DepartmentName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the name of a department.</xs:documentation> <xs:documentation>Specification of the name of a department.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="MailStop" type="MailStopType" minOccurs="0"> <xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation> <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:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>School in Physics School, Division in Radiology division of school of physics</xs:documentation> <xs:documentation>School in Physics School, Division in Radiology division of school of physics</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Premise"> <xs:element name="Premise">
<xs:annotation> <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 <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> 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:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="PremiseName" minOccurs="0" maxOccurs="unbounded"> <xs:element name="PremiseName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <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: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:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attribute name="TypeOccurrence"> <xs:attribute name="TypeOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>EGIS Building where EGIS occurs before Building, DES JARDINS occurs after COMPLEXE DES JARDINS</xs:documentation> <xs:documentation>EGIS Building where EGIS occurs before Building, DES JARDINS occurs after COMPLEXE DES JARDINS</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice minOccurs="0"> <xs:choice minOccurs="0">
<xs:element name="PremiseLocation"> <xs:element name="PremiseLocation">
<xs:annotation> <xs:annotation>
<xs:documentation>LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation> <xs:documentation>LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:choice> <xs:choice>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/> <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element name="PremiseNumberRange"> <xs:element name="PremiseNumberRange">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification for defining the premise number range. Some premises have number as Building C1-C7</xs:documentation> <xs:documentation>Specification for defining the premise number range. Some premises have number as Building C1-C7</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="PremiseNumberRangeFrom"> <xs:element name="PremiseNumberRangeFrom">
<xs:annotation> <xs:annotation>
<xs:documentation>Start number details of the premise number range</xs:documentation> <xs:documentation>Start number details of the premise number range</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/> <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PremiseNumberRangeTo"> <xs:element name="PremiseNumberRangeTo">
<xs:annotation> <xs:annotation>
<xs:documentation>End number details of the premise number range</xs:documentation> <xs:documentation>End number details of the premise number range</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumber" maxOccurs="unbounded"/> <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
<xs:attribute name="RangeType"> <xs:attribute name="RangeType">
<xs:annotation> <xs:annotation>
<xs:documentation>Eg. Odd or even number range</xs:documentation> <xs:documentation>Eg. Odd or even number range</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>Eg. No. in Building No:C1-C5</xs:documentation> <xs:documentation>Eg. No. in Building No:C1-C5</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Separator"> <xs:attribute name="Separator">
<xs:annotation> <xs:annotation>
<xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation> <xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attribute name="IndicatorOccurence"> <xs:attribute name="IndicatorOccurence">
<xs:annotation> <xs:annotation>
<xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation> <xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="NumberRangeOccurence"> <xs:attribute name="NumberRangeOccurence">
<xs:annotation> <xs:annotation>
<xs:documentation>Building 23-25 where the number occurs after building name</xs:documentation> <xs:documentation>Building 23-25 where the number occurs after building name</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/> <xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/> <xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/> <xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/> <xs:enumeration value="AfterType"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:choice> </xs:choice>
</xs:choice> </xs:choice>
<xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded"> <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the name of a building.</xs:documentation> <xs:documentation>Specification of the name of a building.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:choice> <xs:choice>
<xs:element name="SubPremise" type="SubPremiseType" minOccurs="0" maxOccurs="unbounded"> <xs:element name="SubPremise" type="SubPremiseType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation> <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: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:annotation>
</xs:element> </xs:element>
<xs:element name="Firm" type="FirmType" minOccurs="0"> <xs:element name="Firm" type="FirmType" minOccurs="0">
<xs:annotation> <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: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:annotation>
</xs:element> </xs:element>
</xs:choice> </xs:choice>
<xs:element name="MailStop" type="MailStopType" minOccurs="0"> <xs:element name="MailStop" type="MailStopType" minOccurs="0">
<xs:annotation> <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:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:element> </xs:element>
<xs:element ref="PostalCode" minOccurs="0"/> <xs:element ref="PostalCode" minOccurs="0"/>
<xs:element ref="Premise" minOccurs="0"/> <xs:element ref="Premise" minOccurs="0"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>COMPLEXE in COMPLEX DES JARDINS, A building, station, etc</xs:documentation> <xs:documentation>COMPLEXE in COMPLEX DES JARDINS, A building, station, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="PremiseDependency"> <xs:attribute name="PremiseDependency">
<xs:annotation> <xs:annotation>
<xs:documentation>STREET, PREMISE, SUBPREMISE, PARK, FARM, etc</xs:documentation> <xs:documentation>STREET, PREMISE, SUBPREMISE, PARK, FARM, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="PremiseDependencyType"> <xs:attribute name="PremiseDependencyType">
<xs:annotation> <xs:annotation>
<xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation> <xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="PremiseThoroughfareConnector"> <xs:attribute name="PremiseThoroughfareConnector">
<xs:annotation> <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: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:annotation>
</xs:attribute> </xs:attribute>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="ThoroughfareNumberPrefix"> <xs:element name="ThoroughfareNumberPrefix">
<xs:annotation> <xs:annotation>
<xs:documentation>Prefix before the number. A in A12 Archer Street</xs:documentation> <xs:documentation>Prefix before the number. A in A12 Archer Street</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:annotation> <xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation> <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:attribute name="NumberPrefixSeparator"/> <xs:attribute name="NumberPrefixSeparator"/>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="ThoroughfareNumberSuffix"> <xs:element name="ThoroughfareNumberSuffix">
<xs:annotation> <xs:annotation>
<xs:documentation>Suffix after the number. A in 12A Archer Street</xs:documentation> <xs:documentation>Suffix after the number. A in 12A Archer Street</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator"> <xs:attribute name="NumberSuffixSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation> <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:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="ThoroughfareNumber"> <xs:element name="ThoroughfareNumber">
<xs:annotation> <xs:annotation>
<xs:documentation>Eg.: 23 Archer street or 25/15 Zero Avenue, etc</xs:documentation> <xs:documentation>Eg.: 23 Archer street or 25/15 Zero Avenue, etc</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberType"> <xs:attribute name="NumberType">
<xs:annotation> <xs:annotation>
<xs:documentation>12 Archer Street is "Single" and 12-14 Archer Street is "Range"</xs:documentation> <xs:documentation>12 Archer Street is "Single" and 12-14 Archer Street is "Range"</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Single"/> <xs:enumeration value="Single"/>
<xs:enumeration value="Range"/> <xs:enumeration value="Range"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>No. in Street No.12 or "#" in Street # 12, etc.</xs:documentation> <xs:documentation>No. in Street No.12 or "#" in Street # 12, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="IndicatorOccurrence"> <xs:attribute name="IndicatorOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>No.12 where "No." is before actual street number</xs:documentation> <xs:documentation>No.12 where "No." is before actual street number</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="NumberOccurrence"> <xs:attribute name="NumberOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>23 Archer St, Archer Street 23, St Archer 23</xs:documentation> <xs:documentation>23 Archer St, Archer Street 23, St Archer 23</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BeforeName"/> <xs:enumeration value="BeforeName"/>
<xs:enumeration value="AfterName"/> <xs:enumeration value="AfterName"/>
<xs:enumeration value="BeforeType"/> <xs:enumeration value="BeforeType"/>
<xs:enumeration value="AfterType"/> <xs:enumeration value="AfterType"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PremiseNumber"> <xs:element name="PremiseNumber">
<xs:annotation> <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: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:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberType"> <xs:attribute name="NumberType">
<xs:annotation> <xs:annotation>
<xs:documentation>Building 12-14 is "Range" and Building 12 is "Single"</xs:documentation> <xs:documentation>Building 12-14 is "Range" and Building 12 is "Single"</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Single"/> <xs:enumeration value="Single"/>
<xs:enumeration value="Range"/> <xs:enumeration value="Range"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attribute name="Indicator"> <xs:attribute name="Indicator">
<xs:annotation> <xs:annotation>
<xs:documentation>No. in House No.12, # in #12, etc.</xs:documentation> <xs:documentation>No. in House No.12, # in #12, etc.</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="IndicatorOccurrence"> <xs:attribute name="IndicatorOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>No. occurs before 12 No.12</xs:documentation> <xs:documentation>No. occurs before 12 No.12</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attribute name="NumberTypeOccurrence"> <xs:attribute name="NumberTypeOccurrence">
<xs:annotation> <xs:annotation>
<xs:documentation>12 in BUILDING 12 occurs "after" premise type BUILDING</xs:documentation> <xs:documentation>12 in BUILDING 12 occurs "after" premise type BUILDING</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:NMTOKEN"> <xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Before"/> <xs:enumeration value="Before"/>
<xs:enumeration value="After"/> <xs:enumeration value="After"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PremiseNumberPrefix"> <xs:element name="PremiseNumberPrefix">
<xs:annotation> <xs:annotation>
<xs:documentation>A in A12</xs:documentation> <xs:documentation>A in A12</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:simpleContent> <xs:simpleContent>
<xs:extension base="xs:string"> <xs:extension base="xs:string">
<xs:attribute name="NumberPrefixSeparator"> <xs:attribute name="NumberPrefixSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation> <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:extension> </xs:extension>
</xs:simpleContent> </xs:simpleContent>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="PremiseNumberSuffix"> <xs:element name="PremiseNumberSuffix">
<xs:annotation> <xs:annotation>
<xs:documentation>A in 12A</xs:documentation> <xs:documentation>A in 12A</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="NumberSuffixSeparator"> <xs:attribute name="NumberSuffixSeparator">
<xs:annotation> <xs:annotation>
<xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation> <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attribute name="Type"/> <xs:attribute name="Type"/>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="CountryName"> <xs:element name="CountryName">
<xs:annotation> <xs:annotation>
<xs:documentation>Specification of the name of a country.</xs:documentation> <xs:documentation>Specification of the name of a country.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType mixed="true"> <xs:complexType mixed="true">
<xs:attribute name="Type"> <xs:attribute name="Type">
<xs:annotation> <xs:annotation>
<xs:documentation>Old name, new name, etc</xs:documentation> <xs:documentation>Old name, new name, etc</xs:documentation>
</xs:annotation> </xs:annotation>
</xs:attribute> </xs:attribute>
<xs:attributeGroup ref="grPostal"/> <xs:attributeGroup ref="grPostal"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:schema> </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