VMS DARS status (DATEX II v3.3)

DATEX II shema

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:com="http://datex2.eu/schema/3/common" version="3.3" targetNamespace="http://datex2.eu/schema/3/common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="_ConfidentialityValueEnum">
    <xs:simpleContent>
      <xs:extension base="com:ConfidentialityValueEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ExtensionType">
    <xs:sequence>
      <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_InformationDeliveryServicesEnum">
    <xs:simpleContent>
      <xs:extension base="com:InformationDeliveryServicesEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_InformationStatusEnum">
    <xs:simpleContent>
      <xs:extension base="com:InformationStatusEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_UrlLinkTypeEnum">
    <xs:simpleContent>
      <xs:extension base="com:UrlLinkTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="AngleInDegrees">
    <xs:annotation>
      <xs:documentation>An integer number representing an angle in whole degrees between 0 and 359.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:NonNegativeInteger">
      <xs:minInclusive value="0" />
      <xs:maxInclusive value="359" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Base64Binary">
    <xs:annotation>
      <xs:documentation>Binary data in base 64 encoding, for example for image data.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:base64Binary" />
  </xs:simpleType>
  <xs:simpleType name="Boolean">
    <xs:annotation>
      <xs:documentation>Boolean has the value space required to support the mathematical concept of binary-valued logic: {true, false}. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:boolean" />
  </xs:simpleType>
  <xs:simpleType name="ConfidentialityValueEnum">
    <xs:annotation>
      <xs:documentation>Values of confidentiality.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="internalUse">
        <xs:annotation>
          <xs:documentation>For internal use only of the recipient organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noRestriction">
        <xs:annotation>
          <xs:documentation>No restriction on usage.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictedToAuthorities">
        <xs:annotation>
          <xs:documentation>Restricted for use only by authorities.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictedToAuthoritiesAndTrafficOperators">
        <xs:annotation>
          <xs:documentation>Restricted for use only by authorities and traffic operators.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CountryCode">
    <xs:annotation>
      <xs:documentation>EN ISO 3166-1 alpha-2 two-letter country code</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:String">
      <xs:maxLength value="2" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DateTime">
    <xs:annotation>
      <xs:documentation>A combination of integer-valued year, month, day, hour, minute properties, a decimal-valued second property and a time zone property from which it is possible to determine the local time, the equivalent UTC time and the time zone offset from UTC.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:dateTime" />
  </xs:simpleType>
  <xs:simpleType name="Decimal">
    <xs:annotation>
      <xs:documentation>A decimal number whose value space is the set of numbers that can be obtained by multiplying an integer by a non-positive power of ten, i.e., expressible as i × 10^-n where i and n are integers and n &gt;= 0.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:decimal" />
  </xs:simpleType>
  <xs:complexType name="Fault">
    <xs:annotation>
      <xs:documentation>Information about a fault relating to a specific piece of equipment or process.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="faultLastUpdateTime" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date and time at which the fault information as specified in this instance was last updated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_faultExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Float">
    <xs:annotation>
      <xs:documentation>A floating point number whose value space consists of the values m × 2^e, where m is an integer whose absolute value is less than 2^24, and e is an integer between -149 and 104, inclusive.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:complexType name="HeaderInformation">
    <xs:annotation>
      <xs:documentation>Management information relating to the data contained within a publication.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="confidentiality" type="com:_ConfidentialityValueEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The extent to which the related information may be circulated, according to the recipient type.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="allowedDeliveryChannel" type="com:_InformationDeliveryServicesEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The allowed delivery channel.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="informationStatus" type="com:_InformationStatusEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The status of the related information (real, test, exercise ....).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_headerInformationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="InformationDeliveryServicesEnum">
    <xs:annotation>
      <xs:documentation>List of service channels or devices on which information or data exchanged can be delivered.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="anyGeneralDeliveryService">
        <xs:annotation>
          <xs:documentation>Includes any general delivery channel such as broadcast channels (e.g. radio, tv, RDS-TMC, TPEG services, etc.) or web publishing available to public or to specific users, depending on Service Provider policies.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="safetyServices">
        <xs:annotation>
          <xs:documentation>Specific services which deliver warning alerts to end users to enhance safety via any specific application available to drivers, including C-ITS services.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vms">
        <xs:annotation>
          <xs:documentation>Variable Message Signs or any other visual roadside devices which information are accessible to drivers which aim to affect driving style improving safety and road network LoS.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InformationStatusEnum">
    <xs:annotation>
      <xs:documentation>Status of the related information (i.e. real, test or exercise).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="real">
        <xs:annotation>
          <xs:documentation>The information is real. It is not a test or exercise.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="securityExercise">
        <xs:annotation>
          <xs:documentation>The information is part of an exercise which is for testing security.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="technicalExercise">
        <xs:annotation>
          <xs:documentation>The information is part of an exercise which includes tests of associated technical subsystems.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="test">
        <xs:annotation>
          <xs:documentation>The information is part of a test for checking the exchange of this type of information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Integer">
    <xs:annotation>
      <xs:documentation>An integer number whose value space is the set {-2147483648, -2147483647, -2147483646, ..., -2, -1, 0, 1, 2, ..., 2147483645, 2147483646, 2147483647}.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:integer" />
  </xs:simpleType>
  <xs:complexType name="InternationalIdentifier">
    <xs:annotation>
      <xs:documentation>An identifier/name whose range is specific to the particular country.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="country" type="com:CountryCode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>EN ISO 3166-1 two-character country code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="nationalIdentifier" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifier or name unique within the specified country.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_internationalIdentifierExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Language">
    <xs:annotation>
      <xs:documentation>A language datatype, identifies a specified language by an ISO 639-1 2-alpha code.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:language" />
  </xs:simpleType>
  <xs:simpleType name="LongString">
    <xs:annotation>
      <xs:documentation>A character string with no specified length limit, whose value space is the set of finite-length sequences of characters. Every character has a corresponding Universal Character Set code point (as defined in ISO/IEC 10646), which is an integer.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string" />
  </xs:simpleType>
  <xs:simpleType name="MetresAsFloat">
    <xs:annotation>
      <xs:documentation>A measure of distance defined in metres in a floating point format.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
  <xs:simpleType name="MetresAsNonNegativeInteger">
    <xs:annotation>
      <xs:documentation>A measure of distance defined in metres in a non negative integer format.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="MultilingualString">
    <xs:sequence>
      <xs:element name="values">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="com:MultilingualStringValue" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MultilingualStringValue">
    <xs:simpleContent>
      <xs:extension base="com:MultilingualStringValueType">
        <xs:attribute name="lang" type="xs:language" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="MultilingualStringValueType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1024" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NamedArea" abstract="true">
    <xs:annotation>
      <xs:documentation>An abstract hook class to hook in a model for a named area.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_namedAreaExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="NonNegativeInteger">
    <xs:annotation>
      <xs:documentation>An integer number whose value space is the set {0, 1, 2, ..., 2147483645, 2147483646, 2147483647}.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:nonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="PayloadPublication" abstract="true">
    <xs:annotation>
      <xs:documentation>A payload publication of traffic related information or associated management information created at a specific point in time that can be exchanged via a DATEX II interface.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="publicationTime" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Date/time at which the payload publication was created.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="publicationCreator" type="com:InternationalIdentifier" />
      <xs:element name="_payloadPublicationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="lang" type="com:Language" use="required">
      <xs:annotation>
        <xs:documentation>The default language used throughout the payload publication.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="modelBaseVersion" type="xs:string" use="required" fixed="3" />
    <xs:attribute name="extensionName" type="xs:string" use="optional" />
    <xs:attribute name="extensionVersion" type="xs:string" use="optional" />
    <xs:attribute name="profileName" type="xs:string" use="optional" />
    <xs:attribute name="profileVersion" type="xs:string" use="optional" />
  </xs:complexType>
  <xs:simpleType name="Percentage">
    <xs:annotation>
      <xs:documentation>A measure of percentage.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
  <xs:complexType name="Reference">
    <xs:attribute name="id" type="xs:string" use="required" />
  </xs:complexType>
  <xs:simpleType name="Seconds">
    <xs:annotation>
      <xs:documentation>Seconds.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
  <xs:simpleType name="String">
    <xs:annotation>
      <xs:documentation>A character string whose value space is the set of finite-length sequences of characters. Every character has a corresponding Universal Character Set code point (as defined in ISO/IEC 10646), which is an integer.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="1024" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Url">
    <xs:annotation>
      <xs:documentation>A Uniform Resource Locator (URL) address comprising a compact string of characters for a resource available on the Internet.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:anyURI" />
  </xs:simpleType>
  <xs:complexType name="UrlLink">
    <xs:annotation>
      <xs:documentation>Details of a Uniform Resource Locator (URL) address pointing to a resource available on the Internet from where further relevant information may be obtained.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="urlLinkAddress" type="com:Url" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A Uniform Resource Locator (URL) address pointing to a resource available on the Internet from where further relevant information may be obtained.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="urlLinkDescription" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Description of the relevant information available on the Internet from the URL link.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="urlLinkType" type="com:_UrlLinkTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Details of the type of relevant information available on the Internet from the URL link.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_urlLinkExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UrlLinkTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of URL links.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="documentPdf">
        <xs:annotation>
          <xs:documentation>URL link to a pdf document.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="html">
        <xs:annotation>
          <xs:documentation>URL link to an html page.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="image">
        <xs:annotation>
          <xs:documentation>URL link to an image.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rss">
        <xs:annotation>
          <xs:documentation>URL link to an RSS feed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="videoStream">
        <xs:annotation>
          <xs:documentation>URL link to a video stream.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="voiceStream">
        <xs:annotation>
          <xs:documentation>URL link to a voice stream.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VersionedReference">
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="optional" />
  </xs:complexType>
</xs:schema><?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:d2="http://datex2.eu/schema/3/d2Payload" version="3.3" targetNamespace="http://datex2.eu/schema/3/d2Payload" xmlns:com="http://datex2.eu/schema/3/common" xmlns:loc="http://datex2.eu/schema/3/locationReferencing" xmlns:vms="http://datex2.eu/schema/3/vms" xmlns:prk="http://datex2.eu/schema/3/parking" xmlns:locx="http://datex2.eu/schema/3/locationExtension" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/locationExtension" schemaLocation="DATEXII_3_LocationExtension.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/parking" schemaLocation="DATEXII_3_Parking.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/vms" schemaLocation="DATEXII_3_Vms.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/locationReferencing" schemaLocation="DATEXII_3_LocationReferencing.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/common" schemaLocation="DATEXII_3_Common.xsd" />
  <xs:element name="payload" type="com:PayloadPublication">
    <xs:unique name="_payloadVmsControllerConstraint">
      <xs:selector xpath=".//vms:vmsController" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_payloadVmsControllerTableConstraint">
      <xs:selector xpath=".//vms:vmsControllerTable" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
  </xs:element>
</xs:schema><?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:locx="http://datex2.eu/schema/3/locationExtension" version="3.3" targetNamespace="http://datex2.eu/schema/3/locationExtension" xmlns:com="http://datex2.eu/schema/3/common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/common" schemaLocation="DATEXII_3_Common.xsd" />
  <xs:complexType name="_HouseNumberSideEnum">
    <xs:simpleContent>
      <xs:extension base="locx:HouseNumberSideEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="HouseNumberSideEnum">
    <xs:annotation>
      <xs:documentation>Specifies the side of the house number (even, odd).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="odd">
        <xs:annotation>
          <xs:documentation>Correspond to the street side with odd house numbers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="even">
        <xs:annotation>
          <xs:documentation>Correspond to the street side with even house numbers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NamedAreaCode">
    <xs:annotation>
      <xs:documentation>Type for a short numeric or alphanumeric code identifying an area.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:String">
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NamedAreaExtended">
    <xs:annotation>
      <xs:documentation>A named area with an additional code (that is not an ISO subdivision code)</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="namedAreaCode" type="locx:NamedAreaCode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Code for the named area, such a postal code or other code assigned for administration.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SupplementaryPositionalDescriptionExtended">
    <xs:annotation>
      <xs:documentation>Extension of class SupplementaryPositionalDescription.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="houseNumberSide" type="locx:_HouseNumberSideEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Side of the street corresponding of the type of number address.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema><?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:loc="http://datex2.eu/schema/3/locationReferencing" version="3.3" targetNamespace="http://datex2.eu/schema/3/locationReferencing" xmlns:locx="http://datex2.eu/schema/3/locationExtension" xmlns:com="http://datex2.eu/schema/3/common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/common" schemaLocation="DATEXII_3_Common.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/locationExtension" schemaLocation="DATEXII_3_LocationExtension.xsd" />
  <xs:complexType name="_AlertCDirectionEnum">
    <xs:simpleContent>
      <xs:extension base="loc:AlertCDirectionEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_AltitudeAccuracyEnum">
    <xs:simpleContent>
      <xs:extension base="loc:AltitudeAccuracyEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_AreaPlacesEnum">
    <xs:simpleContent>
      <xs:extension base="loc:AreaPlacesEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_CarriagewayEnum">
    <xs:simpleContent>
      <xs:extension base="loc:CarriagewayEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DirectionEnum">
    <xs:simpleContent>
      <xs:extension base="loc:DirectionEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DirectionPurposeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:DirectionPurposeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_GeographicCharacteristicEnum">
    <xs:simpleContent>
      <xs:extension base="loc:GeographicCharacteristicEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_HeightGradeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:HeightGradeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_HeightTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:HeightTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_InfrastructureDescriptorEnum">
    <xs:simpleContent>
      <xs:extension base="loc:InfrastructureDescriptorEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_IntermediatePointOnLinearElement">
    <xs:sequence>
      <xs:element name="referent" type="loc:Referent" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_LaneEnum">
    <xs:simpleContent>
      <xs:extension base="loc:LaneEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_LinearDirectionEnum">
    <xs:simpleContent>
      <xs:extension base="loc:LinearDirectionEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_LinearElementNatureEnum">
    <xs:simpleContent>
      <xs:extension base="loc:LinearElementNatureEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_NamedAreaExtensionType">
    <xs:sequence>
      <xs:element name="namedAreaExtended" type="locx:NamedAreaExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_NamedAreaTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:NamedAreaTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_NutsCodeTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:NutsCodeTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OpenlrFormOfWayEnum">
    <xs:simpleContent>
      <xs:extension base="loc:OpenlrFormOfWayEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OpenlrFunctionalRoadClassEnum">
    <xs:simpleContent>
      <xs:extension base="loc:OpenlrFunctionalRoadClassEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OpenlrOrientationEnum">
    <xs:simpleContent>
      <xs:extension base="loc:OpenlrOrientationEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OpenlrSideOfRoadEnum">
    <xs:simpleContent>
      <xs:extension base="loc:OpenlrSideOfRoadEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PositionConfidenceCodedErrorEnum">
    <xs:simpleContent>
      <xs:extension base="loc:PositionConfidenceCodedErrorEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PredefinedLocationVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="loc:PredefinedLocation" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ReferentTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:ReferentTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RelativePositionOnCarriagewayEnum">
    <xs:simpleContent>
      <xs:extension base="loc:RelativePositionOnCarriagewayEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SubdivisionTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:SubdivisionTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SupplementaryPositionalDescriptionExtensionType">
    <xs:sequence>
      <xs:element name="supplementaryPositionalDescriptionExtended" type="locx:SupplementaryPositionalDescriptionExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_TpegLoc01AreaLocationSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc01AreaLocationSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc01FramedPointLocationSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc01FramedPointLocationSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc01LinearLocationSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc01LinearLocationSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc01SimplePointLocationSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc01SimplePointLocationSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc03AreaDescriptorSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc03AreaDescriptorSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc03IlcPointDescriptorSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc03IlcPointDescriptorSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc03JunctionPointDescriptorSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc03JunctionPointDescriptorSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc03OtherPointDescriptorSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc03OtherPointDescriptorSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc04HeightTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc04HeightTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="AlertCArea">
    <xs:annotation>
      <xs:documentation>An area defined by reference to a predefined ALERT-C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ALERT-C country code as defined in IEC 62106.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCLocationTableNumber" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number allocated to an ALERT-C table in a country. Ref. EN ISO 14819-3 for the allocation of a location table number.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCLocationTableVersion" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Version number associated with an ALERT-C table reference.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="areaLocation" type="loc:AlertCLocation">
        <xs:annotation>
          <xs:documentation>Area location defined by a specific Alert-C location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_alertCAreaExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCDirection">
    <xs:annotation>
      <xs:documentation>The direction of traffic flow along the road to which the information relates.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCDirectionCoded" type="loc:_AlertCDirectionEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Direction of navigation with respect to secondary to primary location (RDS direction)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCDirectionNamed" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ALERT-C name of a direction e.g. Brussels -&gt; Lille.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCAffectedDirection" type="loc:_LinearDirectionEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction(s) of traffic flow to which the situation, traffic data or information is related.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_alertCDirectionExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AlertCDirectionEnum">
    <xs:annotation>
      <xs:documentation>Direction used to reach the primary location from the secondary location in ALERT-C location table, as defined in CEN ISO 14819-1</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="negative">
        <xs:annotation>
          <xs:documentation>The direction of navigation in an ALERT-C table that corresponds to the negative offset usage to go from the secondary location to the primary location within the ALERT-C location table.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="positive">
        <xs:annotation>
          <xs:documentation>The direction of navigation in an ALERT-C table that corresponds to the positive offset usage to go from the secondary location to the primary location within the ALERT-C location table.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AlertCLinear" abstract="true">
    <xs:annotation>
      <xs:documentation>A linear section along a road defined between two points on the road by reference to a pre-defined ALERT-C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ALERT-C country code as defined in IEC 62106.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCLocationTableNumber" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number allocated to an ALERT-C table in a country. Ref. EN ISO 14819-3 for the allocation of a location table number.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCLocationTableVersion" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Version number associated with an ALERT-C table reference.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_alertCLinearExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCLinearByCode">
    <xs:annotation>
      <xs:documentation>A linear section along a road defined by reference to a linear section in a pre-defined ALERT-C location table.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="locationCodeForLinearLocation" type="loc:AlertCLocation">
            <xs:annotation>
              <xs:documentation>Linear location defined by a specific Alert-C location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_alertCLinearByCodeExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCLocation">
    <xs:annotation>
      <xs:documentation>Identification of a specific point, linear or area location in an ALERT-C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocationName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of ALERT-C location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="specificLocation" type="loc:AlertCLocationCode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Unique code within the ALERT-C location table which identifies the specific point, linear or area location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_alertCLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AlertCLocationCode">
    <xs:annotation>
      <xs:documentation>A positive integer number (between 1 and 63 487) which uniquely identifies a pre-defined Alert C location defined within an Alert-C table.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:NonNegativeInteger">
      <xs:minInclusive value="1" />
      <xs:maxInclusive value="63487" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AlertCMethod2Linear">
    <xs:annotation>
      <xs:documentation>A linear section along a road between two points, primary and secondary, which are pre-defined in an ALERT-C location table. Direction is FROM the secondary point TO the primary point, i.e. the primary point is downstream of the secondary point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="alertCMethod2PrimaryPointLocation" type="loc:AlertCMethod2PrimaryPointLocation" />
          <xs:element name="alertCMethod2SecondaryPointLocation" type="loc:AlertCMethod2SecondaryPointLocation" />
          <xs:element name="_alertCMethod2LinearExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2Point">
    <xs:annotation>
      <xs:documentation>A single point on the road network defined by reference to a point in a pre-defined ALERT-C location table and which has an associated direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="alertCMethod2PrimaryPointLocation" type="loc:AlertCMethod2PrimaryPointLocation" />
          <xs:element name="_alertCMethod2PointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2PrimaryPointLocation">
    <xs:annotation>
      <xs:documentation>The point (called Primary point) which is either a single point or at the downstream end of a linear road section. The point is specified by a reference to a point in a pre-defined ALERT-C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocation" type="loc:AlertCLocation" />
      <xs:element name="_alertCMethod2PrimaryPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2SecondaryPointLocation">
    <xs:annotation>
      <xs:documentation>The point (called Secondary point) which is at the upstream end of a linear road section. The point is specified by a reference to a point in a pre-defined ALERT-C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocation" type="loc:AlertCLocation" />
      <xs:element name="_alertCMethod2SecondaryPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4Linear">
    <xs:annotation>
      <xs:documentation>A linear section along a road between two points, primary and secondary, which are pre-defined ALERT-C locations plus offset distance. Direction is FROM the secondary point TO the primary point, i.e. the primary point is downstream of the secondary point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCMethod4PrimaryPointLocation" type="loc:AlertCMethod4PrimaryPointLocation" />
          <xs:element name="alertCMethod4SecondaryPointLocation" type="loc:AlertCMethod4SecondaryPointLocation" />
          <xs:element name="_alertCMethod4LinearExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4Point">
    <xs:annotation>
      <xs:documentation>A single point on the road network defined by reference to a point in a pre-defined ALERT-C location table plus an offset distance and which has an associated direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="alertCMethod4PrimaryPointLocation" type="loc:AlertCMethod4PrimaryPointLocation" />
          <xs:element name="_alertCMethod4PointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4PrimaryPointLocation">
    <xs:annotation>
      <xs:documentation>The point (called Primary point) which is either a single point or at the downstream end of a linear road section. The point is specified by a reference to a point in a pre-defined ALERT-C location table plus a non-negative offset distance.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocation" type="loc:AlertCLocation" />
      <xs:element name="offsetDistance" type="loc:OffsetDistance" />
      <xs:element name="_alertCMethod4PrimaryPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4SecondaryPointLocation">
    <xs:annotation>
      <xs:documentation>The point (called Secondary point) which is at the upstream end of a linear road section. The point is specified by a reference to a point in a pre-defined Alert-C location table plus a non-negative offset distance.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_alertCMethod4SecondaryPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>A single point on the road network defined by reference to a pre-defined ALERT-C location table and which has an associated direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ALERT-C country code as defined IEC 62106.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCLocationTableNumber" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number allocated to an ALERT-C table in a country. Ref. EN ISO 14819-3 for the allocation of a location table number.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCLocationTableVersion" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Version number associated with an ALERT-C table reference.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_alertCPointExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AltitudeAccuracyEnum">
    <xs:annotation>
      <xs:documentation>Coded level of vertical accuracy</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="equalToOrLessThan1Centimetre">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 1 centimetre</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan2Centimetres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 2 centimetres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan5Centimetres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 5 centimetres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan10Centimetres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 10 centimetres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan20Centimetres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 20 centimetres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan50Centimetres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 50 centimetres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan1Metre">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 1 metre</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan2Metres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 2 metres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan5Metres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 5 metres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan10Metres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 10 metres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan20Metres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 20 metres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan50Metres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 50 metres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan100Metres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 100 metres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equalToOrLessThan200Metres">
        <xs:annotation>
          <xs:documentation>Indicates if the altitude accuracy is equal to or less than 200 metres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AltitudeConfidence">
    <xs:annotation>
      <xs:documentation>Evaluation of the altitude confidence assessed according to ETSI ISO 102894-2</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="altitudeAccuracyCodedValue" type="loc:_AltitudeAccuracyEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Absolute accuracy of reported value of a geographical point for a confidence level expressed by a coded scale.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="altitudeAccuracyCodedError" type="loc:_PositionConfidenceCodedErrorEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Error code in case the altitude confidence is out of range or cannot be determined</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_altitudeConfidenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AreaDestination">
    <xs:annotation>
      <xs:documentation>The specification of the destination of a defined route or itinerary which is an area.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:Destination">
        <xs:sequence>
          <xs:element name="areaLocation" type="loc:AreaLocation" />
          <xs:element name="_areaDestinationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AreaLocation">
    <xs:annotation>
      <xs:documentation>Location representing a geographic or geometric defined area which may be qualified by height information to provide additional geospatial discrimination (e.g. for snow in an area but only above a certain altitude).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:Location">
        <xs:sequence>
          <xs:element name="areasAtWhichApplicable" type="loc:_AreaPlacesEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Places, in generic terms, at which the corresponding information applies.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="alertCArea" type="loc:AlertCArea" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="tpegAreaLocation" type="loc:TpegAreaLocation" minOccurs="0" />
          <xs:element name="namedArea" type="loc:NamedArea" minOccurs="0" />
          <xs:element name="gmlMultiPolygon" type="loc:GmlMultiPolygon" minOccurs="0" />
          <xs:element name="openlrAreaLocationReference" type="loc:OpenlrAreaLocationReference" minOccurs="0" />
          <xs:element name="_areaLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AreaPlacesEnum">
    <xs:annotation>
      <xs:documentation>Type of area place(s)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="atBorders">
        <xs:annotation>
          <xs:documentation>At national borders</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atHighAltitudes">
        <xs:annotation>
          <xs:documentation>At high altitudes</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inBuiltUpAreas">
        <xs:annotation>
          <xs:documentation>In built up areas, i.e. villages, towns and cities</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inForestedAreas">
        <xs:annotation>
          <xs:documentation>On sections of the road where it runs through or adjacent to forested areas</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inGalleries">
        <xs:annotation>
          <xs:documentation>In galleries</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inLowLyingAreas">
        <xs:annotation>
          <xs:documentation>In low-lying areas</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inRuralAreas">
        <xs:annotation>
          <xs:documentation>In rural areas, i.e. outside villages, towns and cities</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inShadedAreas">
        <xs:annotation>
          <xs:documentation>In shaded areas</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTheInnerCityAreas">
        <xs:annotation>
          <xs:documentation>In the city centre areas</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTunnels">
        <xs:annotation>
          <xs:documentation>In tunnels</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onBridges">
        <xs:annotation>
          <xs:documentation>On bridges</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onDownhillSections">
        <xs:annotation>
          <xs:documentation>On downhill sections of the road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onElevatedSections">
        <xs:annotation>
          <xs:documentation>On elevated sections of the road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onEnteringOrLeavingTunnels">
        <xs:annotation>
          <xs:documentation>On entering or leaving tunnels</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onFlyovers">
        <xs:annotation>
          <xs:documentation>On flyover sections of the road, i.e. sections of the road which pass over another road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onPasses">
        <xs:annotation>
          <xs:documentation>On mountain passes</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onUndergroundSections">
        <xs:annotation>
          <xs:documentation>On underground sections of the road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onUnderpasses">
        <xs:annotation>
          <xs:documentation>On underpasses, i.e. sections of the road which pass under another road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Carriageway">
    <xs:annotation>
      <xs:documentation>Supplementary positional information which details carriageway and lane locations. Several instances may exist where the element being described extends over more than one carriageway.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="carriageway" type="loc:_CarriagewayEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the section of carriageway to which the location relates.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="originalNumberOfLanes" type="com:Integer" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Normal number of lanes, potentially available for moving traffic, before reduction due to situations. Hard shoulder should not be counted unless it is sometimes used operationally for moving traffic.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lane" type="loc:Lane" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_carriagewayExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CarriagewayEnum">
    <xs:annotation>
      <xs:documentation>List of descriptors identifying specific carriageway details.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="connectingCarriageway">
        <xs:annotation>
          <xs:documentation>On the connecting carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cycleTrack">
        <xs:annotation>
          <xs:documentation>Independent road or part of a road designated for cycles, signposted as such. A cycle track is separated from other roads or other parts of the same road by structural means.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="entrySlipRoad">
        <xs:annotation>
          <xs:documentation>On the entry slip road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exitSlipRoad">
        <xs:annotation>
          <xs:documentation>On the exit slip road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="flyover">
        <xs:annotation>
          <xs:documentation>On the flyover, i.e. the section of road passing over another.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="footpath">
        <xs:annotation>
          <xs:documentation>On the footpath</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="leftHandFeederRoad">
        <xs:annotation>
          <xs:documentation>On the left hand feeder road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="leftHandParallelCarriageway">
        <xs:annotation>
          <xs:documentation>On the left hand parallel carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mainCarriageway">
        <xs:annotation>
          <xs:documentation>On the main carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="oppositeCarriageway">
        <xs:annotation>
          <xs:documentation>On the opposite carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parallelCarriageway">
        <xs:annotation>
          <xs:documentation>On the adjacent external parallel carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rightHandFeederRoad">
        <xs:annotation>
          <xs:documentation>On the right hand feeder road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rightHandParallelCarriageway">
        <xs:annotation>
          <xs:documentation>On the right hand parallel carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roundabout">
        <xs:annotation>
          <xs:documentation>On the roundabout.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceRoad">
        <xs:annotation>
          <xs:documentation>On the adjacent service road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slipRoads">
        <xs:annotation>
          <xs:documentation>On the slip roads.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="underpass">
        <xs:annotation>
          <xs:documentation>On the underpass, i.e. the section of road passing under another.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unspecifiedCarriageway">
        <xs:annotation>
          <xs:documentation>On an unspecified carriageway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Destination" abstract="true">
    <xs:annotation>
      <xs:documentation>The specification of a destination. This may be either a point location or an area location.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_destinationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DirectionEnum">
    <xs:annotation>
      <xs:documentation>List of directions of travel.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="aligned">
        <xs:annotation>
          <xs:documentation>Same direction as the normal direction of flow at this point on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="allDirections">
        <xs:annotation>
          <xs:documentation>All directions (where more than two are applicable) at this point on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="anticlockwise">
        <xs:annotation>
          <xs:documentation>Anti-clockwise.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bothWays">
        <xs:annotation>
          <xs:documentation>Both directions that are applicable at this point on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clockwise">
        <xs:annotation>
          <xs:documentation>Clockwise.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="innerRing">
        <xs:annotation>
          <xs:documentation>Inner ring direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="outerRing">
        <xs:annotation>
          <xs:documentation>Outer ring direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="eastBound">
        <xs:annotation>
          <xs:documentation>East bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northBound">
        <xs:annotation>
          <xs:documentation>North bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northEastBound">
        <xs:annotation>
          <xs:documentation>North east bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northWestBound">
        <xs:annotation>
          <xs:documentation>North west bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southBound">
        <xs:annotation>
          <xs:documentation>South bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southEastBound">
        <xs:annotation>
          <xs:documentation>South east bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southWestBound">
        <xs:annotation>
          <xs:documentation>South west bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="westBound">
        <xs:annotation>
          <xs:documentation>West bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inboundTowardsTown">
        <xs:annotation>
          <xs:documentation>Heading towards town centre direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="outboundFromTown">
        <xs:annotation>
          <xs:documentation>Heading out of or away from the town centre direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="opposite">
        <xs:annotation>
          <xs:documentation>Opposite direction to the normal direction of flow at this point on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Direction is unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DirectionPurposeEnum">
    <xs:annotation>
      <xs:documentation>Main purpose of a direction of a road</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="inbound">
        <xs:annotation>
          <xs:documentation>On the carriageway or lane which is inbound towards the centre of the town or city.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="outbound">
        <xs:annotation>
          <xs:documentation>On the carriageway or lane which is outbound from the centre of the town or city.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DistanceAlongLinearElement" abstract="true">
    <xs:annotation>
      <xs:documentation>Distance of a point along a linear element either measured from the start node or a defined referent on that linear element, where the start node is relative to the element definition rather than the direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_distanceAlongLinearElementExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DistanceFromLinearElementReferent">
    <xs:annotation>
      <xs:documentation>Distance of a point along a linear element measured from a "from referent" on the linear element, in the sense relative to the linear element definition rather than the direction of traffic flow or optionally towards a "towards referent".</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="distanceAlong" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A measure of distance along a linear element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="fromReferent" type="loc:Referent">
            <xs:annotation>
              <xs:documentation>A known location along the linear element from which the distanceAlong is measured, termed the "fromReferent" in EN ISO 19148. </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="towardsReferent" type="loc:Referent" minOccurs="0">
            <xs:annotation>
              <xs:documentation>A known location along the linear element towards which the distanceAlong is measured, termed the "towardsReferent" in EN ISO 19148.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_distanceFromLinearElementReferentExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DistanceFromLinearElementStart">
    <xs:annotation>
      <xs:documentation>Distance of a point along a linear element measured from the start node of the linear element, where start node is relative to the element definition rather than the direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="distanceAlong" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A measure of distance along a linear element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_distanceFromLinearElementStartExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ExternalReferencing">
    <xs:annotation>
      <xs:documentation>A location defined by reference to an external/other referencing system.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="externalLocationCode" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A code in the external referencing system which defines the location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="externalReferencingSystem" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of the external/other location referencing system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_externalReferencingExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GeographicCharacteristicEnum">
    <xs:annotation>
      <xs:documentation>Descriptor to help to identify a specific location.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="aroundABendInRoad">
        <xs:annotation>
          <xs:documentation>Around a bend in the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onBorder">
        <xs:annotation>
          <xs:documentation>On border crossing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onPass">
        <xs:annotation>
          <xs:documentation>On mountain pass.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overCrestOfHill">
        <xs:annotation>
          <xs:documentation>Over the crest of a hill.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GmlLinearRing">
    <xs:annotation>
      <xs:documentation>Closed line string not self-intersecting (i.e. having as last point the first point)</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:GmlLineString">
        <xs:sequence>
          <xs:element name="_gmlLinearRingExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GmlLineString">
    <xs:annotation>
      <xs:documentation>Line string based on GML (EN ISO 19136) definition: a curve defined by a series of two or more coordinate tuples. Unlike GML may be self-intersecting. If srsName attribute is not present, posList is assumed to use "ETRS89-LatLonh" reference system.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="posList" type="loc:GmlPosList" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>List of coordinate Tuples define the geometry of this GmlLineString. There must be at least 2 Tuples of coordinates.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_gmlLineStringExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="srsDimension" type="com:NonNegativeInteger" use="optional">
      <xs:annotation>
        <xs:documentation>Provides the size of the tuple of coordinates of each point. This number is 2 or 3. By default when omitted the dimension shall be interpreted as 2.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="srsName" type="com:String" use="optional">
      <xs:annotation>
        <xs:documentation>Specifies the Coordinate Reference System (CRS) used to interpret the coordinates in this GmlLineString</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="GmlMultiPolygon">
    <xs:annotation>
      <xs:documentation>An area defined by a set of polygons acording to GML (EN ISO 19136).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="gmlAreaName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of the multi-polygon area</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="gmlPolygon" type="loc:GmlPolygon" maxOccurs="unbounded" />
      <xs:element name="_gmlMultiPolygonExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GmlPolygon">
    <xs:annotation>
      <xs:documentation>Planar surface defined by 1 exterior boundary and 0 or more interior boundaries</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="exterior" type="loc:GmlLinearRing">
        <xs:annotation>
          <xs:documentation>A boundary of a polygonal surface consisting of a ring i.e. in the normal 2D case, a closed polygonal line distinguished as exterior. Such a polygonal line has at least 4 pairs of coordinates</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="interior" type="loc:GmlLinearRing" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A boundary of internal patches of a polygonal surface consisting of a ring feature</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_gmlPolygonExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GmlPosList">
    <xs:annotation>
      <xs:documentation>List of coordinates, space-separated, within the same coordinate reference system, defining a geometric entity. Modelled on DirectPositionListType in GML (EN ISO 19136), but constrained to represent a 2D or 3D polyline.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:LongString">
      <xs:pattern value="[-+]?[0-9]*\.?[0-9]+(\s[-+]?[0-9]*\.?[0-9]+){3,}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="HeightCoordinate">
    <xs:annotation>
      <xs:documentation>Third coordinate for points defined geodetically</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="heightValue" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Value in metres for the height measured vertically at to the planar coordinates the point corresponding.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heightType" type="loc:_HeightTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Type of measured height.When it is omitted it is supposed to be the ellipsoidal height.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="altitudeConfidence" type="loc:AltitudeConfidence" minOccurs="0" />
      <xs:element name="verticalPositionAccuracy" type="loc:PositionAccuracy" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Defines the vertical position accuracy according to EN16803-1</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_heightCoordinateExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="HeightGradeEnum">
    <xs:annotation>
      <xs:documentation>List of height or vertical gradings of road sections.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="aboveGrade">
        <xs:annotation>
          <xs:documentation>Above or over the normal road grade elevation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atGrade">
        <xs:annotation>
          <xs:documentation>At the normal road grade elevation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="belowGrade">
        <xs:annotation>
          <xs:documentation>Below or under the normal road grade elevation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="HeightTypeEnum">
    <xs:annotation>
      <xs:documentation>Coded value for type of height</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="ellipsoidalHeight">
        <xs:annotation>
          <xs:documentation>Value measured vertically above the reference ellipsoid</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gravityRelatedHeight">
        <xs:annotation>
          <xs:documentation>Height type corresponding a value measured along direction of gravity above the reference geoid i.e. equipotential surface of the Earth's gravity field which globally approximates mean sea level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="relativeHeight">
        <xs:annotation>
          <xs:documentation>Height type corresponding to value masured vertically above the ground level at this point.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureDescriptorEnum">
    <xs:annotation>
      <xs:documentation>Descriptor identifying infrastructure to help to identify a specific location.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="atMotorwayInterchange">
        <xs:annotation>
          <xs:documentation>At a motorway interchange.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atRestArea">
        <xs:annotation>
          <xs:documentation>At rest area off the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atServiceArea">
        <xs:annotation>
          <xs:documentation>At service area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atTollPlaza">
        <xs:annotation>
          <xs:documentation>At toll plaza.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atTunnelEntryOrExit">
        <xs:annotation>
          <xs:documentation>At entry or exit of tunnel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inGallery">
        <xs:annotation>
          <xs:documentation>In gallery.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTunnel">
        <xs:annotation>
          <xs:documentation>In tunnel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onBridge">
        <xs:annotation>
          <xs:documentation>On bridge.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onConnector">
        <xs:annotation>
          <xs:documentation>On connecting carriageway between two different roads or road sections.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onElevatedSection">
        <xs:annotation>
          <xs:documentation>On elevated section of road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onFlyover">
        <xs:annotation>
          <xs:documentation>On flyover, i.e. on section of road over another road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onIceRoad">
        <xs:annotation>
          <xs:documentation>On ice road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onLevelCrossing">
        <xs:annotation>
          <xs:documentation>On level-crossing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onLinkRoad">
        <xs:annotation>
          <xs:documentation>On road section linking two different roads.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onRoundabout">
        <xs:annotation>
          <xs:documentation>On roundabout.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onTheRoadway">
        <xs:annotation>
          <xs:documentation>On the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onUndergroundSection">
        <xs:annotation>
          <xs:documentation>On underground section of road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onUnderpass">
        <xs:annotation>
          <xs:documentation>On underpass, i.e. section of road which passes under another road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="withinJunction">
        <xs:annotation>
          <xs:documentation>On the main carriageway within a junction between exit slip road and entry slip road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="IsoNamedArea">
    <xs:annotation>
      <xs:documentation>The ISO 3166-2 representation for the named area.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:NamedArea">
        <xs:sequence>
          <xs:element name="subdivisionType" type="loc:_SubdivisionTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The ISO 3166-2 subdivison type for the named area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="subdivisionCode" type="loc:SubdivisionCode" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The second part of an ISO 3166-2 subdivision code for the named area, which may be used along with the country attribute from the parent class to make a full ISO 3166-2 subdivision code.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_isoNamedAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Lane">
    <xs:annotation>
      <xs:documentation>Indicates a specific lane or group of lanes.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="laneNumber" type="com:Integer" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of the lane, where 1 is nearest the hard shoulder/verge and the numbers increase towards the central reservation/road axis.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="laneUsage" type="loc:_LaneEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the specific lane to which the location relates.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_laneExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LaneEnum">
    <xs:annotation>
      <xs:documentation>List of descriptors identifying specific lanes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="allLanesCompleteCarriageway">
        <xs:annotation>
          <xs:documentation>In all lanes of the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busLane">
        <xs:annotation>
          <xs:documentation>In the bus lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busStop">
        <xs:annotation>
          <xs:documentation>In the bus stop lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carPoolLane">
        <xs:annotation>
          <xs:documentation>In the carpool lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="centralReservation">
        <xs:annotation>
          <xs:documentation>On the central reservation separating the two directional carriageways of the highway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="crawlerLane">
        <xs:annotation>
          <xs:documentation>In the crawler lane - a lane that should be used by slower vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cycleLane">
        <xs:annotation>
          <xs:documentation>Part of a carriageway designated for cycles. A cycle lane is distinguished from the rest of the carriageway by longitudinal road markings.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyLane">
        <xs:annotation>
          <xs:documentation>In the emergency lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="escapeLane">
        <xs:annotation>
          <xs:documentation>In the escape lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="expressLane">
        <xs:annotation>
          <xs:documentation>In the express lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hardShoulder">
        <xs:annotation>
          <xs:documentation>On the hard shoulder.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyVehicleLane">
        <xs:annotation>
          <xs:documentation>In the heavy vehicle lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="layBy">
        <xs:annotation>
          <xs:documentation>In a lay-by.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="leftHandTurningLane">
        <xs:annotation>
          <xs:documentation>In the left hand turning lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="leftLane">
        <xs:annotation>
          <xs:documentation>In the left lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="localTrafficLane">
        <xs:annotation>
          <xs:documentation>In the local traffic lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="middleLane">
        <xs:annotation>
          <xs:documentation>In the middle lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overtakingLane">
        <xs:annotation>
          <xs:documentation>In the overtaking lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rightHandTurningLane">
        <xs:annotation>
          <xs:documentation>In the right hand turning lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rightLane">
        <xs:annotation>
          <xs:documentation>In the right lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rushHourLane">
        <xs:annotation>
          <xs:documentation>In the lane dedicated for use during the rush (peak) hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="setDownArea">
        <xs:annotation>
          <xs:documentation>In the area/lane reserved for passenger pick-up or set-down.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slowVehicleLane">
        <xs:annotation>
          <xs:documentation>In a lane dedicated to vehicles that are not permitted to exceed a fixed slow speed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="throughTrafficLane">
        <xs:annotation>
          <xs:documentation>In the through traffic lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tidalFlowLane">
        <xs:annotation>
          <xs:documentation>In the lane dedicated for use as a tidal flow lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="turningLane">
        <xs:annotation>
          <xs:documentation>In the turning lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="verge">
        <xs:annotation>
          <xs:documentation>On the verge.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LinearDirectionEnum">
    <xs:annotation>
      <xs:documentation>Directions of traffic flow relative to the direction in which the linear element is defined.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="both">
        <xs:annotation>
          <xs:documentation>Indicates that both directions of traffic flow are affected by the situation or relate to the traffic data.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="opposite">
        <xs:annotation>
          <xs:documentation>Indicates that the direction of traffic flow affected by the situation or related to the traffic data is in the opposite sense to the direction in which the linear element is defined.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="aligned">
        <xs:annotation>
          <xs:documentation>Indicates that the direction of traffic flow affected by the situation or related to the traffic data is in the same sense as the direction in which the linear element is defined.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Indicates that the direction of traffic flow affected by the situation or related to the traffic data is unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LinearElement">
    <xs:annotation>
      <xs:documentation>A linear element along a single linear object, consistent with EN ISO 19148 definitions. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="roadName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of the road</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="roadNumber" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifier/number of the road</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="linearElementReferenceModel" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The identifier of a road network reference model which segments the road network according to specific business rules.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="linearElementReferenceModelVersion" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The version of the identified road network reference model.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="linearElementNature" type="loc:_LinearElementNatureEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An indication of the nature of the linear element.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_linearElementExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LinearElementByCode">
    <xs:annotation>
      <xs:documentation>A linear element along a single linear object defined by its identifier or code in a road network reference model (specified in LinearElement class) which segments the road network according to specific business rules.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LinearElement">
        <xs:sequence>
          <xs:element name="linearElementIdentifier" type="com:String" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An identifier or code of a linear element (or link) in the road network reference model that is specified in the LinearElement class. </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_linearElementByCodeExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearElementByLineString">
    <xs:annotation>
      <xs:documentation>A linear element defined by a line string (class GmlLineString).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LinearElement">
        <xs:sequence>
          <xs:element name="gmlLineString" type="loc:GmlLineString" />
          <xs:element name="_linearElementByLineStringExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearElementByPoints">
    <xs:annotation>
      <xs:documentation>A linear element along a single linear object defined by its start and end points.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LinearElement">
        <xs:sequence>
          <xs:element name="startPointOfLinearElement" type="loc:Referent">
            <xs:annotation>
              <xs:documentation>The referent at a known location on the linear object which defines the start of the linear element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="intermediatePointOnLinearElement" type="loc:_IntermediatePointOnLinearElement" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A referent at a known location on the linear object which is neither the start or end of the linear element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="endPointOfLinearElement" type="loc:Referent">
            <xs:annotation>
              <xs:documentation>The referent at a known location on the linear object which defines the end of the linear element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_linearElementByPointsExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="LinearElementNatureEnum">
    <xs:annotation>
      <xs:documentation>List of indicative natures of linear elements.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="road">
        <xs:annotation>
          <xs:documentation>The nature of the linear element is a road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadSection">
        <xs:annotation>
          <xs:documentation>The nature of the linear element is a section of a road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slipRoad">
        <xs:annotation>
          <xs:documentation>The nature of the linear element is a slip road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LinearLocation">
    <xs:annotation>
      <xs:documentation>Location representing a linear section with optional directionality defined between two points. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:NetworkLocation">
        <xs:sequence>
          <xs:element name="openlrLinear" type="loc:OpenlrLinear" minOccurs="0" />
          <xs:element name="gmlLineString" type="loc:GmlLineString" minOccurs="0" />
          <xs:element name="_linearLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearWithinLinearElement">
    <xs:annotation>
      <xs:documentation>A linear section along a linear element where the linear element is either a part of or the whole of a linear object (i.e. a road), consistent with ISO 19148 definitions. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="administrativeAreaOfLinearSection" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of the road administration area which contains the specified linear section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="directionOnLinearSection" type="loc:_DirectionEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow on the linear section in terms of general destination direction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="directionRelativeOnLinearSection" type="loc:_LinearDirectionEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow on the linear section relative to the direction in which the linear element is defined.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heightGradeOfLinearSection" type="loc:_HeightGradeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of whether the linear section that is part of the linear element is at, above or below the normal elevation of a linear element of that type (e.g. road or road section) at that location, typically used to indicate "grade" separation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="linearElement" type="loc:LinearElement" />
      <xs:element name="fromPoint" type="loc:DistanceAlongLinearElement">
        <xs:annotation>
          <xs:documentation>A point on the linear element that defines the start node of the linear section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="toPoint" type="loc:DistanceAlongLinearElement">
        <xs:annotation>
          <xs:documentation>A point on the linear element that defines the end node of the linear section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_linearWithinLinearElementExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Location" abstract="true">
    <xs:annotation>
      <xs:documentation>The specification of a location either on a network (as a point or a linear location) or as an area. This may be provided in one or more referencing systems.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LocationReference">
        <xs:sequence>
          <xs:element name="externalReferencing" type="loc:ExternalReferencing" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="coordinatesForDisplay" type="loc:PointCoordinates" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Coordinates that may be used by clients for visual display on user interfaces.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_locationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationByReference">
    <xs:annotation>
      <xs:documentation>A location defined by reference to a predefined location.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:Location">
        <xs:sequence>
          <xs:element name="predefinedLocationReference" type="loc:_PredefinedLocationVersionedReference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to a versioned predefined location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_locationByReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationReference" abstract="true">
    <xs:annotation>
      <xs:documentation>Represents one or more physically separate locations. Multiple locations may be related, as in an itinerary or route, or may be unrelated. One LocationReference should not use multiple Location objects to represent the same physical location.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_locationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NamedArea">
    <xs:annotation>
      <xs:documentation>An area defined by a name and/or in terms of known boundaries, such as country or county boundaries or allocated control area of particular authority. The attributes do not form a union; instead, the smallest intersection forms the resulting area.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:NamedArea">
        <xs:sequence>
          <xs:element name="areaName" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The name of the area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="namedAreaType" type="loc:_NamedAreaTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of the area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="country" type="com:CountryCode" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>EN ISO 3166-1 two-character country code.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_namedAreaExtension" type="loc:_NamedAreaExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NamedAreaTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of areas.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="applicationRegion">
        <xs:annotation>
          <xs:documentation>Application region</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="continent">
        <xs:annotation>
          <xs:documentation>Continent</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="country">
        <xs:annotation>
          <xs:documentation>Country</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="countryGroup">
        <xs:annotation>
          <xs:documentation>Group of countries.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carParkArea">
        <xs:annotation>
          <xs:documentation>Car park area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carpoolArea">
        <xs:annotation>
          <xs:documentation>Carpool area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fuzzyArea">
        <xs:annotation>
          <xs:documentation>Fuzzy area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="industrialArea">
        <xs:annotation>
          <xs:documentation>Industrial area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lake">
        <xs:annotation>
          <xs:documentation>Lake</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="meteorologicalArea">
        <xs:annotation>
          <xs:documentation>Meteorological area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metropolitanArea">
        <xs:annotation>
          <xs:documentation>Metropolitan area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="municipality">
        <xs:annotation>
          <xs:documentation>Municipality</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndRideSite">
        <xs:annotation>
          <xs:documentation>A park and ride site</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ruralCounty">
        <xs:annotation>
          <xs:documentation>Rural county</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sea">
        <xs:annotation>
          <xs:documentation>Sea</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="touristArea">
        <xs:annotation>
          <xs:documentation>Tourist area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficArea">
        <xs:annotation>
          <xs:documentation>Traffic area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="urbanCounty">
        <xs:annotation>
          <xs:documentation>Urban county</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="order1AdministrativeArea">
        <xs:annotation>
          <xs:documentation>Order 1 administrative area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="order2AdministrativeArea">
        <xs:annotation>
          <xs:documentation>Order 2 administrative area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="order3AdministrativeArea">
        <xs:annotation>
          <xs:documentation>Order 3 administrative area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="order4AdministrativeArea">
        <xs:annotation>
          <xs:documentation>Order 4 administrative area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="order5AdministrativeArea">
        <xs:annotation>
          <xs:documentation>Order 5 administrative area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="policeForceControlArea">
        <xs:annotation>
          <xs:documentation>Police force control area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadOperatorControlArea">
        <xs:annotation>
          <xs:documentation>Road operator control area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waterArea">
        <xs:annotation>
          <xs:documentation>Water area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NetworkLocation" abstract="true">
    <xs:annotation>
      <xs:documentation>The specification of a location on a network (as a point or a linear location).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:Location">
        <xs:sequence>
          <xs:element name="supplementaryPositionalDescription" type="loc:SupplementaryPositionalDescription" minOccurs="0" />
          <xs:element name="destination" type="loc:Destination" minOccurs="0" />
          <xs:element name="_networkLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NutsCode">
    <xs:annotation>
      <xs:documentation>A NUTS code (Nomenclature of territorial units for statistics).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:String">
      <xs:maxLength value="5" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NutsCodeTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of NUTS codes (Nomenclature of territorial units for statistics) including LAU codes (Local Administrative Units).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="nuts1Code">
        <xs:annotation>
          <xs:documentation>NUTS 1 code</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nuts2Code">
        <xs:annotation>
          <xs:documentation>NUTS 2 code</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nuts3Code">
        <xs:annotation>
          <xs:documentation>NUTS 3 code</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lau1Code">
        <xs:annotation>
          <xs:documentation>LAU 1 code</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lau2Code">
        <xs:annotation>
          <xs:documentation>LAU 2 code</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NutsNamedArea">
    <xs:annotation>
      <xs:documentation>The NUTS-Code representation for the named area (Nomenclature of territorial units for statistics) or its LAU code representation (Local Administrative Unit).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:NamedArea">
        <xs:sequence>
          <xs:element name="nutsCodeType" type="loc:_NutsCodeTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The NUTS code type for the named area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="nutsCode" type="loc:NutsCode" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The NUTS code for the named area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_nutsNamedAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OffsetDistance">
    <xs:annotation>
      <xs:documentation>The non-negative offset distance from the ALERT-C referenced point to the actual point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="offsetDistance" type="com:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The non-negative offset distance from the ALERT-C referenced point to the actual point. The ALERT-C locations in the primary and secondary locations must always encompass the linear section being specified, thus offset distance is towards the other point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_offsetDistanceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrAreaLocationReference" abstract="true">
    <xs:annotation>
      <xs:documentation>A two-dimensional part of the surface of the earth which is bounded by a closed curve. An area location may cover parts of the road network but does not necessarily need to. It is represented according to the OpenLR standard for Area Locations</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_openlrAreaLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrBasePointLocation" abstract="true">
    <xs:annotation>
      <xs:documentation>Holds common data that are used both in OpenlrPointAccessPoint and OpenlrPointAlongLine.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrPointLocationReference">
        <xs:sequence>
          <xs:element name="openlrSideOfRoad" type="loc:_OpenlrSideOfRoadEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Provides the of road where the corresponding point lies.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="openlrOrientation" type="loc:_OpenlrOrientationEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Orientation of the driving direction in relation with the direction of the underlying linear</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="openlrLocationReferencePoint" type="loc:OpenlrLocationReferencePoint">
            <xs:annotation>
              <xs:documentation>Allows defining the first point of the OpenLR path</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="openlrLastLocationReferencePoint" type="loc:OpenlrLastLocationReferencePoint">
            <xs:annotation>
              <xs:documentation>Allows defining the last point of the OpenLR path</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="openlrOffsets" type="loc:OpenlrOffsets" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Provides optional offsets relative to the path</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_openlrBasePointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrBaseReferencePoint" abstract="true">
    <xs:annotation>
      <xs:documentation>Base class used to hold data about a reference point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="openlrCoordinates" type="loc:PointCoordinates">
        <xs:annotation>
          <xs:documentation>Provides coordinates for the base point of the OpenLR path</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="openlrLineAttributes" type="loc:OpenlrLineAttributes">
        <xs:annotation>
          <xs:documentation>Properties of the line towards the topologically adjacent OpenLR location referencing point, on the shortest path to that point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_openlrBaseReferencePointExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrCircleLocationReference">
    <xs:annotation>
      <xs:documentation>The OpenLR method of area definition by providing a center position and a radius</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrRadius" type="com:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The radius of the corresponding circular area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="openlrGeoCoordinate" type="loc:OpenlrGeoCoordinate" />
          <xs:element name="_openlrCircleLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrClosedLineLocationReference">
    <xs:annotation>
      <xs:documentation>The OpenLR method of area definition by providing a closed path (i.e. a circuit) in the road network.
The boundary always consists of road segments</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrLocationReferencePoint" type="loc:OpenlrLocationReferencePoint" maxOccurs="unbounded" />
          <xs:element name="openlrLastLine" type="loc:OpenlrLastLocationReferencePoint">
            <xs:annotation>
              <xs:documentation>Provides the line attributes for the last line section closing the polygon.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_openlrClosedLineLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OpenlrFormOfWayEnum">
    <xs:annotation>
      <xs:documentation>Enumeration of for of way</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="undefined">
        <xs:annotation>
          <xs:documentation>Undefined</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorway">
        <xs:annotation>
          <xs:documentation>Motorway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="multipleCarriageway">
        <xs:annotation>
          <xs:documentation>Multiple carriageway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="singleCarriageway">
        <xs:annotation>
          <xs:documentation>Single carriageway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roundabout">
        <xs:annotation>
          <xs:documentation>Roundabout</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slipRoad">
        <xs:annotation>
          <xs:documentation>Slip road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficSquare">
        <xs:annotation>
          <xs:documentation>Traffic square</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OpenlrFunctionalRoadClassEnum">
    <xs:annotation>
      <xs:documentation>Enumeration of functional road class</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="frc0">
        <xs:annotation>
          <xs:documentation>Main road, highest importance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="frc1">
        <xs:annotation>
          <xs:documentation>First class road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="frc2">
        <xs:annotation>
          <xs:documentation>Second class road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="frc3">
        <xs:annotation>
          <xs:documentation>Third class road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="frc4">
        <xs:annotation>
          <xs:documentation>Fourth class road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="frc5">
        <xs:annotation>
          <xs:documentation>Fifth class road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="frc6">
        <xs:annotation>
          <xs:documentation>Sixth class road</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="frc7">
        <xs:annotation>
          <xs:documentation>Other class road, lowest importance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OpenlrGeoCoordinate">
    <xs:annotation>
      <xs:documentation>A geo-coordinate pair is a position in a map defined by its longitude and latitude coordinate values.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrPointLocationReference">
        <xs:sequence>
          <xs:element name="openlrCoordinates" type="loc:PointCoordinates">
            <xs:annotation>
              <xs:documentation>Corresponding coordinates of an OpenLR point defined by its only coordinates.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_openlrGeoCoordinateExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrGridLocationReference">
    <xs:annotation>
      <xs:documentation>Area defined using an OpenLR™ method consisting in defining it by a tessellation of rectangles</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrNumColumns" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The number that the base rectangle should be multiplied in the east direction</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="openlrNumRows" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The number that the base rectangle should be multiplied in the north direction</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="openlrRectangle" type="loc:OpenlrRectangle" />
          <xs:element name="_openlrGridLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrLastLocationReferencePoint">
    <xs:annotation>
      <xs:documentation>The sequence of location reference points is terminated by a last location reference point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrBaseReferencePoint">
        <xs:sequence>
          <xs:element name="_openlrLastLocationReferencePointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrLinear">
    <xs:annotation>
      <xs:documentation>OpenLR line location reference</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="firstDirection" type="loc:OpenlrLineLocationReference">
        <xs:annotation>
          <xs:documentation>First OpenLR reference in first/main direction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="oppositeDirection" type="loc:OpenlrLineLocationReference" minOccurs="0">
        <xs:annotation>
          <xs:documentation>If both direction, this is the reference in the opposite direction against firstDirection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_openlrLinearExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrLineAttributes">
    <xs:annotation>
      <xs:documentation>Line attributes are part of a location reference point and consists of functional road class (FRC),form of way (FOW) and bearing (BEAR) data.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="openlrFunctionalRoadClass" type="loc:_OpenlrFunctionalRoadClassEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Certain aspects of the physical form that a Road Element takes. It is based on a number of certain physical and traffic properties. (EN ISO 14825 § 7.2.85)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="openlrFormOfWay" type="loc:_OpenlrFormOfWayEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A classification based on the importance of the role that the Road Element (or Ferry Connection) performs in the connectivity of the total road network. (EN ISO 14825 § 7.2.88)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="openlrBearing" type="com:AngleInDegrees" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>defines the bearing field as an integer value between 0 and 359</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_openlrLineAttributesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrLineLocationReference">
    <xs:annotation>
      <xs:documentation>A line location reference is defined by an ordered sequence of location reference points and a terminating last location reference point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="openlrLocationReferencePoint" type="loc:OpenlrLocationReferencePoint" maxOccurs="unbounded" />
      <xs:element name="openlrLastLocationReferencePoint" type="loc:OpenlrLastLocationReferencePoint" />
      <xs:element name="openlrOffsets" type="loc:OpenlrOffsets" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Allows for adding offsets to the line location path defined by nodes when the starting (respectively ending) point does not coincide with a node.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_openlrLineLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrLocationReferencePoint">
    <xs:annotation>
      <xs:documentation>The basis of a location reference is a sequence of location reference points (LRPs).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrBaseReferencePoint">
        <xs:sequence>
          <xs:element name="openlrPathAttributes" type="loc:OpenlrPathAttributes">
            <xs:annotation>
              <xs:documentation>Additional path attributes relative to the next point</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_openlrLocationReferencePointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrOffsets">
    <xs:annotation>
      <xs:documentation>Offsets are used to locate the start and end of a location more precisely than bounding to the nodes in a network.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="openlrPositiveOffset" type="com:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The positive offset along the line of the location measured along the line reference path between the start point of the location reference and the starting node of the line reference path.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="openlrNegativeOffset" type="com:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The negative offset along the line of the location measured along the line reference path between the end point of the location reference and the ending node of the line reference path.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_openlrOffsetsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="OpenlrOrientationEnum">
    <xs:annotation>
      <xs:documentation>Enumeration of orientation</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="noOrientationOrUnknown">
        <xs:annotation>
          <xs:documentation>No orientation or unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="withLineDirection">
        <xs:annotation>
          <xs:documentation>With line direction</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="againstLineDirection">
        <xs:annotation>
          <xs:documentation>Against line direction</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="both">
        <xs:annotation>
          <xs:documentation>Both directions</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OpenlrPathAttributes">
    <xs:annotation>
      <xs:documentation>Properties of the path from the associated location reference point to the next location reference point, which are specified to assist correct identification of the point in an external map data source.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="openlrLowestFrcToNextLRPoint" type="loc:_OpenlrFunctionalRoadClassEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The lowest FRC to the next point indicates the lowest functional road class used in the location reference path to the next LR-point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="openlrDistanceToNextLRPoint" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The DNP attribute measures the distance in meters between two consecutive location reference-points along the location reference path described in the corresponding enumeration</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_openlrPathAttributesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPointAlongLine">
    <xs:annotation>
      <xs:documentation>Point along a line</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrBasePointLocation">
        <xs:sequence>
          <xs:element name="_openlrPointAlongLineExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrPointLocationReference" abstract="true">
    <xs:annotation>
      <xs:documentation>A point location is a zero-dimensional element in a map that specifies a geometric location.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_openlrPointLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPoiWithAccessPoint">
    <xs:annotation>
      <xs:documentation>A point of interest (POI) along a line with access is a point location which is defined by a linear reference path, an offset value (defining the access point) from the starting node of this path and a coordinate pair that defines the POI itself.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrBasePointLocation">
        <xs:sequence>
          <xs:element name="openlrCoordinates" type="loc:PointCoordinates">
            <xs:annotation>
              <xs:documentation>The coordinate of the actual point of interest</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_openlrPoiWithAccessPointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrPolygonCorners">
    <xs:annotation>
      <xs:documentation>A geodetic coordinate Tuple that defines the vertices of the underlying geometrical polygon.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="openlrCoordinates" type="loc:PointCoordinates" minOccurs="3" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Corresponding coordinates of vertices that define a polygon.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_openlrPolygonCornersExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPolygonLocationReference">
    <xs:annotation>
      <xs:documentation>The OpenLR method of area definition by providing points that bound the area</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrPolygonCorners" type="loc:OpenlrPolygonCorners" />
          <xs:element name="_openlrPolygonLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrRectangle">
    <xs:annotation>
      <xs:documentation>Area delimited by a rectangle defined by the geodetic co-ordinates of the two ends of its diagonal from south-west to north-east (the rectangle having two sides that are parallel to lines of latitude)</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="openlrLowerLeft" type="loc:PointCoordinates">
        <xs:annotation>
          <xs:documentation>The lower left corner of the rectangle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="openlrUpperRight" type="loc:PointCoordinates">
        <xs:annotation>
          <xs:documentation>The upper right corner of the rectangle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_openlrRectangleExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrRectangleLocationReference">
    <xs:annotation>
      <xs:documentation>The openLR method of area definition by providing a rectangular shape defined by two geo-coordinate pairs</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrRectangle" type="loc:OpenlrRectangle" />
          <xs:element name="_openlrRectangleLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OpenlrSideOfRoadEnum">
    <xs:annotation>
      <xs:documentation>Enumeration of side of road</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="onRoadOrUnknown">
        <xs:annotation>
          <xs:documentation>On road or unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="right">
        <xs:annotation>
          <xs:documentation>On the right side of the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="left">
        <xs:annotation>
          <xs:documentation>On the left side of the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="both">
        <xs:annotation>
          <xs:documentation>On both sides of the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PercentageDistanceAlongLinearElement">
    <xs:annotation>
      <xs:documentation>Distance of a point along a linear element measured from the start node expressed as a percentage of the whole length of the linear element, where start node is relative to the element definition rather than the direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="percentageDistanceAlong" type="com:Percentage" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A measure of distance along a linear element from the start of the element expressed as a percentage of the total length of the linear object.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_percentageDistanceAlongLinearElementExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PointAlongLinearElement">
    <xs:annotation>
      <xs:documentation>A point on a linear element where the linear element is either a part of or the whole of a linear object (i.e. a road), consistent with EN ISO 19148 definitions. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="administrativeAreaOfPoint" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of the road administration area which contains the specified point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="directionAtPoint" type="loc:_DirectionEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow at the specified point in terms of general destination direction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="directionRelativeAtPoint" type="loc:_LinearDirectionEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow at the specified point relative to the direction in which the linear element is defined.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heightGradeOfPoint" type="loc:_HeightGradeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of whether the point on the linear element is at, above or below the normal elevation of a linear element of that type (e.g. road or road section) at that location, typically used to indicate "grade" separation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="linearElement" type="loc:LinearElement" />
      <xs:element name="distanceAlongLinearElement" type="loc:DistanceAlongLinearElement" />
      <xs:element name="_pointAlongLinearElementExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointByCoordinates">
    <xs:annotation>
      <xs:documentation>A single point defined only by a coordinate set with an optional bearing direction.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="bearing" type="com:AngleInDegrees" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A bearing at the point measured in degrees (0 - 359). Unless otherwise specified the reference direction corresponding to 0 degrees is North.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pointCoordinates" type="loc:PointCoordinates" />
      <xs:element name="_pointByCoordinatesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointCoordinates">
    <xs:annotation>
      <xs:documentation>A pair of planar coordinates defining the geodetic position of a single point using the European Terrestrial Reference System 1989 (ETRS89).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="latitude" type="com:Float" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Latitude in decimal degrees using the European Terrestrial Reference System 1989 (ETRS89).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="longitude" type="com:Float" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Longitude in decimal degrees using the European Terrestrial Reference System 1989 (ETRS89).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heightCoordinate" type="loc:HeightCoordinate" minOccurs="0" maxOccurs="3" />
      <xs:element name="positionConfidenceEllipse" type="loc:PositionConfidenceEllipse" minOccurs="0" />
      <xs:element name="horizontalPositionAccuracy" type="loc:PositionAccuracy" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Defines the horizontal position accuracy according EN 16803-1</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_pointCoordinatesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointDestination">
    <xs:annotation>
      <xs:documentation>The specification of the destination of a defined route or itinerary which is a point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:Destination">
        <xs:sequence>
          <xs:element name="pointLocation" type="loc:PointLocation" />
          <xs:element name="_pointDestinationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PointLocation">
    <xs:annotation>
      <xs:documentation>Location representing a single geospatial point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:NetworkLocation">
        <xs:sequence>
          <xs:element name="pointByCoordinates" type="loc:PointByCoordinates" minOccurs="0" />
          <xs:element name="pointAlongLinearElement" type="loc:PointAlongLinearElement" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="alertCPoint" type="loc:AlertCPoint" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The point location expressed using AlertC. Multiple instances of AlertCPoint shall represent the same real-world geographic feature.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="tpegPointLocation" type="loc:TpegPointLocation" minOccurs="0" />
          <xs:element name="openlrPointLocationReference" type="loc:OpenlrPointLocationReference" minOccurs="0" />
          <xs:element name="_pointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PositionAccuracy">
    <xs:annotation>
      <xs:documentation>Horizontal position accuracy parameters defined according to EN 16803-1</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="accuracyPercentile50" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Accuracy defined by the 50th percentile of the cumulative distribution of position errors.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="accuracyPercentile75" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Accuracy defined by the 75th percentile of the cumulative distribution of position errors</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="accuracyPercentile95" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Accuracy defined by the 95th percentile of the cumulative distribution of position errors</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_positionAccuracyExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PositionConfidenceCodedErrorEnum">
    <xs:annotation>
      <xs:documentation>Error code for horizontal or vertical position confidence</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="outOfRange">
        <xs:annotation>
          <xs:documentation>Indicates the accuracy is out of range, i.e. greater than 4 093 cm for horizontal position.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unavailable">
        <xs:annotation>
          <xs:documentation>Indicates the accuracy information is unavailable.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PositionConfidenceEllipse">
    <xs:annotation>
      <xs:documentation>Confidence ellipse position defined in a shape of ellipse with a predefined confidence level (e.g. 95 %). The centre of the ellipse shape corresponds to the reference position point for which the position accuracy is evaluated.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="semiMajorAxisLength" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Half of length of the major axis, i.e. distance between the centre point and major axis point of the position accuracy ellipse.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="semiMajorAxisLengthCodedError" type="loc:_PositionConfidenceCodedErrorEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Provides a coded error in case the semi-major axis length is not defined</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="semiMinorAxisLength" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Half of length of the minor axis, i.e. distance between the centre point and minor axis point of the position accuracy ellipse</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="semiMinorAxisLengthCodedError" type="loc:_PositionConfidenceCodedErrorEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Provides a coded error in case the semi-minor axis length is not defined</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="semiMajorAxisOrientation" type="com:AngleInDegrees" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Orientation direction of the ellipse major axis of the position accuracy ellipse with regards to the geographic north.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="semiMajorAxisOrientationError" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates whether the ellipse orientation is unavailable (True) or not (False)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_positionConfidenceEllipseExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Referent">
    <xs:annotation>
      <xs:documentation>A referent on a linear object that has a known location such as a node, a reference marker (e.g. a marker-post), an intersection etc.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="referentIdentifier" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The identifier of the referent, unique on the specified linear element (i.e. road or part of).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="referentName" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the referent, e.g. a junction or intersection name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="referentType" type="loc:_ReferentTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of the referent.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="referentDescription" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Description of the referent.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pointCoordinates" type="loc:PointCoordinates" minOccurs="0" />
      <xs:element name="_referentExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ReferentTypeEnum">
    <xs:annotation>
      <xs:documentation>A set of types of known points along a linear object such as a road.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="boundary">
        <xs:annotation>
          <xs:documentation>A boundary between two jurisdictional or administrative areas. These may be legal boundaries such as between counties or countries, maintenance responsibility boundaries or control boundaries. </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="intersection">
        <xs:annotation>
          <xs:documentation>A crossing of two or more roads where the precise point of intersection is defined according to specific business rules.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="referenceMarker">
        <xs:annotation>
          <xs:documentation>A marker which is usually but not necessarily physical that is one of a sequence which are spaced out along the linear object (road) to provide a location reference. The spacing of markers is not necessarily even.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="landmark">
        <xs:annotation>
          <xs:documentation>A visible identifiable physical landmark either alongside or close to the linear object.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadNode">
        <xs:annotation>
          <xs:documentation>A topological node defined on a road network. Such nodes may delineate the segmentation of the road network according to defined business rules or may constitute a purely topological representation of a road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RelativePositionOnCarriagewayEnum">
    <xs:annotation>
      <xs:documentation>Identifies a relative position across a carriageway</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="inTheCentre">
        <xs:annotation>
          <xs:documentation>In the centre of the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onTheLeft">
        <xs:annotation>
          <xs:documentation>On the left of the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onTheRight">
        <xs:annotation>
          <xs:documentation>On the right of the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RoadInformation">
    <xs:annotation>
      <xs:documentation>Information on a road</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="roadDestination" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A destination associated with this road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="roadName" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the road</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="roadNumber" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The road number designated by the road authority</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_roadInformationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SingleRoadLinearLocation">
    <xs:annotation>
      <xs:documentation>Location representing a linear section along a single road with optional directionality defined between two points on the same road. No matter the kind of linear reference it uses, the constraint of using only a single road must be preserved.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LinearLocation">
        <xs:sequence>
          <xs:element name="tpegLinearLocation" type="loc:TpegLinearLocation" minOccurs="0" />
          <xs:element name="alertCLinear" type="loc:AlertCLinear" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The linear location expressed using AlertC. Multiple instances of AlertCLinear shall represent the same real-world geographic feature.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="linearWithinLinearElement" type="loc:LinearWithinLinearElement" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_singleRoadLinearLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SubdivisionCode">
    <xs:annotation>
      <xs:documentation>The second part of an ISO 3166-2 country sub-division code (up to 3 characters) which may be used along with a CountryCode to make a full ISO 3166-2 subdivision code.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:String">
      <xs:maxLength value="3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SubdivisionTypeEnum">
    <xs:annotation>
      <xs:documentation>ISO 3166-2 subdivison types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAtoll">
        <xs:annotation>
          <xs:documentation>Administrative atoll</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="administrativeRegion">
        <xs:annotation>
          <xs:documentation>Administrative region</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="administrativeTerritory">
        <xs:annotation>
          <xs:documentation>Administrative territory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="arcticRegion">
        <xs:annotation>
          <xs:documentation>Arctic region</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="autonomousCity">
        <xs:annotation>
          <xs:documentation>Autonomous city</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="autonomousCityInNorthAfrica">
        <xs:annotation>
          <xs:documentation>Autonomous city in North Africa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="autonomousCommunity">
        <xs:annotation>
          <xs:documentation>Autonomous community</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="autonomousDistrict">
        <xs:annotation>
          <xs:documentation>Autonomous district</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="autonomousProvince">
        <xs:annotation>
          <xs:documentation>Autonomous province</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="autonomousRegion">
        <xs:annotation>
          <xs:documentation>Autonomous region</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="canton">
        <xs:annotation>
          <xs:documentation>Canton</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="capitalCity">
        <xs:annotation>
          <xs:documentation>Capital city</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="city">
        <xs:annotation>
          <xs:documentation>City</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cityMunicipality">
        <xs:annotation>
          <xs:documentation>City municipality</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cityOfCountyRight">
        <xs:annotation>
          <xs:documentation>City of county right</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="commune">
        <xs:annotation>
          <xs:documentation>Commune</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="councilArea">
        <xs:annotation>
          <xs:documentation>Council area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="county">
        <xs:annotation>
          <xs:documentation>County</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="country">
        <xs:annotation>
          <xs:documentation>Country</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="department">
        <xs:annotation>
          <xs:documentation>Department</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dependency">
        <xs:annotation>
          <xs:documentation>Dependency</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="district">
        <xs:annotation>
          <xs:documentation>District</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="districtMunicipality">
        <xs:annotation>
          <xs:documentation>District municipality</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="districtWithSpecialStatus">
        <xs:annotation>
          <xs:documentation>District with special status</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="entity">
        <xs:annotation>
          <xs:documentation>Entity</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="geographicalEntity">
        <xs:annotation>
          <xs:documentation>Geographical entity</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="governorate">
        <xs:annotation>
          <xs:documentation>Governorate</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="laender">
        <xs:annotation>
          <xs:documentation>Länder</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="localCouncil">
        <xs:annotation>
          <xs:documentation>Local Council</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="londonBorough">
        <xs:annotation>
          <xs:documentation>London borough</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metropolitanArea">
        <xs:annotation>
          <xs:documentation>Metropolitan area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metropolitanDepartment">
        <xs:annotation>
          <xs:documentation>Metropolitan department</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metropolitanDistrict">
        <xs:annotation>
          <xs:documentation>Metropolitan district</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metropolitanRegion">
        <xs:annotation>
          <xs:documentation>Metropolitan region</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="municipality">
        <xs:annotation>
          <xs:documentation>Municipality</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overseasDepartment">
        <xs:annotation>
          <xs:documentation>Overseas department</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overseasRegion">
        <xs:annotation>
          <xs:documentation>Overseas region</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overseasTerritorialCollectivity">
        <xs:annotation>
          <xs:documentation>Overseas territorial collectivity</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parish">
        <xs:annotation>
          <xs:documentation>Parish</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="province">
        <xs:annotation>
          <xs:documentation>Province</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="quarter">
        <xs:annotation>
          <xs:documentation>Quarter</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="region">
        <xs:annotation>
          <xs:documentation>Region</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="republic">
        <xs:annotation>
          <xs:documentation>Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="republicanCity">
        <xs:annotation>
          <xs:documentation>Republic city</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="selfGovernedPart">
        <xs:annotation>
          <xs:documentation>Self-governed part</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="specialMunicipality">
        <xs:annotation>
          <xs:documentation>Special Municipality</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="state">
        <xs:annotation>
          <xs:documentation>State</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="territorialUnit">
        <xs:annotation>
          <xs:documentation>Territorial unit</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="territory">
        <xs:annotation>
          <xs:documentation>Territory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="twoTierCounty">
        <xs:annotation>
          <xs:documentation>Two tier country</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unitaryAuthority">
        <xs:annotation>
          <xs:documentation>Unitary Authority</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ward">
        <xs:annotation>
          <xs:documentation>Ward</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SupplementaryPositionalDescription">
    <xs:annotation>
      <xs:documentation>A collection of supplementary positional information which improves the precision of the location.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="directionPurpose" type="loc:_DirectionPurposeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies the main purpose of the road at the location</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="geographicDescriptor" type="loc:_GeographicCharacteristicEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Descriptor which identifies a geographic characteristic to help identify the specific location</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="infrastructureDescriptor" type="loc:_InfrastructureDescriptorEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Descriptor which identifies infrastructure to help identify the specific location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lengthAffected" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>This indicates the length (measured in metres) of carriageway (and lanes) affected by the associated traffic element.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="locationDescription" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Supplementary human-readable description of the location</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="positionOnCarriageway" type="loc:_RelativePositionOnCarriagewayEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Relative position across carriageway</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sequentialRampNumber" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The sequential number of an exit/entrance ramp from a given location in a given direction (normally used to indicate a specific exit/entrance in a complex junction/intersection).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="carriageway" type="loc:Carriageway" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="namedArea" type="loc:NamedArea" minOccurs="0" />
      <xs:element name="roadInformation" type="loc:RoadInformation" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Information on a set of one or more roads. The location could correspond to a part of the road identified, the whole stretch of road identified, or a combination of multiple road sections.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_supplementaryPositionalDescriptionExtension" type="loc:_SupplementaryPositionalDescriptionExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="locationPrecision" type="com:MetresAsNonNegativeInteger" use="optional">
      <xs:annotation>
        <xs:documentation>Indicates that the location is given with a precision which is better than the stated value in metres.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="TpegAreaDescriptor">
    <xs:annotation>
      <xs:documentation>A descriptor for describing an area location.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegDescriptor">
        <xs:sequence>
          <xs:element name="tpegAreaDescriptorType" type="loc:_TpegLoc03AreaDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The nature of the descriptor used to define the location under consideration (derived from the TPEG Loc table 03).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegAreaDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegAreaLocation" abstract="true">
    <xs:annotation>
      <xs:documentation>A geographic or geometric area defined by a TPEG-Loc structure which may include height information for additional geospatial discrimination.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tpegAreaLocationType" type="loc:_TpegLoc01AreaLocationSubtypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of TPEG location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tpegHeight" type="loc:TpegHeight" minOccurs="0" />
      <xs:element name="_tpegAreaLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegDescriptor" abstract="true">
    <xs:annotation>
      <xs:documentation>A collection of information providing descriptive references to locations using the TPEG-Loc location referencing approach.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="descriptor" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A text string which describes or elaborates the location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_tpegDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegFramedPoint">
    <xs:annotation>
      <xs:documentation>A point on the road network which is framed between two other points on the same road.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegPointLocation">
        <xs:sequence>
          <xs:element name="tpegFramedPointLocationType" type="loc:_TpegLoc01FramedPointLocationSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of TPEG location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="framedPoint" type="loc:TpegNonJunctionPoint">
            <xs:annotation>
              <xs:documentation>A single non-junction point on the road network which is framed between two other specified points on the road network.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="to" type="loc:TpegPoint">
            <xs:annotation>
              <xs:documentation>The location at the downstream end of the section of road which frames the TPEGFramedPoint.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="from" type="loc:TpegPoint">
            <xs:annotation>
              <xs:documentation>The location at the upstream end of the section of road which frames the TPEGFramedPoint.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegFramedPointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegGeometricArea">
    <xs:annotation>
      <xs:documentation>A geometric area defined by a centre point and a radius.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegAreaLocation">
        <xs:sequence>
          <xs:element name="radius" type="com:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The radius of the corresponding circular area</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="centrePoint" type="loc:PointCoordinates">
            <xs:annotation>
              <xs:documentation>Centre point of a circular geometric area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="name" type="loc:TpegAreaDescriptor" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Name of area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegGeometricAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegHeight">
    <xs:annotation>
      <xs:documentation>Height information which provides additional discrimination for the applicable area.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="height" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A measurement of height in metres</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heightType" type="loc:_TpegLoc04HeightTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A descriptive identification of relative height using TPEG-Loc location referencing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_tpegHeightExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegIlcPointDescriptor">
    <xs:annotation>
      <xs:documentation>A descriptor for describing a junction by defining the intersecting roads.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegIlcPointDescriptorType" type="loc:_TpegLoc03IlcPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The nature of the descriptor used to define the location under consideration (derived from the TPEG Loc table 03).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegIlcPointDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegJunction">
    <xs:annotation>
      <xs:documentation>A point on the road network which is a road junction point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegPoint">
        <xs:sequence>
          <xs:element name="pointCoordinates" type="loc:PointCoordinates" />
          <xs:element name="name" type="loc:TpegJunctionPointDescriptor" minOccurs="0">
            <xs:annotation>
              <xs:documentation>A name which identifies a junction point on the road network</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ilc" type="loc:TpegIlcPointDescriptor" maxOccurs="3">
            <xs:annotation>
              <xs:documentation>A descriptor for describing a junction by identifying the intersecting roads at a road junction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="otherName" type="loc:TpegOtherPointDescriptor" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A descriptive name which helps to identify the junction point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegJunctionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegJunctionPointDescriptor">
    <xs:annotation>
      <xs:documentation>A descriptor for describing a point at a junction on a road network.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegJunctionPointDescriptorType" type="loc:_TpegLoc03JunctionPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The nature of the descriptor used to define the location under consideration (derived from the TPEG Loc table 03).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegJunctionPointDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegLinearLocation">
    <xs:annotation>
      <xs:documentation>A linear section along a single road defined between two points on the same road by a TPEG-Loc structure.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tpegDirection" type="loc:_DirectionEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tpegLinearLocationType" type="loc:_TpegLoc01LinearLocationSubtypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of TPEG location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="to" type="loc:TpegPoint">
        <xs:annotation>
          <xs:documentation>The location at the down stream end of the linear section of road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="from" type="loc:TpegPoint">
        <xs:annotation>
          <xs:documentation>The location at the up stream end of the linear section of road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_tpegLinearLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TpegLoc01AreaLocationSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Types of area.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="largeArea">
        <xs:annotation>
          <xs:documentation>A geographic or geometric large area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01FramedPointLocationSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Types of points on the road network framed by two other points on the same road.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="framedPoint">
        <xs:annotation>
          <xs:documentation>A point on the road network framed by two other points on the same road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01LinearLocationSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Types of linear location.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="segment">
        <xs:annotation>
          <xs:documentation>A segment (or link) of the road network corresponding to the way in which the road operator has segmented the network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01SimplePointLocationSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Types of simple point.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="intersection">
        <xs:annotation>
          <xs:documentation>An point on the road network at which one or more roads intersect.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonLinkedPoint">
        <xs:annotation>
          <xs:documentation>A point on the road network which is not at a junction or intersection.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03AreaDescriptorSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Descriptors for describing area locations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAreaName">
        <xs:annotation>
          <xs:documentation>Name of an administrative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="administrativeReferenceName">
        <xs:annotation>
          <xs:documentation>Reference name by which administrative area is known.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="areaName">
        <xs:annotation>
          <xs:documentation>Name of an area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="countyName">
        <xs:annotation>
          <xs:documentation>Name of a county (administrative sub-division).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lakeName">
        <xs:annotation>
          <xs:documentation>Name of a lake.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nationName">
        <xs:annotation>
          <xs:documentation>Name of a nation (e.g. Wales) which is a sub-division of a ISO recognised country.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="policeForceControlAreaName">
        <xs:annotation>
          <xs:documentation>Name of a police force control area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="regionName">
        <xs:annotation>
          <xs:documentation>Name of a geographic region.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seaName">
        <xs:annotation>
          <xs:documentation>Name of a sea.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="townName">
        <xs:annotation>
          <xs:documentation>Name of a town.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03IlcPointDescriptorSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Descriptors for describing a junction by identifying the intersecting roads at a road junction.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="tpegIlcName1">
        <xs:annotation>
          <xs:documentation>The name of the road on which the junction point is located.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tpegIlcName2">
        <xs:annotation>
          <xs:documentation>The name of the first intersecting road at the junction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tpegIlcName3">
        <xs:annotation>
          <xs:documentation>The name of the second intersecting road (if one exists) at the junction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03JunctionPointDescriptorSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Descriptors for describing a point at a road junction.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="junctionName">
        <xs:annotation>
          <xs:documentation>Name of a road network junction where two or more roads join.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03OtherPointDescriptorSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Descriptors other than junction names and road descriptors which can help to identify the location of points on the road network.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAreaName">
        <xs:annotation>
          <xs:documentation>Name of an administrative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="administrativeReferenceName">
        <xs:annotation>
          <xs:documentation>Reference name by which an administrative area is known.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="airportName">
        <xs:annotation>
          <xs:documentation>Name of an airport.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="areaName">
        <xs:annotation>
          <xs:documentation>Name of an area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="buildingName">
        <xs:annotation>
          <xs:documentation>Name of a building.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busStopIdentifier">
        <xs:annotation>
          <xs:documentation>Identifier of a bus stop on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busStopName">
        <xs:annotation>
          <xs:documentation>Name of a bus stop on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="canalName">
        <xs:annotation>
          <xs:documentation>Name of a canal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="countyName">
        <xs:annotation>
          <xs:documentation>Name of a county (administrative sub-division).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferryPortName">
        <xs:annotation>
          <xs:documentation>Name of a ferry port.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="intersectionName">
        <xs:annotation>
          <xs:documentation>Name of a road network intersection.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lakeName">
        <xs:annotation>
          <xs:documentation>Name of a lake.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="linkName">
        <xs:annotation>
          <xs:documentation>Name of a road link.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="localLinkName">
        <xs:annotation>
          <xs:documentation>Local name of a road link.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metroStationName">
        <xs:annotation>
          <xs:documentation>Name of a metro/underground station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nationName">
        <xs:annotation>
          <xs:documentation>Name of a nation (e.g. Wales) which is a sub-division of a ISO recognised country.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonLinkedPointName">
        <xs:annotation>
          <xs:documentation>Name of a point on the road network which is not at a junction or intersection. </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkingFacilityName">
        <xs:annotation>
          <xs:documentation>Name of a parking facility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pointName">
        <xs:annotation>
          <xs:documentation>Name of a specific point.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pointOfInterestName">
        <xs:annotation>
          <xs:documentation>Name of a general point of interest.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railwayStation">
        <xs:annotation>
          <xs:documentation>Name of a railway station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="regionName">
        <xs:annotation>
          <xs:documentation>Name of a geographic region.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="riverName">
        <xs:annotation>
          <xs:documentation>Name of a river.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seaName">
        <xs:annotation>
          <xs:documentation>Name of a sea.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceAreaName">
        <xs:annotation>
          <xs:documentation>Name of a service area on a road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tidalRiverName">
        <xs:annotation>
          <xs:documentation>Name of a river which is of a tidal nature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="townName">
        <xs:annotation>
          <xs:documentation>Name of a town.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc04HeightTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of height.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="above">
        <xs:annotation>
          <xs:documentation>Height above specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="aboveSeaLevel">
        <xs:annotation>
          <xs:documentation>Height above mean sea high water level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="aboveStreetLevel">
        <xs:annotation>
          <xs:documentation>Height above street level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="at">
        <xs:annotation>
          <xs:documentation>At height of specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atSeaLevel">
        <xs:annotation>
          <xs:documentation>At mean sea high water level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atStreetLevel">
        <xs:annotation>
          <xs:documentation>At street level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="below">
        <xs:annotation>
          <xs:documentation>Height below specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="belowSeaLevel">
        <xs:annotation>
          <xs:documentation>Height below mean sea high water level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="belowStreetLevel">
        <xs:annotation>
          <xs:documentation>Height below street level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="undefined">
        <xs:annotation>
          <xs:documentation>Undefined height reference.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown height reference.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TpegNamedOnlyArea">
    <xs:annotation>
      <xs:documentation>An area defined by a well-known name.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegAreaLocation">
        <xs:sequence>
          <xs:element name="name" type="loc:TpegAreaDescriptor" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Name of area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegNamedOnlyAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegNonJunctionPoint">
    <xs:annotation>
      <xs:documentation>A point on the road network which is not a road junction point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegPoint">
        <xs:sequence>
          <xs:element name="pointCoordinates" type="loc:PointCoordinates" />
          <xs:element name="name" type="loc:TpegOtherPointDescriptor" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A descriptive name which helps to identify the non-junction point. At least one descriptor must identify the road on which the point is located, i.e. must be of type 'linkName' or 'localLinkName'.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegNonJunctionPointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegOtherPointDescriptor">
    <xs:annotation>
      <xs:documentation>General descriptor for describing a point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegOtherPointDescriptorType" type="loc:_TpegLoc03OtherPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The nature of the descriptor used to define the location under consideration (derived from the TPEG Loc table 03).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegOtherPointDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>A point on the road network which is either a junction point or a non junction point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_tpegPointExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegPointDescriptor" abstract="true">
    <xs:annotation>
      <xs:documentation>A descriptor for describing a point location.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegDescriptor">
        <xs:sequence>
          <xs:element name="_tpegPointDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegPointLocation" abstract="true">
    <xs:annotation>
      <xs:documentation>A single point on the road network defined by a TPEG-Loc structure and which has an associated direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tpegDirection" type="loc:_DirectionEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_tpegPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegSimplePoint">
    <xs:annotation>
      <xs:documentation>A point on the road network which is not bounded by any other points on the road network.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:TpegPointLocation">
        <xs:sequence>
          <xs:element name="tpegSimplePointLocationType" type="loc:_TpegLoc01SimplePointLocationSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of TPEG location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="point" type="loc:TpegPoint">
            <xs:annotation>
              <xs:documentation>A single point defined by a coordinate set and TPEG descriptors.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_tpegSimplePointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema><?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:prk="http://datex2.eu/schema/3/parking" version="1" targetNamespace="http://datex2.eu/schema/3/parking" xmlns:com="http://datex2.eu/schema/3/common" xmlns:loc="http://datex2.eu/schema/3/locationReferencing" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/locationReferencing" schemaLocation="DATEXII_3_LocationReferencing.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/common" schemaLocation="DATEXII_3_Common.xsd" />
  <xs:complexType name="_RoadTypeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:RoadTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="RoadInformationEnhanced">
    <xs:annotation>
      <xs:documentation>Additional road information.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:RoadInformation">
        <xs:sequence>
          <xs:element name="typeOfRoad" type="prk:_RoadTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Type of the road.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="roadOrigination" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Name of some city, area, compass direction or other identification this road comes from.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_roadInformationEnhancedExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadTypeEnum">
    <xs:annotation>
      <xs:documentation>Categorisation of the  road type (motorway,main road,...).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="motorway">
        <xs:annotation>
          <xs:documentation>Motorway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trunkRoad">
        <xs:annotation>
          <xs:documentation>Trunk road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mainRoad">
        <xs:annotation>
          <xs:documentation>Main road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema><?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:vms="http://datex2.eu/schema/3/vms" version="3.3" targetNamespace="http://datex2.eu/schema/3/vms" xmlns:com="http://datex2.eu/schema/3/common" xmlns:loc="http://datex2.eu/schema/3/locationReferencing" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/locationReferencing" schemaLocation="DATEXII_3_LocationReferencing.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/common" schemaLocation="DATEXII_3_Common.xsd" />
  <xs:complexType name="_ColourEnum">
    <xs:simpleContent>
      <xs:extension base="vms:ColourEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_CompositePictogramEnum">
    <xs:simpleContent>
      <xs:extension base="vms:CompositePictogramEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DedicatedUsageEnum">
    <xs:simpleContent>
      <xs:extension base="vms:DedicatedUsageEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DisplayedNumericalInformationTypeEnum">
    <xs:simpleContent>
      <xs:extension base="vms:DisplayedNumericalInformationTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_GddServiceCategoryEnum">
    <xs:simpleContent>
      <xs:extension base="vms:GddServiceCategoryEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ImageFormatEnum">
    <xs:simpleContent>
      <xs:extension base="vms:ImageFormatEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_InformationTypeEnum">
    <xs:simpleContent>
      <xs:extension base="vms:InformationTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_MessageInformationTypeEnum">
    <xs:simpleContent>
      <xs:extension base="vms:MessageInformationTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_MultiPageDisplayPageNumberDisplayAreaSettings">
    <xs:sequence>
      <xs:element name="displayAreaSettings" type="vms:DisplayAreaSettings" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="pageNumber" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_PhysicalSupportEnum">
    <xs:simpleContent>
      <xs:extension base="vms:PhysicalSupportEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PictogramEnum">
    <xs:simpleContent>
      <xs:extension base="vms:PictogramEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PositionXAbsoluteEnum">
    <xs:simpleContent>
      <xs:extension base="vms:PositionXAbsoluteEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PositionXRelativeEnum">
    <xs:simpleContent>
      <xs:extension base="vms:PositionXRelativeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PositionYAbsoluteEnum">
    <xs:simpleContent>
      <xs:extension base="vms:PositionYAbsoluteEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PositionYRelativeEnum">
    <xs:simpleContent>
      <xs:extension base="vms:PositionYRelativeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SettingReasonEnum">
    <xs:simpleContent>
      <xs:extension base="vms:SettingReasonEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SituationRecordVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="sit:SituationRecord" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_SituationVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="sit:Situation" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_SupplementalPictogramEnum">
    <xs:simpleContent>
      <xs:extension base="vms:SupplementalPictogramEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TextDisplayLineIndexTextLine">
    <xs:sequence>
      <xs:element name="textLine" type="vms:TextLine" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="lineIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_UnitOfMeasureEnum">
    <xs:simpleContent>
      <xs:extension base="vms:UnitOfMeasureEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_VmsConfigurationDisplayAreaIndexDisplayArea">
    <xs:sequence>
      <xs:element name="displayArea" type="vms:DisplayArea" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="displayAreaIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsControllerFaultEnum">
    <xs:simpleContent>
      <xs:extension base="vms:VmsControllerFaultEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_VmsControllerStatusVmsIndexVmsStatus">
    <xs:sequence>
      <xs:element name="vmsStatus" type="vms:VmsStatus" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="vmsIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsControllerTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="vms:VmsControllerTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_VmsControllerVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="vms:VmsController" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_VmsControllerVmsIndexVms">
    <xs:sequence>
      <xs:element name="vms" type="vms:Vms" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="vmsIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsFaultEnum">
    <xs:simpleContent>
      <xs:extension base="vms:VmsFaultEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_VmsMessageDisplayAreaIndexDisplayAreaSettings">
    <xs:sequence>
      <xs:element name="displayAreaSettings" type="vms:DisplayAreaSettings" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="displayAreaIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsStatusMessageIndexVmsMessage">
    <xs:sequence>
      <xs:element name="vmsMessage" type="vms:VmsMessage" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="messageIndex" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_VmsTypeEnum">
    <xs:simpleContent>
      <xs:extension base="vms:VmsTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_WorkingStatusEnum">
    <xs:simpleContent>
      <xs:extension base="vms:WorkingStatusEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="ColourEnum">
    <xs:annotation>
      <xs:documentation>Colours.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="amber">
        <xs:annotation>
          <xs:documentation>The colour amber.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="blue">
        <xs:annotation>
          <xs:documentation>The colour blue.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="green">
        <xs:annotation>
          <xs:documentation>The colour green.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="red">
        <xs:annotation>
          <xs:documentation>The colour red.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="white">
        <xs:annotation>
          <xs:documentation>The colour white.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="whiteYellow">
        <xs:annotation>
          <xs:documentation>The colour white-yellow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CompositePictogram">
    <xs:annotation>
      <xs:documentation>A composite pictogram representing a diagrammatic schema in association with an embedded regular sign.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:Pictogram">
        <xs:sequence>
          <xs:element name="pictogramDescription" type="vms:_CompositePictogramEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Description of the displayed composed pictogram.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="regularPictogram" type="vms:RegularPictogram" />
          <xs:element name="_compositePictogramExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CompositePictogramEnum">
    <xs:annotation>
      <xs:documentation>Identifies a pictogram used only for building a composite pictogram</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="conditionOnCurrentSectionAfterNextExit">
        <xs:annotation>
          <xs:documentation>Deals with condition on current section after next exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="conditionAtNextExit">
        <xs:annotation>
          <xs:documentation>Deals with condition at next exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="conditionOnCurrentSectionAfterSecondtExit">
        <xs:annotation>
          <xs:documentation>Deals with condition on current section after second exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="conditionAtSecondExit">
        <xs:annotation>
          <xs:documentation>Deals with condition on current section at second exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictionOnCurrentSectionAfterNextExit">
        <xs:annotation>
          <xs:documentation>Deals with restriction on current section after next exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictionAtNextExit">
        <xs:annotation>
          <xs:documentation>Deals with restriction at next exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictionOnCurrentSectionAfterSecondExit">
        <xs:annotation>
          <xs:documentation>Deals with restriction on current section after second exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictionAtSecondtExit">
        <xs:annotation>
          <xs:documentation>Deals with restriction after second exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DedicatedUsageEnum">
    <xs:annotation>
      <xs:documentation>Type of usage for which a VMS is dedicated</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="energyInformation">
        <xs:annotation>
          <xs:documentation>Dedicated to displaying energy information</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inspectionArea">
        <xs:annotation>
          <xs:documentation>Dedicated to an inspection area</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="laneControlSystem">
        <xs:annotation>
          <xs:documentation>Dedicated to the purpose of lane control</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkingInformation">
        <xs:annotation>
          <xs:documentation>Dedicated to displaying parking information</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rampMetering">
        <xs:annotation>
          <xs:documentation>Dedicated to ramp metering</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tunnelManagement">
        <xs:annotation>
          <xs:documentation>Dedicated to tunnel management</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other dedicated usage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DisplayArea">
    <xs:annotation>
      <xs:documentation>Configuration (static or dynamic) of a display area.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="sequencingCapable" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates whether the display area on the VMS is capable of sequencing through multiple pages. True = capable.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maxNumberOfSequentialPages" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Maximum number of pages which the VMS is capable of scrolling through sequentially (2 to n).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="positionXAbsolute" type="vms:_PositionXAbsoluteEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The horizontal position of the area in which the pictogram is displayed, i.e. at the left, or right of the VMS display.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="positionXRelativeToPrevious" type="vms:_PositionXRelativeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The horizontal position of the area in which the pictogram is displayed relative to the previous display in the collection (e.g. to the left, to the right ....).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="positionYAbsolute" type="vms:_PositionYAbsoluteEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The vertical position of the area in which the area is displayed, i.e. at the top or bottom of the VMS display.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="positionYRelativeToPrevious" type="vms:_PositionYRelativeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The horizontal position of the area in which the pictogram is displayed relative to the previous display area in the collection (i.e.above or below).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="displayGeometry" type="vms:DisplayGeometry" minOccurs="0" />
      <xs:element name="overriddenLaneAssociation" type="loc:Lane" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The display area is associated with these lanes, which refine any location specified for the VMS</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_displayAreaExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DisplayAreaSettings" abstract="true">
    <xs:annotation>
      <xs:documentation>A display of pictograms or text on one area on a VMS.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="isBlank" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies whether this display area is blank. The absence of this attribute has no semantics.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="legallyBinding" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The semantics of this display are legally binding for road users</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="legalBasis" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies any legal basis for the elements displayed</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_displayAreaSettingsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DisplayedNumericalInformation">
    <xs:annotation>
      <xs:documentation>Numerical information displayed on a sign</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="numericalInformationType" type="vms:_DisplayedNumericalInformationTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Type of numerical information displayed</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numericValue" type="com:Decimal" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The value displayed. In the special case where the unit of measure is feet and inches, the part of the number after the decimal separator is the number of inches.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="unitOfMeasure" type="vms:_UnitOfMeasureEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The unit of measure for the numeric value. This may be displayed or predefined for a type of sign.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_displayedNumericalInformationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DisplayedNumericalInformationTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of numerical information displayed</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="distance">
        <xs:annotation>
          <xs:documentation>A distance</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="height">
        <xs:annotation>
          <xs:documentation>A height e.g. for a vehicle height restriction</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="length">
        <xs:annotation>
          <xs:documentation>A length e.g. for a vehicle length restriction</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rateOfIncline">
        <xs:annotation>
          <xs:documentation>A rate of incline</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sectionLength">
        <xs:annotation>
          <xs:documentation>A road section length</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="speed">
        <xs:annotation>
          <xs:documentation>A speed e.g. for a vehicle speed limit</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="weight">
        <xs:annotation>
          <xs:documentation>A weight e.g. for a vehicle weight restriction</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="weightPerAxle">
        <xs:annotation>
          <xs:documentation>An axle weight e.g. for an axle weight restriction</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="width">
        <xs:annotation>
          <xs:documentation>A width e.g. for a vehicle width restriction</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DisplayGeometry">
    <xs:annotation>
      <xs:documentation>Characteristics of the geometry of a display</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="pixelsAcross" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number of pixels horizontally across the display area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pixelsDown" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number of pixels vertically down the display area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="displayHeight" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The vertical height measured in metres of the display area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="displayWidth" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The horizontal width measured in metres of the display area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="positionX" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The X-coordinate (horizontal) position of this specific display area measured from the top left of the sign's overall display area to the top left of this specific display area</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="positionY" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The Y-coordinate (vertical) position of this specific display area measured from the top left of the sign's overall display area to the top left of this specific display area</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_displayGeometryExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GddPictogramAttributes">
    <xs:annotation>
      <xs:documentation>ISO 14823 Graphic Data Dictionary attributes with textual or numeric data to supplement a pictogram identification.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="attributes" type="com:Base64Binary" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ISO 14823 "attributes" data frame which augments the basic identification of the type of pictogram with further textual or numeric data. The encoding shall follow unaligned packed encoding rules (UPER) [ISO/IEC 8825-2:2015]</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_gddPictogramAttributesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GddPictogramCategoryCode">
    <xs:annotation>
      <xs:documentation>A 3-digit code to identify a pictogram, as defined in ISO 14823 Graphic Data Dictionary. That standard is inconsistent in its definition of the value range; this model uses the more permissive definition where the bounds are 100 and 999.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:positiveInteger" />
  </xs:simpleType>
  <xs:complexType name="GddPictogramIdentification">
    <xs:annotation>
      <xs:documentation>Group of codes that uniquely identifies a kind of pictogram, according to the ISO 14823 Graphic Data Dictionary</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="country" type="com:CountryCode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Country code used to either allow associating a country-specific rendering with the coded pictogram or distinguish nationally-defined pictogram codes.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="serviceCategory" type="vms:_GddServiceCategoryEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Category used to group pictograms for a given usage</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pictogramCategoryCode" type="vms:GddPictogramCategoryCode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Code that identifies a pictogram for a given country and service category.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_gddPictogramIdentificationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GddServiceCategoryEnum">
    <xs:annotation>
      <xs:documentation>Type of service offered by the pictogram, as defined in ISO 14823.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="dangerWarning">
        <xs:annotation>
          <xs:documentation>Danger warning sign information (GDD service category 11).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="regulatory">
        <xs:annotation>
          <xs:documentation>Informing of special obligations, restrictions or prohibitions (GDD service category 12).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="informative">
        <xs:annotation>
          <xs:documentation>Informative, advisory, or guiding (GDD service category 13).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicFacilities">
        <xs:annotation>
          <xs:documentation>Informing of a certain public facility and its service (GDD service category 21).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ambientConditions">
        <xs:annotation>
          <xs:documentation>Notifying of road-related ambient conditions and events on route (GDD service category 31).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadConditions">
        <xs:annotation>
          <xs:documentation>Notifying of road-related conditions and events on route (GDD service category 32).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GddStructure">
    <xs:annotation>
      <xs:documentation>Graphic Data Dictionary structure, to identify a pictogram by code and optional supplementary attributes</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="gddPictogramIdentification" type="vms:GddPictogramIdentification" />
      <xs:element name="gddPictogramAttributes" type="vms:GddPictogramAttributes" minOccurs="0" />
      <xs:element name="_gddStructureExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Image">
    <xs:annotation>
      <xs:documentation>An image, with encoded data and identification of format</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="imageData" type="com:Base64Binary" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Encoded image data</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="imageFormat" type="vms:_ImageFormatEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies the image format of the associated image data</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_imageExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ImageFormatEnum">
    <xs:annotation>
      <xs:documentation>Identifies an image format</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="bmp">
        <xs:annotation>
          <xs:documentation>The bmp image format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gif">
        <xs:annotation>
          <xs:documentation>The gif image format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="jpeg">
        <xs:annotation>
          <xs:documentation>The jpeg image format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="png">
        <xs:annotation>
          <xs:documentation>The png image format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tiff">
        <xs:annotation>
          <xs:documentation>The TIFF image format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InformationTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of text characterisation.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="situationInformation">
        <xs:annotation>
          <xs:documentation>Information about the situation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="warning">
        <xs:annotation>
          <xs:documentation>The information is a warning</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="prohibition">
        <xs:annotation>
          <xs:documentation>The information is a prohibition</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="obligation">
        <xs:annotation>
          <xs:documentation>The information is an obligation</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="destination">
        <xs:annotation>
          <xs:documentation>The information is a destination</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="travelTime">
        <xs:annotation>
          <xs:documentation>The information is travel time</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delay">
        <xs:annotation>
          <xs:documentation>Delay information</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="location">
        <xs:annotation>
          <xs:documentation>Location information</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleType">
        <xs:annotation>
          <xs:documentation>The information is about vehicle type</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="generalInformation">
        <xs:annotation>
          <xs:documentation>General information</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="blank">
        <xs:annotation>
          <xs:documentation>There is no information content</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other kind of information</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ManagedLogicalLocation">
    <xs:annotation>
      <xs:documentation>The logical location (e.g. a car park, a section of road, a junction etc.) which a VMS contributes to the management of.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="managedLogicalLocation" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of the logical location (e.g. a car park, a section of road , a junction etc.) which this sign contributes to the management of.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="distanceFromLogicalLocation" type="com:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Distance in metres of the VMS from the logical location which this sign contributes to the management of.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="managedLocation" type="loc:Location" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The location which is managed by the variable message sign, such as the location of a junction or a car park.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_managedLogicalLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MessageInformationTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of information displayable on a VMS.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="campaignMessage">
        <xs:annotation>
          <xs:documentation>Campaign type information which is non time specific that may request certain actions (e.g. "do not drink and drive") or which is intended to influence drivers' behaviour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dateTime">
        <xs:annotation>
          <xs:documentation>Current date and/or time information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="futureInformation">
        <xs:annotation>
          <xs:documentation>Information which informs road users about future situations which can potentially cause congestion or influence future travel plans (e.g. future roadworks, closures, sporting events, public concerts, suspension of train or ferry services).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="instructionOrMessage">
        <xs:annotation>
          <xs:documentation>Instructions or messages to road users which are relevant at the current time, (e.g. "do not throw out any burning objects" or an Amber alert message).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="situationWarning">
        <xs:annotation>
          <xs:documentation>Information warning of a current situation likely to affect traffic on the road ahead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temperature">
        <xs:annotation>
          <xs:documentation>Temperature information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficManagement">
        <xs:annotation>
          <xs:documentation>Information comprising traffic management instructions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="travelTime">
        <xs:annotation>
          <xs:documentation>Travel time information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MultiPageDisplay">
    <xs:annotation>
      <xs:documentation>A display of multiple pages, sequentially displayed in order of their "pageNumber".</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:DisplayAreaSettings">
        <xs:sequence>
          <xs:element name="sequenceGroupNumber" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Where MultiPageDisplay instances have the same sequenceGroupNumber, the timed progression through their pages is synchronised.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="displayAreaSettings" type="vms:_MultiPageDisplayPageNumberDisplayAreaSettings" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_multiPageDisplayExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PhysicalSupportEnum">
    <xs:annotation>
      <xs:documentation>The ways in which equipments such as VMS are mounted or deployed on the road.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="centralReservationMounted">
        <xs:annotation>
          <xs:documentation>Equipment mounted in the central reservation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gantryMounted">
        <xs:annotation>
          <xs:documentation>Equipment mounted on an overhead gantry across the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overheadBridgeMounted">
        <xs:annotation>
          <xs:documentation>Equipment mounted overhead on a bridge structure.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadsideCantileverMounted">
        <xs:annotation>
          <xs:documentation>Equipment mounted on a cantilever from the roadside.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadsideMounted">
        <xs:annotation>
          <xs:documentation>Equipment mounted at the roadside.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trailerMounted">
        <xs:annotation>
          <xs:documentation>Equipment mounted on a movable trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tunnelEntranceMounted">
        <xs:annotation>
          <xs:documentation>Equipment mounted on the entrance to a tunnel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleMounted">
        <xs:annotation>
          <xs:documentation>Equipment mounted on a vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Pictogram" abstract="true">
    <xs:annotation>
      <xs:documentation>A main pictogram displayable on the VMS panel. Note a main pictogram may have an associated supplementary panel which may itself contain a further pictogram and line of text.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="customPictogramCode" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>If a custom code list (not based on GDD) is being used, this is the code of the pictogram using the pictogram code list identified in the corresponding PictogramDisplayArea object</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="additionalDescription" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Additional description of the pictogram.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pictogramFlashing" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication of whether the pictogram is flashing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pictogramInInverseColour" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The pictogram is displayed in inverse colour (i.e. the colours are the inverse of normal).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="viennaConventionCompliant" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that the displayed pictogram conforms with the Vienna Convention defined pictogram list as modified by "UNECE Consolidated Resolution on Road Signs and Signals".</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pictogramInformationType" type="vms:_InformationTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Allows characterising the type of displayed information</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="gddStructure" type="vms:GddStructure" minOccurs="0" />
      <xs:element name="_pictogramExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PictogramDisplay">
    <xs:annotation>
      <xs:documentation>A display of a pictogram on one area on a VMS, potentially with associated supplemental information or instructions.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:DisplayAreaSettings">
        <xs:sequence>
          <xs:element name="isPrimaryPictogram" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates if the given pictogram display area is considered as the primary pictogram (= True) or not (= False).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogramDisplayUrl" type="com:Url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Reference to a URL from where an image of the displayed pictogram can be be obtained.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogram" type="vms:Pictogram" />
          <xs:element name="supplementaryInformationDisplay" type="vms:SupplementaryInformationDisplay" minOccurs="0" />
          <xs:element name="image" type="vms:Image" minOccurs="0" />
          <xs:element name="_pictogramDisplayExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PictogramDisplayArea">
    <xs:annotation>
      <xs:documentation>Characteristics specific to a pictogram display area on the VMS.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:DisplayArea">
        <xs:sequence>
          <xs:element name="pictogramCodeListIdentifier" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates which pictogram code list is referenced. This may be ISO 14823 or a custom list.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogramNumberOfColours" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The number of colours the pictogram display area is capable of rendering.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_pictogramDisplayAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PictogramEnum">
    <xs:annotation>
      <xs:documentation>Types of pictogram not currently covered by ISO 14823 Graphic Data Dictionary</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="blankVoid">
        <xs:annotation>
          <xs:documentation>Blank or void.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bridgeClosed">
        <xs:annotation>
          <xs:documentation>Bridge closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carParkFull">
        <xs:annotation>
          <xs:documentation>Car park full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carParkSpacesAvailable">
        <xs:annotation>
          <xs:documentation>Spaces available in car park.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="corridorForEmergencyVehicleAccess">
        <xs:annotation>
          <xs:documentation>Corridor for emergency vehicle access</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="curveArrowToLeft">
        <xs:annotation>
          <xs:documentation>Single curve arrow to the left corresponding to an exit (without fork).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="curveArrowToRight">
        <xs:annotation>
          <xs:documentation>Single curve arrow to the right corresponding to an exit (without fork).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dangerOfFire">
        <xs:annotation>
          <xs:documentation>Danger of fire.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doubleExitToLeft">
        <xs:annotation>
          <xs:documentation>Triple arrow corresponding to two sequential exits to the left.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doubleExitToRight">
        <xs:annotation>
          <xs:documentation>Triple arrow corresponding to two sequential exits to the right.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="endOfAdvisorySpeed">
        <xs:annotation>
          <xs:documentation>End of advisory speed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fastenChildrensSeatBelts">
        <xs:annotation>
          <xs:documentation>Fasten the seat belts of children.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fastenYourSeatBelt">
        <xs:annotation>
          <xs:documentation>Fasten your seat belt.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fire">
        <xs:annotation>
          <xs:documentation>Fire.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="footballMatch">
        <xs:annotation>
          <xs:documentation>Football match (current or anticipated disruption due to football match).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hardShoulderNotRunning">
        <xs:annotation>
          <xs:documentation>The hard shoulder is not being used as a regular traffic lane but is reserved as a hard shoulder.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hardShoulderRunning">
        <xs:annotation>
          <xs:documentation>The hard shoulder is being used as a regular traffic lane i.e. the lane is not acting as a hard shoulder.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="horizontalDiversionToLeft">
        <xs:annotation>
          <xs:documentation>Correspond to the horizontal orange (to the left) sign for diversion</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="horizontalDiversionToRight">
        <xs:annotation>
          <xs:documentation>Correspond to the horizontal orange (to the right) sign for diversion</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="keepASafeDistance">
        <xs:annotation>
          <xs:documentation>Keep a safe distance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="keepLeft">
        <xs:annotation>
          <xs:documentation>Keep left.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="keepRight">
        <xs:annotation>
          <xs:documentation>Keep right.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane1ClosedOf2">
        <xs:annotation>
          <xs:documentation>Lane 1 closed on a 2 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane2ClosedOf2">
        <xs:annotation>
          <xs:documentation>Lane 2 closed on a 2 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane1ClosedOf3">
        <xs:annotation>
          <xs:documentation>Lane 1 closed on a 3 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane3ClosedOf3">
        <xs:annotation>
          <xs:documentation>Lane 3 closed on a 3 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanes1And2ClosedOf3">
        <xs:annotation>
          <xs:documentation>Lanes 1 and 2 closed on a 3 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanes2And3ClosedOf3">
        <xs:annotation>
          <xs:documentation>Lanes 2 and 3 closed on a 3 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane1ClosedOf4">
        <xs:annotation>
          <xs:documentation>Lane 1 closed on a 4 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane4ClosedOf4">
        <xs:annotation>
          <xs:documentation>Lane 4 closed on a 4 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanes1And2ClosedOf4">
        <xs:annotation>
          <xs:documentation>Lanes 1 and 2 closed on a 4 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanes3And4ClosedOf4">
        <xs:annotation>
          <xs:documentation>Lanes 3 and 4 closed on a 4 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanes1And2And3ClosedOf4">
        <xs:annotation>
          <xs:documentation>Lanes 1, 2 and 3 closed on a 4 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanes2And3And4ClosedOf4">
        <xs:annotation>
          <xs:documentation>Lanes 2, 3 and 4 closed on a 4 lane carriageway. Lanes numbered from nearside (next to hard shoulder on motorway) to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="leftHandLaneClosed">
        <xs:annotation>
          <xs:documentation>Left-hand lane closed ahead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="narrowLanesAhead">
        <xs:annotation>
          <xs:documentation>Narrow lanes ahead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="obliqueArrowToLeft">
        <xs:annotation>
          <xs:documentation>Single oblique straight arrow to the left corresponding to an exit (without fork).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="obliqueArrowToRight">
        <xs:annotation>
          <xs:documentation>Single oblique straight arrow to the right corresponding to an exit (without fork).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pollutionOrSmogAlert">
        <xs:annotation>
          <xs:documentation>Pollution or smog alert.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rightHandLaneClosed">
        <xs:annotation>
          <xs:documentation>Right-hand lane closed ahead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="singleExitToLeft">
        <xs:annotation>
          <xs:documentation>Double arrow corresponding to a single exit to the left.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="singleExitToRight">
        <xs:annotation>
          <xs:documentation>Double arrow corresponding to a single exit to the right.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="smoke">
        <xs:annotation>
          <xs:documentation>Smoke.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowPloughInAction">
        <xs:annotation>
          <xs:documentation>Snow plough(s) in action.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="speedCamerasInAction">
        <xs:annotation>
          <xs:documentation>Speed cameras in action.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="straightVerticalArrow">
        <xs:annotation>
          <xs:documentation>Straight vertical arrow (towards top).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficDeviatedToOppositeCarriagewayAhead">
        <xs:annotation>
          <xs:documentation>All traffic is diverted to the opposite carriageway ahead in a contraflow layout.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficPartiallyDeviatedToOppositeCarriagewayAhead">
        <xs:annotation>
          <xs:documentation>Traffic is partially diverted to the opposite carriageway ahead in a contraflow layout.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tunnelClosed">
        <xs:annotation>
          <xs:documentation>Tunnel closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="verticalDiversion">
        <xs:annotation>
          <xs:documentation>Correspond to the vertical orange sign for diversion.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PositionXAbsoluteEnum">
    <xs:annotation>
      <xs:documentation>Absolute horizontal positions of an item within an assigned space.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="onLeft">
        <xs:annotation>
          <xs:documentation>On the left of the assigned space.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTheMiddle">
        <xs:annotation>
          <xs:documentation>In the middle of the assigned space.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onRight">
        <xs:annotation>
          <xs:documentation>On the right of the assigned space.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PositionXRelativeEnum">
    <xs:annotation>
      <xs:documentation>Relative horizontal positions of one item to another.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="toTheLeft">
        <xs:annotation>
          <xs:documentation>Positioned to the left of relative item.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="alignedOnTheLeftSide">
        <xs:annotation>
          <xs:documentation>The left side of the area is aligned on the left side of the relative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="centred">
        <xs:annotation>
          <xs:documentation>The area is vertically centred on the relative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="alignedOnTheRightSide">
        <xs:annotation>
          <xs:documentation>The right side of the area is aligned on the right side of the relative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="toTheRight">
        <xs:annotation>
          <xs:documentation>Positioned to the right of relative item.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PositionYAbsoluteEnum">
    <xs:annotation>
      <xs:documentation>Absolute verticals positions of an item within an assigned space.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="atTop">
        <xs:annotation>
          <xs:documentation>At the top of the assigned space.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTheMiddle">
        <xs:annotation>
          <xs:documentation>In the middle of the assigned space.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atBottom">
        <xs:annotation>
          <xs:documentation>At the bottom of the assigned space.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PositionYRelativeEnum">
    <xs:annotation>
      <xs:documentation>Relative vertical positions of one item to another.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="above">
        <xs:annotation>
          <xs:documentation>Positioned above relative item.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="alignedOnTheTopSide">
        <xs:annotation>
          <xs:documentation>The top side of the area is aligned on the top side of the relative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="centred">
        <xs:annotation>
          <xs:documentation>The area is horizontally centred on the relative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="alignedOnTheBottomSide">
        <xs:annotation>
          <xs:documentation>The bottom side of the area is aligned on the bottom side of the relative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="below">
        <xs:annotation>
          <xs:documentation>Positioned below relative item.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RegularPictogram">
    <xs:annotation>
      <xs:documentation>A regular pictogram displayable on a VMS panel.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:Pictogram">
        <xs:sequence>
          <xs:element name="pictogramDescription" type="vms:_PictogramEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Description of the pictogram.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="presenceOfRedTriangle" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indication of the presence of a red triangle around the pictogram, often used to indicate imminence, typically within 2 km, of signed danger.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="displayedNumericalInformation" type="vms:DisplayedNumericalInformation" minOccurs="0" maxOccurs="2" />
          <xs:element name="_regularPictogramExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SettingReasonEnum">
    <xs:annotation>
      <xs:documentation>Coded reasons why a message has been selected for display on the sign.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="situation">
        <xs:annotation>
          <xs:documentation>Message selected as the result of a situation occuring either on or off the road which might affect road users. </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="operatorCreated">
        <xs:annotation>
          <xs:documentation>Message selected by operator as the result of an unmanaged event or situation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficManagement">
        <xs:annotation>
          <xs:documentation>Message selected as part of the implementation of a traffic management action. This can be part of a specific traffic management or diversion plan.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="travelTime">
        <xs:annotation>
          <xs:documentation>The VMS is currently selected to display travel times.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="campaign">
        <xs:annotation>
          <xs:documentation>The VMS is currently selected to display a campaign message.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="default">
        <xs:annotation>
          <xs:documentation>The VMS is currently selected to display default information (e.g. time, date, temperature).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupplementalPictogramEnum">
    <xs:annotation>
      <xs:documentation>Types of pictograms displayable in supplementary panels (normally below the main pictogram display which it qualifies).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="distanceToTheBeginningOfTheApplicationZone">
        <xs:annotation>
          <xs:documentation>Distance to the beginning of the application zone.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exceptAnyPowerDrivenVehicleDrawingTrailer">
        <xs:annotation>
          <xs:documentation>Except any power-driven vehicle drawing a trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exceptBus">
        <xs:annotation>
          <xs:documentation>Except for buses.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exceptGoodsVehicles">
        <xs:annotation>
          <xs:documentation>Except for goods vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exceptSemitrailer">
        <xs:annotation>
          <xs:documentation>Except for semitrailers (i.e. any trailer designed to be coupled to a motor vehicle in such a way that part of its weight and that of its load is borne by the motor vehicle).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exceptVehiclesCarryingDangerousGoods">
        <xs:annotation>
          <xs:documentation>Except for vehicles carrying dangerous goods (i.e. for which special sign plating is prescribed).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inCaseOfIceOrSnow">
        <xs:annotation>
          <xs:documentation>In case of ice or snow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lengthOfTheApplicationZone">
        <xs:annotation>
          <xs:documentation>Length of the applicable zone.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictedToAnyPowerDrivenVehicleDrawingTrailer">
        <xs:annotation>
          <xs:documentation>Restricted to any power driven vehicle drawing a trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictedToBus">
        <xs:annotation>
          <xs:documentation>Restricted to buses.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictedToGoodsVehicles">
        <xs:annotation>
          <xs:documentation>Restricted to goods vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictedToSemiTrailer">
        <xs:annotation>
          <xs:documentation>Restricted to semi trailers (i.e. any trailer designed to be coupled to a motor vehicle in such a way that part of its weight and that of its load is borne by the motor vehicle).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictedToVehiclesCarryingDangerousGoods">
        <xs:annotation>
          <xs:documentation>Restricted to vehicles carrying dangerous goods (i.e. for which special sign plating is prescribed).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="maintenanceVehicles">
        <xs:annotation>
          <xs:documentation>Maintenance vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowPloughs">
        <xs:annotation>
          <xs:documentation>Snow ploughs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SupplementaryInformationDisplay" abstract="true">
    <xs:annotation>
      <xs:documentation>A display of information or a regulatory instruction which is supplemental to the associated pictogram, comprising either an additional line of text or a pictogram or both.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:DisplayAreaSettings">
        <xs:sequence>
          <xs:element name="_supplementaryInformationDisplayExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplementaryPanelArea">
    <xs:annotation>
      <xs:documentation>Characteristics of a panel which can display details (sometimes regulatory in nature) that are supplementary to one pictogram, comprising an additional line of text or another pictogram.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:DisplayArea">
        <xs:sequence>
          <xs:element name="supplementaryPictogramCodeListIdentifier" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates which supplementary pictogram code list is referenced. This may be ISO 14823 or a custom list.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="relatedPictogramArea" type="com:Integer" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The displayAreaIndex associated with the pictogram display area that this supplementary display area is designed to supplement.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_supplementaryPanelAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplementaryPictogram">
    <xs:annotation>
      <xs:documentation>An additional pictogram that is displayed in the panel which is supplemental to the associated pictogram display.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:SupplementaryInformationDisplay">
        <xs:sequence>
          <xs:element name="pictogramDescription" type="vms:_SupplementalPictogramEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Description of the displayed supplementary pictogram.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogramCode" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The code of the supplementary pictogram from the supplementary pictogram code list referenced in the corresponding SupplementaryPanelArea.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogramUrl" type="com:Url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Reference to a URL from where an image of the displayed supplementary pictogram can be obtained.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="additionalDescription" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Additional free text description of the supplementary pictogram.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogramFlashing" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indication of whether the pictogram is flashing.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogramInformationType" type="vms:_InformationTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Allows characterising the type of displayed information</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_supplementaryPictogramExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplementaryText">
    <xs:annotation>
      <xs:documentation>Text used in a supplementary display associated with a pictogram</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:SupplementaryInformationDisplay">
        <xs:sequence>
          <xs:element name="textLine" type="vms:TextLine">
            <xs:annotation>
              <xs:documentation>One line of text displayed in the panel which is supplemental to the pictogram display.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_supplementaryTextExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TextDisplay">
    <xs:annotation>
      <xs:documentation>A page of text (comprising one or more ordered lines) that are displayed simultaneously on the VMS. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:DisplayAreaSettings">
        <xs:sequence>
          <xs:element name="textCode" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The code of the specific text, from the defined code list.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="textImageUrl" type="com:Url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Reference to a URL from where an image of the displayed text can be obtained.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="textLine" type="vms:_TextDisplayLineIndexTextLine" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_textDisplayExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TextDisplayArea">
    <xs:annotation>
      <xs:documentation>Characteristics specific to the textual display area on the VMS.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="vms:DisplayArea">
        <xs:sequence>
          <xs:element name="proportionalFont" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Whether the VMS supports proportional fonts</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="maxNumberOfCharacters" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Maximum number of displayable characters on a single line in the textual display area of the VMS.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="maxNumberOfRows" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Maximum number of rows of displayable characters in the textual display area of the VMS.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="textCodeListIdentifier" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates which textual message code list is referenced. This may be specific to the VMS type defined by vmsTypeCode.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="maxFontHeight" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Maximum font height in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="minFontHeight" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Minimum font height in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="maxFontWidth" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Maximum font width in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="minFontWidth" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Minimum font width in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="maxFontSpacing" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Maximum font spacing in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="minFontSpacing" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Minimum font spacing in pixels.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_textDisplayAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TextLine">
    <xs:annotation>
      <xs:documentation>A single line of text displayed on a text display area or supplementary panel or corresponding to a displayed text. It may correspond to the entire text in the case that text segmentation in lines is not available.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="textLine" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A free-text string that is displayed on a single line on the text display area. It may correspond to the entire text in the case that text segmentation in lines is not available.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lineColour" type="vms:_ColourEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The colour of the displayed text.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lineFlashing" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication of whether the displayed text is flashing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lineHtml" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The displayed line of text defined by an HTML string showing text formatting tags.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="isExactTextOnSign" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Confirms whether the specified text is exactly as displayed, or whether it is just a semantic equivalent.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="textInformationType" type="vms:_InformationTypeEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Allows characterising the type of displayed information</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_textLineExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="lineLanguage" type="com:Language" use="optional">
      <xs:annotation>
        <xs:documentation>The language of the displayed text, specified by an ISO 639-1 language code.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:simpleType name="UnitOfMeasureEnum">
    <xs:annotation>
      <xs:documentation>Identifies a unit of measure for a physical quantity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="feet">
        <xs:annotation>
          <xs:documentation>The imperial unit feet</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="feetAndInches">
        <xs:annotation>
          <xs:documentation>The imperial units feet and inches</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="kilometres">
        <xs:annotation>
          <xs:documentation>The metric unit kilometres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="kilometresPerHour">
        <xs:annotation>
          <xs:documentation>The unit kilometres per hour</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metres">
        <xs:annotation>
          <xs:documentation>The metric unit metres</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="miles">
        <xs:annotation>
          <xs:documentation>The imperial unit miles</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="milesPerHour">
        <xs:annotation>
          <xs:documentation>The unit miles per hour</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage">
        <xs:annotation>
          <xs:documentation>A percentage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tonnes">
        <xs:annotation>
          <xs:documentation>The metric unit tonnes</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="yards">
        <xs:annotation>
          <xs:documentation>The imperial unit yards</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Vms">
    <xs:annotation>
      <xs:documentation>Variable message sign - a display panel used to display one or more messages (text, symbols, pictograms or combinations) that can be changed or switched on or off as required</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="lanternsPresent" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates whether the VMS is equipped with flashing lights (called lanterns in some countries) outside the text or pictogram display areas</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The description of the VMS (possibly giving a description of its location or its normal use).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="owner" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Owner (authority or organisation) of the VMS. This may not be the same as the authority or organisation which is currently controlling the VMS.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="physicalSupport" type="vms:_PhysicalSupportEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Description of how the VMS is physically mounted or deployed on the road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsType" type="vms:_VmsTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Broad classification of the type of variable message sign.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsTypeCode" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specification of the type of VMS defined by a code, normally country or even manufacturer specific (e.g. MS4).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dynamicallyConfigurable" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies (when True) that the VMS has a display area that may be dynamically configured to display different combinations of text and pictogram areas. The current configuration will normally be given with each published current VMS setting.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="displayHeight" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Height in metres of the sign's overall display area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="displayWidth" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Width in metres of the sign's overall display area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heightAboveCarriageway" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Height in metres of the mounted sign above the carriageway, measured to the bottom of the display area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dedicatedUsage" type="vms:_DedicatedUsageEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Type of usage to which this VMS is dedicated</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsConfiguration" type="vms:VmsConfiguration" />
      <xs:element name="vmsLocation" type="loc:Location" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The physical point location at which the variable message sign is situated. For mobile VMS which are regularly moved this need not be provided. Instead the VMS location should be provided in the VmsPublication along with current settings.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="managedLogicalLocation" type="vms:ManagedLogicalLocation" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The logical location managed by the VMS</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="imageLink" type="com:UrlLink" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A URL reference from where an image of the VMS can be obtained.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_vmsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsConfiguration">
    <xs:annotation>
      <xs:documentation>Describes the current configuration and characteristics of a VMS, whether it is statically or dynamically configured.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="numberOfDisplayAreas" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number of display areas which the VMS contains.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="displayArea" type="vms:_VmsConfigurationDisplayAreaIndexDisplayArea" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_vmsConfigurationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsController">
    <xs:annotation>
      <xs:documentation>A roadside unit which can control one or more variable message signs on a single gantry or mounting or on closely associated gantries or mountings.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="numberOfVms" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number of variable message signs controlled by the unit.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="externalIdentifier" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of a VMS controller unit used by the supplier or consumer systems.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ipAddress" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>IP network address of the VMS controller unit.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="electronicAddress" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Electronic address of the VMS controller unit (if not IP addressable).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vms" type="vms:_VmsControllerVmsIndexVms" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_vmsControllerExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="VmsControllerFault">
    <xs:annotation>
      <xs:documentation>Details of the fault which is being reported for the specified variable message sign control unit.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:Fault">
        <xs:sequence>
          <xs:element name="vmsControllerFault" type="vms:_VmsControllerFaultEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of fault which is being reported for the VMS unit.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_vmsControllerFaultExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VmsControllerFaultEnum">
    <xs:annotation>
      <xs:documentation>Types of variable message sign controller faults.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="communicationsFailure">
        <xs:annotation>
          <xs:documentation>Communications failure affecting VMS controller</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="powerFailure">
        <xs:annotation>
          <xs:documentation>Power to VMS controller has failed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VmsControllerStatus">
    <xs:annotation>
      <xs:documentation>Status of a VMS controller unit</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="vmsControllerTableReference" type="vms:_VmsControllerTableVersionedReference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a versioned VMS controller unit table.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsControllerReference" type="vms:_VmsControllerVersionedReference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a versioned VMS controller record in a VMS controller table which defines the characteristics of the VMS controller unit.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="statusUpdateTime" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Time at which this VMS controller unit status was updated</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="informationManagerOverride" type="com:InternationalIdentifier" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Organisation that manages the information content (is responsible for updates of this information) typically the organisation that first made the DATEX II publication of this content. This value overrides any value specified at a more general level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsStatus" type="vms:_VmsControllerStatusVmsIndexVmsStatus" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsControllerFault" type="vms:VmsControllerFault" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_vmsControllerStatusExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsControllerTable">
    <xs:annotation>
      <xs:documentation>A versioned VMS controller unit table comprising a number of data records, each record defining the characteristics of a specific deployed variable message sign controller unit.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="vmsControllerTableIdentification" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An alphanumeric identification for the VMS controller unit table, possibly human readable. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="informationManager" type="com:InternationalIdentifier" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Organisation that manages the information content (is responsible for updates of this information) typically the organisation that first made the DATEX II publication of this content.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsController" type="vms:VmsController" maxOccurs="unbounded" />
      <xs:element name="_vmsControllerTableExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />
    <xs:attribute name="version" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="VmsFault">
    <xs:annotation>
      <xs:documentation>Details of the fault which is being reported for the specified variable message sign panel.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:Fault">
        <xs:sequence>
          <xs:element name="vmsFault" type="vms:_VmsFaultEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of fault which is being reported for the specified variable message sign panel.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_vmsFaultExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VmsFaultEnum">
    <xs:annotation>
      <xs:documentation>Types of variable message sign faults.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="incorrectMessageDisplayed">
        <xs:annotation>
          <xs:documentation>Incorrect message is being displayed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="incorrectPictogramDisplayed">
        <xs:annotation>
          <xs:documentation>Incorrect pictogram is being displayed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="outOfService">
        <xs:annotation>
          <xs:documentation>Not currently in service (e.g. intentionally disconnected or switched off during roadworks).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unableToClearDown">
        <xs:annotation>
          <xs:documentation>Unable to clear down information displayed on VMS.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown VMS fault.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VmsMessage">
    <xs:annotation>
      <xs:documentation>A message displayed on a VMS which can comprise one or more sequentially displayed text pages and/or pictograms with supplementary details.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="associatedTrafficManagementPlan" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The identification of the traffic management plan or diversion plan with which the message is associated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="messageSetBy" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The organisation or authority which set the message currently being displayed. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="setBySystem" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates whether the message has been set automatically by a system. True =  automatically set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="reasonForSetting" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The reason why the sign has been set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="codedReasonForSetting" type="vms:_SettingReasonEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The reason, in terms of a high-level coded classification, why the sign has been set. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="messageInformationType" type="vms:_MessageInformationTypeEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Type of information being displayed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="primarySetting" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifies whether the message setting is primary (explicitly requested) or is secondary (derived according to an algorithm as the result of setting other signs). True = a primary setting.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="mareNostrumCompliant" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication that the displayed message (text and pictogram) conforms with the formulation recommended by the Mare Nostrum project.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="timeLastSet" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date/time at which the sign was last set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="requestedBy" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The authority, organisation or system which requested the setting of the message. This may be different from the authority or system which actually set the message on behalf of the requestor.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="relatedSituation" type="vms:_SituationVersionedReference" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A reference to the managed situation to which the set message relates.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="relatedSituationRecord" type="vms:_SituationRecordVersionedReference" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A reference to the situation record within a managed situation to which the set message relates.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="distanceFromClosestSituationRecord" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Distance of the VMS from the location of the closest situation record. If the VMS is located within the extent of the situation record this should be set to zero.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sequencingInterval" type="com:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time duration that each text page or pictogram within a message is displayed for before the VMS displays the next text page and/or pictogram in the message.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="displayAreaSettings" type="vms:_VmsMessageDisplayAreaIndexDisplayAreaSettings" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="image" type="vms:Image" minOccurs="0" />
      <xs:element name="_vmsMessageExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsPublication">
    <xs:annotation>
      <xs:documentation>A publication containing the current status and settings of one or more VMS controller units, each unit controlling one or more individual variable message signs.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="com:HeaderInformation" />
          <xs:element name="vmsControllerStatus" type="vms:VmsControllerStatus" maxOccurs="unbounded" />
          <xs:element name="_vmsPublicationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VmsStatus">
    <xs:annotation>
      <xs:documentation>Provides the current status and settings of the VMS and the currently displayed information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="flashingLightsOn" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates if lights outside display areas (called lanterns in some countries) are turned on.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="remainingPowerCapacity" type="com:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The estimated length of time for which the VMS will have power to continue operating</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="statusUpdateTime" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Time at which this VMS status was updated</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sequencingInterval" type="com:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time duration that each message is displayed for before the VMS displays the next message in the sequence.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="workingStatus" type="vms:_WorkingStatusEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates whether the VMS is usable. Note it can still be usable with minor faults.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsDynamicConfiguration" type="vms:VmsConfiguration" minOccurs="0" />
      <xs:element name="vmsMessage" type="vms:_VmsStatusMessageIndexVmsMessage" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vmsLocationOverride" type="loc:Location" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The current physical point location at which the VMS is situated. This overrides any physical location stated in the corresponding Vms object. Typically it is used for giving the updated physical location of a mobile VMS which has recently been moved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="managedLogicalLocationOverride" type="vms:ManagedLogicalLocation" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The current logical location that is being managed by the VMS which overrides any stated in the corresponding Vms object. Typically it is used for giving the updated managed location of a mobile VMS which has recently been moved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsFault" type="vms:VmsFault" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_vmsStatusExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmsTablePublication">
    <xs:annotation>
      <xs:documentation>A publication containing one or more VMS controller unit tables each comprising a set of records which hold details of VMS controller units.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="com:HeaderInformation" />
          <xs:element name="vmsControllerTable" type="vms:VmsControllerTable" maxOccurs="unbounded" />
          <xs:element name="_vmsTablePublicationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VmsTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of variable message sign.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="colourGraphic">
        <xs:annotation>
          <xs:documentation>A colour graphic display.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rotatingPrismSign">
        <xs:annotation>
          <xs:documentation>A sign implementing fixed messages which are made visible to drivers by electromechanical means e.g. a fixed sign parallel to traffic flow and therefore not legible is rotated to be orthogonal to traffic flow and becomes legible.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="monochromeGraphic">
        <xs:annotation>
          <xs:documentation>A monochrome graphic display.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="simpleMatrixSign">
        <xs:annotation>
          <xs:documentation>Simple display made up of a fixed matrix of pixels (e.g. sets of LEDs or lights) capable of showing a limited set of aspects (or matrix images). The display area is regarded as a pictogram area in DATEX II. </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fullMatrixSign">
        <xs:annotation>
          <xs:documentation>A full-matrix sign.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rollerBlindSign">
        <xs:annotation>
          <xs:documentation>Continuous sign using a roller blind.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="virtualVms">
        <xs:annotation>
          <xs:documentation>Not a physical VMS but a conceptual one used in the electronic distribution of information</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="WorkingStatusEnum">
    <xs:annotation>
      <xs:documentation>Identifies the working status of a VMS.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="blank">
        <xs:annotation>
          <xs:documentation>The VMS is blank</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="covered">
        <xs:annotation>
          <xs:documentation>The VMS is physically covered so no messages can be seen.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notWorking">
        <xs:annotation>
          <xs:documentation>The VMS is not working</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="working">
        <xs:annotation>
          <xs:documentation>The VMS is working</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>