Restareas (DATEX II v3.3)

DATEX II scheme

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:comx="http://datex2.eu/schema/3/commonExtension" version="3.3" targetNamespace="http://datex2.eu/schema/3/commonExtension" xmlns:com="http://datex2.eu/schema/3/common" xmlns:tro="http://datex2.eu/schema/3/trafficRegulation" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/trafficRegulation" schemaLocation="DATEXII_3_TrafficRegulation.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/common" schemaLocation="DATEXII_3_Common.xsd" />
  <xs:complexType name="_ApplicableDaysWithinMonthEnum">
    <xs:simpleContent>
      <xs:extension base="comx:ApplicableDaysWithinMonthEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_EuSpecialPurposeVehicleEnum">
    <xs:simpleContent>
      <xs:extension base="comx:EuSpecialPurposeVehicleEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_EuVehicleCategoryEnum">
    <xs:simpleContent>
      <xs:extension base="comx:EuVehicleCategoryEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_FuzzyTimeEnum">
    <xs:simpleContent>
      <xs:extension base="comx:FuzzyTimeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PowerUnitOfMeasureEnum">
    <xs:simpleContent>
      <xs:extension base="comx:PowerUnitOfMeasureEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="ADRClass">
    <xs:annotation>
      <xs:documentation>Specification of classes of dangerous goods according to ADR.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:String">
      <xs:pattern value="[1-9]|[4-6].[1-2]|4.3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AgeCharacteristic">
    <xs:annotation>
      <xs:documentation>Characteristics depending on vehicle age</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yearOfFirstRegistration" type="com:Year" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Year of first registration of the vehicle</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_ageCharacteristicExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ApplicableDaysWithinMonthEnum">
    <xs:annotation>
      <xs:documentation>Types of days within a month.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="evenDay">
        <xs:annotation>
          <xs:documentation>Days of a month with an even date.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="oddDay">
        <xs:annotation>
          <xs:documentation>Days of a month with an odd date.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="daysFromOneToFifteen">
        <xs:annotation>
          <xs:documentation>Days from the first of the month to the fifteenth.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="daysFromSixteenToThirtyOne">
        <xs:annotation>
          <xs:documentation>Days from the sixteenth of the month to the thirty-first.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DangerousGoodsExtended">
    <xs:annotation>
      <xs:documentation>Extension of dangerous goods class.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="adrClassValue" type="comx:ADRClass" minOccurs="0" maxOccurs="13">
        <xs:annotation>
          <xs:documentation>The class of the dangerous good according to ADR.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DayWeekMonthExtended">
    <xs:annotation>
      <xs:documentation>Extension of class DayWeekMonth.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="applicableDaysWithinMonth" type="comx:_ApplicableDaysWithinMonthEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Applicable days within month.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EmissionsExtension">
    <xs:annotation>
      <xs:documentation>An extension for the Emissions class to provide a comparison operator.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A comparison operator for the applicable emission classifications in correspondence to the specified value. The comparison applies to the Roman- or Arabic-numbered portion (e.g. euro6 &gt; euro5b), but not crosswise (e.g. euro6 cannot be compared to euroV).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EnginePowerCharacteristics">
    <xs:annotation>
      <xs:documentation>Characteristics of the engine power of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="enginePower" type="com:Float" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The engine power value of the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="unitOfMeasure" type="comx:_PowerUnitOfMeasureEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The unit in which the engine power is specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_enginePowerCharacteristicsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="EuSpecialPurposeVehicleEnum">
    <xs:annotation>
      <xs:documentation>Vehicle purpose according to EU legislation</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="motorCaravan">
        <xs:annotation>
          <xs:documentation>motor caravan: special purpose M category vehicle constructed to include living accommodation which contains at least the following equipment: seats and table, sleeping accommodation, cooking facilities and storage facilities.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="armouredVehicle">
        <xs:annotation>
          <xs:documentation>armoured vehicle: vehicle intended for the protection of conveyed passengers and/or goods and complying with armour plating anti-bullet requirements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ambulance">
        <xs:annotation>
          <xs:documentation>ambulance: a motor vehicle of category M intended for the transport of sick or injured people and having special equipment for such purpose.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hearse">
        <xs:annotation>
          <xs:documentation>hearse: a motor vehicle of category M intended for the transport of deceased people and having special equipment for such purpose.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trailerCaravan">
        <xs:annotation>
          <xs:documentation>trailer caravan ee ISO Standard 3833-77, term No 3.2.1.3.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mobileCrane">
        <xs:annotation>
          <xs:documentation>Mobile cranes’ means a special purpose vehicle of category N3, not fitted for the carriage of goods, provided with a crane whose lifting moment is equal to or higher than 400 kNm.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="otherSpecialPurposeVehicle">
        <xs:annotation>
          <xs:documentation>Other special purpose vehicles’ means vehicles as defined in item 5 above, with the exception of those mentioned in items 5.1 to 5.6. (often regulated nationally)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wheelChairAccessibleVehicle">
        <xs:annotation>
          <xs:documentation>wheel chair accessible vehicle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EuVehicleCategoryEnum">
    <xs:annotation>
      <xs:documentation>Vehicle categories according to EU legislation</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="m">
        <xs:annotation>
          <xs:documentation>Motor vehicles with at least four wheels designed and constructed for the carriage of passengers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="m1">
        <xs:annotation>
          <xs:documentation>Vehicles designed and constructed for the carriage of passengers and comprising no more than eight seats in addition to the driver’s seat.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="m2">
        <xs:annotation>
          <xs:documentation>Vehicles designed and constructed for the carriage of passengers, comprising more than eight seats in addition to the driver’s seat, and having a maximum mass not exceeding 5 tonnes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="m3">
        <xs:annotation>
          <xs:documentation>Vehicles designed and constructed for the carriage of passengers, comprising more than eight seats in addition to the driver’s seat, and having a maximum mass exceeding 5 tonnes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="n">
        <xs:annotation>
          <xs:documentation>Motor vehicles with at least four wheels designed and constructed for the carriage of goods.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="n1">
        <xs:annotation>
          <xs:documentation>Vehicles designed and constructed for the carriage of goods and having a maximum mass not exceeding 3,5 tonnes</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="n2">
        <xs:annotation>
          <xs:documentation>Vehicles designed and constructed for the carriage of goods and having a maximum mass exceeding 3,5 tonnes but not exceeding 12 tonnes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="n3">
        <xs:annotation>
          <xs:documentation>Vehicles designed and constructed for the carriage of goods and having a maximum mass exceeding 12 tonnes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="o">
        <xs:annotation>
          <xs:documentation>Trailers (including semi-trailers).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="o1">
        <xs:annotation>
          <xs:documentation>Trailers with a maximum mass not exceeding 0,75 tonnes</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="o2">
        <xs:annotation>
          <xs:documentation>Trailers with a maximum mass exceeding 0,75 tonnes but not exceeding 3,5 tonnes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="o3">
        <xs:annotation>
          <xs:documentation>Trailers with a maximum mass exceeding 3,5 tonnes but not exceeding 10 tonnes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="o4">
        <xs:annotation>
          <xs:documentation>Trailers with a maximum mass exceeding 10 tonnes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FuzzyPeriod">
    <xs:annotation>
      <xs:documentation>Class for fuzzy periods of a day.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="beginOrDuration" type="comx:_FuzzyTimeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Begin or duration of fuzzy time period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="endOrDuration" type="comx:_FuzzyTimeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>End or duration of fuzzy time period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_fuzzyPeriodExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="FuzzyTimeEnum">
    <xs:annotation>
      <xs:documentation>Enumeration for fuzzy time periods.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="dawn">
        <xs:annotation>
          <xs:documentation>Local time of dawn.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sunset">
        <xs:annotation>
          <xs:documentation>Local time of sunset.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GrossTrailerWeightCharacteristics">
    <xs:annotation>
      <xs:documentation>Gross weight characteristic of a trailer of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the trailer characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="grossTrailerWeight" type="com:Tonnes" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The gross weight of the vehicle and its load, including any trailers.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="typeOfWeight" type="com:_WeightTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The meaning of the weight value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_grossTrailerWeightCharacteristicsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PeriodExtended">
    <xs:annotation>
      <xs:documentation>Extension class for Period.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="fuzzyPeriod" type="comx:FuzzyPeriod" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PowerUnitOfMeasureEnum">
    <xs:annotation>
      <xs:documentation>Units for measuring power.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="kilowatt">
        <xs:annotation>
          <xs:documentation>Power expressed in kilowatt.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="horsepower">
        <xs:annotation>
          <xs:documentation>Power expressed in horsepower.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RegulatedCharacteristics">
    <xs:annotation>
      <xs:documentation>characteristics as defined in EU and or national regulations</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="euVehicleCategory" type="comx:_EuVehicleCategoryEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Vehicle category as defined in EU Directive 2007/46/EG</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="euSpecialPurposeVehicle" type="comx:_EuSpecialPurposeVehicleEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>vehicle purpose as defined in EU Directive 2007/46/EG</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="nationalSpecialPurposeVehicle" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>vehicle purpose as defined by national regulation</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_regulatedCharacteristicsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TrailerCharacteristics">
    <xs:annotation>
      <xs:documentation>The characteristics of a trailer e.g. gross weight of trailer.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="grossTrailerWeightCharacteristics" type="comx:GrossTrailerWeightCharacteristics">
        <xs:annotation>
          <xs:documentation>Gross trailer weight characteristics.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_trailerCharacteristicsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleCharacteristicsExtended">
    <xs:annotation>
      <xs:documentation>Extension class for vehicle characteristics</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ageCharacteristic" type="comx:AgeCharacteristic" minOccurs="0" />
      <xs:element name="maximumDesignSpeed" type="tro:Speed" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The speed which the vehicle is incapable, by reason of its construction, of exceeding on the level under its own power when fully laden.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trailerCharacteristics" type="comx:TrailerCharacteristics" minOccurs="0" />
      <xs:element name="hazardousMaterials" type="com:HazardousMaterials" minOccurs="0" />
      <xs:element name="enginePowerCharacteristics" type="comx:EnginePowerCharacteristics" minOccurs="0" maxOccurs="2" />
      <xs:element name="regulatedCharacteristics" type="comx:RegulatedCharacteristics" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
</xs:schema><?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:comx="http://datex2.eu/schema/3/commonExtension" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/commonExtension" schemaLocation="DATEXII_3_CommonExtension.xsd" />
  <xs:complexType name="_CalendarWeekWithinMonthEnum">
    <xs:simpleContent>
      <xs:extension base="com:CalendarWeekWithinMonthEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ComparisonOperatorEnum">
    <xs:simpleContent>
      <xs:extension base="com:ComparisonOperatorEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ComputationMethodEnum">
    <xs:simpleContent>
      <xs:extension base="com:ComputationMethodEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <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="_DangerousGoodsRegulationsEnum">
    <xs:simpleContent>
      <xs:extension base="com:DangerousGoodsRegulationsEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DayEnum">
    <xs:simpleContent>
      <xs:extension base="com:DayEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DayWeekMonthExtensionType">
    <xs:sequence>
      <xs:element name="dayWeekMonthExtended" type="comx:DayWeekMonthExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_EmissionClassificationEuroEnum">
    <xs:simpleContent>
      <xs:extension base="com:EmissionClassificationEuroEnum">
        <xs:attribute name="_extendedValue" type="com:_EmissionClassificationEuroEnumExtensionType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="_EmissionClassificationEuroEnumExtensionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="euroUnknown" />
      <xs:enumeration value="euroI" />
      <xs:enumeration value="euroII" />
      <xs:enumeration value="euroIII" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="_EmissionsExtensionType">
    <xs:sequence>
      <xs:element name="emissionsExtension" type="comx:EmissionsExtension" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </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="_FuelTypeEnum">
    <xs:simpleContent>
      <xs:extension base="com:FuelTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_HazardousMaterialsExtensionType">
    <xs:sequence>
      <xs:element name="dangerousGoodsExtended" type="comx:DangerousGoodsExtended" minOccurs="0" />
      <xs:any namespace="##other" 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="_InstanceOfDayEnum">
    <xs:simpleContent>
      <xs:extension base="com:InstanceOfDayEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_LoadTypeEnum">
    <xs:simpleContent>
      <xs:extension base="com:LoadTypeEnum">
        <xs:attribute name="_extendedValue" type="com:_LoadTypeEnumExtensionType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="_LoadTypeEnumExtensionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="dangerousGoods" />
      <xs:enumeration value="passenger" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="_LowEmissionLevelEnum">
    <xs:simpleContent>
      <xs:extension base="com:LowEmissionLevelEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_MonthOfYearEnum">
    <xs:simpleContent>
      <xs:extension base="com:MonthOfYearEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PeriodExtensionType">
    <xs:sequence>
      <xs:element name="periodExtended" type="comx:PeriodExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_PublicEventTypeEnum">
    <xs:simpleContent>
      <xs:extension base="com:PublicEventTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SpecialDayTypeEnum">
    <xs:simpleContent>
      <xs:extension base="com:SpecialDayTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TimePrecisionEnum">
    <xs:simpleContent>
      <xs:extension base="com:TimePrecisionEnum">
        <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:complexType name="_ValidityStatusEnum">
    <xs:simpleContent>
      <xs:extension base="com:ValidityStatusEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_VehicleCharacteristicsExtensionType">
    <xs:sequence>
      <xs:element name="vehicleCharacteristicsExtended" type="comx:VehicleCharacteristicsExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_VehicleEquipmentEnum">
    <xs:simpleContent>
      <xs:extension base="com:VehicleEquipmentEnum">
        <xs:attribute name="_extendedValue" type="com:_VehicleEquipmentEnumExtensionType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="_VehicleEquipmentEnumExtensionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="dippedHeadlightsInUse" />
      <xs:enumeration value="speedLimiterInUse" />
      <xs:enumeration value="electronicTollEquipment" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="_VehicleTypeEnum">
    <xs:simpleContent>
      <xs:extension base="com:VehicleTypeEnum">
        <xs:attribute name="_extendedValue" type="com:_VehicleTypeEnumExtensionType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="_VehicleTypeEnumExtensionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="animalDrawnVehicles" />
      <xs:enumeration value="electricVehicles" />
      <xs:enumeration value="passengerCarWithTrailer" />
      <xs:enumeration value="motorizedVehicles" />
      <xs:enumeration value="goodsVehicles" />
      <xs:enumeration value="nonMotorizedVehicles" />
      <xs:enumeration value="handcarts" />
      <xs:enumeration value="soloMotorcycle" />
      <xs:enumeration value="motorizedVehiclesWithoutNumberPlate" />
      <xs:enumeration value="motorQuadricycles" />
      <xs:enumeration value="motorisedPersonalTransportDevices" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="_VehicleUsageEnum">
    <xs:simpleContent>
      <xs:extension base="com:VehicleUsageEnum">
        <xs:attribute name="_extendedValue" type="com:_VehicleUsageEnumExtensionType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="_VehicleUsageEnumExtensionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="removals" />
      <xs:enumeration value="circus" />
      <xs:enumeration value="funFair" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="_WeightTypeEnum">
    <xs:simpleContent>
      <xs:extension base="com:WeightTypeEnum">
        <xs:attribute name="_extendedValue" type="com:_WeightTypeEnumExtensionType" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="_WeightTypeEnumExtensionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="combinedMaximumPermitted" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="_WinterEquipmentManagementTypeEnum">
    <xs:simpleContent>
      <xs:extension base="com:WinterEquipmentManagementTypeEnum">
        <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:complexType name="CalendarWeekWithinMonth">
    <xs:annotation>
      <xs:documentation>Specification of periods defined by relevant calendar weeks in a month, see ISO8601. Note: Calendar weeks start with Monday. First week is the week containing the first of the month.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DayWeekMonth">
        <xs:sequence>
          <xs:element name="applicableCalenderWeekWithinMonth" type="com:_CalendarWeekWithinMonthEnum" minOccurs="1" maxOccurs="6">
            <xs:annotation>
              <xs:documentation>Calender week in month. See ISO8601.  "All weeks of the month" is expressed by not using the CalendarWeekOfMonth class. Note: Calendar weeks start with Monday. First week is the week containing the first of the month.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_calendarWeekWithinMonthExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CalendarWeekWithinMonthEnum">
    <xs:annotation>
      <xs:documentation>Calendar week within month (see ISO8601).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="firstWeek">
        <xs:annotation>
          <xs:documentation>Calendar week containing the first of the month. Several days of the first week of the month may occur in the previous calendar month. By construction, the last week of a preceding month can also be the first week of a subsequent month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="secondWeek">
        <xs:annotation>
          <xs:documentation>Second week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="thirdWeek">
        <xs:annotation>
          <xs:documentation>Third week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fourthWeek">
        <xs:annotation>
          <xs:documentation>Fourth week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fifthWeek">
        <xs:annotation>
          <xs:documentation>Fifth week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sixthWeek">
        <xs:annotation>
          <xs:documentation>Sixth week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lastWeek">
        <xs:annotation>
          <xs:documentation>Last calendar week within month, regardless of its actual number. The last calendar week is the week beginning with Monday and containing the last of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ComparisonOperatorEnum">
    <xs:annotation>
      <xs:documentation>Logical comparison operations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="equalTo">
        <xs:annotation>
          <xs:documentation>Logical comparison operator of "equal to".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="greaterThan">
        <xs:annotation>
          <xs:documentation>Logical comparison operator of "greater than".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="greaterThanOrEqualTo">
        <xs:annotation>
          <xs:documentation>Logical comparison operator of "greater than or equal to".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessThan">
        <xs:annotation>
          <xs:documentation>Logical comparison operator of "less than".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessThanOrEqualTo">
        <xs:annotation>
          <xs:documentation>Logical comparison operator of "less than or equal to".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ComputationMethodEnum">
    <xs:annotation>
      <xs:documentation>Types of computational methods used in deriving data values for data sets.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="arithmeticAverageOfSamplesBasedOnAFixedNumberOfSamples">
        <xs:annotation>
          <xs:documentation>Arithmetic average of sample values based on a fixed number of samples.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="arithmeticAverageOfSamplesInATimePeriod">
        <xs:annotation>
          <xs:documentation>Arithmetic average of sample values in a time period.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="harmonicAverageOfSamplesInATimePeriod">
        <xs:annotation>
          <xs:documentation>Harmonic average of sample values in a time period.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="medianOfSamplesInATimePeriod">
        <xs:annotation>
          <xs:documentation>Median of sample values taken over a time period.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="movingAverageOfSamples">
        <xs:annotation>
          <xs:documentation>Moving average of sample values.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </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="CubicMetres">
    <xs:annotation>
      <xs:documentation>A volumetric measure defined in cubic metres.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
  <xs:simpleType name="DangerousGoodsRegulationsEnum">
    <xs:annotation>
      <xs:documentation>Types of dangerous goods regulations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="adr">
        <xs:annotation>
          <xs:documentation>European agreement on the international carriage of dangerous goods on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iataIcao">
        <xs:annotation>
          <xs:documentation>Regulations covering the international transportation of dangerous goods issued by the International Air Transport Association and the International Civil Aviation Organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="imoImdg">
        <xs:annotation>
          <xs:documentation>Regulations regarding the transportation of dangerous goods on ocean-going vessels issued by the International Maritime Organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railroadDangerousGoodsBook">
        <xs:annotation>
          <xs:documentation>International regulations concerning the international carriage of dangerous goods by rail.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DataValue" abstract="true">
    <xs:annotation>
      <xs:documentation>A data value of something that can be measured or calculated. Any provided meta-data values specified in the attributes override any specified generic characteristics such as defined for a specific measurement in the MeasurementSiteTable. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="dataError" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication of whether the value is deemed to be erroneous by the supplier (true = erroneous). If not present, the data value is assumed to be ok. This may be used when automatic fault detection information relating to sensors is available.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="reasonForDataError" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The reason why the value is deemed to be erroneous by the supplier.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_dataValueExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="accuracy" type="com:Percentage" use="optional">
      <xs:annotation>
        <xs:documentation>The extent to which the value is expected to be free from error, measured as a percentage of the data value. 100% means fully accurate.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="computationalMethod" type="com:ComputationMethodEnum" use="optional">
      <xs:annotation>
        <xs:documentation>Method of computation which has been used to compute this data value.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="numberOfIncompleteInputs" type="com:NonNegativeInteger" use="optional">
      <xs:annotation>
        <xs:documentation>The number of inputs detected but not completed during the sampling or measurement period; e.g. vehicles detected entering but not exiting the detection zone.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="numberOfInputValuesUsed" type="com:NonNegativeInteger" use="optional">
      <xs:annotation>
        <xs:documentation>The number of input values used in the sampling or measurement period to determine the data value.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="smoothingFactor" type="com:Float" use="optional">
      <xs:annotation>
        <xs:documentation>Coefficient required when a moving average is computed to give specific weights to the former average and the new data. A typical formula is, F being the smoothing factor: New average = (old average) F + (new data) (1 - F).</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="standardDeviation" type="com:Float" use="optional">
      <xs:annotation>
        <xs:documentation>The standard deviation of the sample of input values from which this value was derived, measured in the units of the data value. </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="supplierCalculatedDataQuality" type="com:Percentage" use="optional">
      <xs:annotation>
        <xs:documentation>A measure of data quality assigned to the value by the supplier. 100% equates to ideal/perfect quality. The method of calculation is supplier specific and needs to be agreed between supplier and client.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:simpleType name="Date">
    <xs:annotation>
      <xs:documentation>A combination of year, month and day integer-valued properties plus an optional timezone property. It represents an interval of exactly one day, beginning on the first moment of the day in the timezone, i.e. '00:00:00' up to but not including '24:00:00'.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </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="DayEnum">
    <xs:annotation>
      <xs:documentation>Days of the week.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="monday">
        <xs:annotation>
          <xs:documentation>Monday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tuesday">
        <xs:annotation>
          <xs:documentation>Tuesday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wednesday">
        <xs:annotation>
          <xs:documentation>Wednesday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="thursday">
        <xs:annotation>
          <xs:documentation>Thursday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="friday">
        <xs:annotation>
          <xs:documentation>Friday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="saturday">
        <xs:annotation>
          <xs:documentation>Saturday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sunday">
        <xs:annotation>
          <xs:documentation>Sunday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DayWeekMonth">
    <xs:annotation>
      <xs:documentation>Specification of periods defined by the intersection of days or instances of them, calendar weeks and months.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="applicableDay" type="com:_DayEnum" minOccurs="0" maxOccurs="7">
        <xs:annotation>
          <xs:documentation>Applicable day of the week. "All days of the week" is expressed by non-inclusion of this attribute.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="applicableMonth" type="com:_MonthOfYearEnum" minOccurs="0" maxOccurs="12">
        <xs:annotation>
          <xs:documentation>Applicable month of the year.  "All months of the year" is expressed by non-inclusion of this attribute.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_dayWeekMonthExtension" type="com:_DayWeekMonthExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <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:simpleType name="EmissionClassificationEuroEnum">
    <xs:annotation>
      <xs:documentation>Classification of emission according to the Euro emission classification (based on serveral amendments on 1970 Directive 70/220/EEC). Note htat vehicleType as well as fuelType are mandatory to provide to make this classification explicit.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="euro5">
        <xs:annotation>
          <xs:documentation>Euro 5.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="euro5a">
        <xs:annotation>
          <xs:documentation>Euro 5a.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="euro5b">
        <xs:annotation>
          <xs:documentation>Euro 5b.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="euro6">
        <xs:annotation>
          <xs:documentation>Euro 6.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="euro6a">
        <xs:annotation>
          <xs:documentation>Euro 6a.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="euro6b">
        <xs:annotation>
          <xs:documentation>Euro 6b.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="euro6c">
        <xs:annotation>
          <xs:documentation>Euro 6c.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="euroV">
        <xs:annotation>
          <xs:documentation>Euro V.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="euroVI">
        <xs:annotation>
          <xs:documentation>Euro VI.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Any other level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Emissions">
    <xs:annotation>
      <xs:documentation>Emission characteristics of vehicles.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="emissionClassificationEuro" type="com:_EmissionClassificationEuroEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The minimum Euro emission classification the vehicle(s) have to comply with according to the 1970 Directive 70/220/EEC and its several amendments. Note that vehicleType and fuelType need to be provided in order to make this classification explicit.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="emissionClassificationOther" type="com:String" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Some other (probably locally defined) value(s) for emission classification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="emissionLevel" type="com:_LowEmissionLevelEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The low emission level of a vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_emissionsExtension" type="com:_EmissionsExtensionType" 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:simpleType name="FuelTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of fuel used by a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="all">
        <xs:annotation>
          <xs:documentation>All sort of fuel is accepted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="battery">
        <xs:annotation>
          <xs:documentation>Battery.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="biodiesel">
        <xs:annotation>
          <xs:documentation>Biodiesel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="diesel">
        <xs:annotation>
          <xs:documentation>Fuel used for compression-ignition (CI) engines.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dieselBatteryHybrid">
        <xs:annotation>
          <xs:documentation>Diesel and battery hybrid.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ethanol">
        <xs:annotation>
          <xs:documentation>Ethanol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hydrogen">
        <xs:annotation>
          <xs:documentation>Hydrogen.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="liquidGas">
        <xs:annotation>
          <xs:documentation>Liquid gas of any type including LPG.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lpg">
        <xs:annotation>
          <xs:documentation>Liquid petroleum gas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="methane">
        <xs:annotation>
          <xs:documentation>Methane gas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol">
        <xs:annotation>
          <xs:documentation>Fuel used for positive-ignition (PI) engines.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol95Octane">
        <xs:annotation>
          <xs:documentation>Petrol with 95 octane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol98Octane">
        <xs:annotation>
          <xs:documentation>Petrol with 98 octane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolBatteryHybrid">
        <xs:annotation>
          <xs:documentation>Petrol and battery hybrid.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolLeaded">
        <xs:annotation>
          <xs:documentation>Leaded petrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolUnleaded">
        <xs:annotation>
          <xs:documentation>Unleaded petrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The sort of fuel is not known.</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="GrossWeightCharacteristic">
    <xs:annotation>
      <xs:documentation>Gross weight characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="grossVehicleWeight" type="com:Tonnes" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The gross weight of the vehicle and its load, including any trailers.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="typeOfWeight" type="com:_WeightTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The meaning of the weight value</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_grossWeightCharacteristicExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HazardousMaterials">
    <xs:annotation>
      <xs:documentation>Details of hazardous materials.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="chemicalName" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The chemical name of the hazardous substance carried by the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dangerousGoodsFlashPoint" type="com:TemperatureCelsius" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The temperature at which the vapour from a hazardous substance will ignite in air.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dangerousGoodsRegulations" type="com:_DangerousGoodsRegulationsEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The code defining the regulations, international or national, applicable for a means of transport.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hazardCodeIdentification" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The dangerous goods description code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hazardCodeVersionNumber" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The version/revision number of date of issuance of the hazardous material code used.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hazardSubstanceItemPageNumber" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A number giving additional hazard code classification of a goods item within the applicable dangerous goods regulation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tremCardNumber" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The identification of a transport emergency card giving advice for emergency actions.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="undgNumber" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A unique serial number assigned within the United Nations to substances and articles contained in a list of the dangerous goods most commonly carried.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="volumeOfDangerousGoods" type="com:CubicMetres" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The volume of dangerous goods on the vehicle(s) reported in a traffic/travel situation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="weightOfDangerousGoods" type="com:Tonnes" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The weight of dangerous goods on the vehicle(s) reported in a traffic/travel situation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_hazardousMaterialsExtension" type="com:_HazardousMaterialsExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <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:complexType name="HeaviestAxleWeightCharacteristic">
    <xs:annotation>
      <xs:documentation>Weight characteristic of the heaviest axle on the vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heaviestAxleWeight" type="com:Tonnes" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The weight of the heaviest axle on the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_heaviestAxleWeightCharacteristicExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HeightCharacteristic">
    <xs:annotation>
      <xs:documentation>Height characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleHeight" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The height of the highest part, excluding antennae, of an individual vehicle above the road surface, in metres.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_heightCharacteristicExtension" 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="InstanceOfDayEnum">
    <xs:annotation>
      <xs:documentation>Instances of a day of the week in a month</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="firstInstance">
        <xs:annotation>
          <xs:documentation>First instance of specified day of week in month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="secondInstance">
        <xs:annotation>
          <xs:documentation>Second instance of specified day of week in month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="thirdInstance">
        <xs:annotation>
          <xs:documentation>Third instance of specified day of week in month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fourthInstance">
        <xs:annotation>
          <xs:documentation>Fourth instance of specified day of week in month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fifthInstance">
        <xs:annotation>
          <xs:documentation>Fifth instance of specified day of week in month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lastInstance">
        <xs:annotation>
          <xs:documentation>Last instance of specified day of week in month (regardless its actual instance number).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="InstanceOfDayWithinMonth">
    <xs:annotation>
      <xs:documentation>Specification of periods defined by the instance of a specific weekday within a month (e.g. 3rd Tuesday in May)</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DayWeekMonth">
        <xs:sequence>
          <xs:element name="applicableInstanceOfDayWithinMonth" type="com:_InstanceOfDayEnum" minOccurs="1" maxOccurs="5">
            <xs:annotation>
              <xs:documentation>The specified integer instance of the specified applicable day within a month.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_instanceOfDayWithinMonthExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <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="IntegerMetreDistanceValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of distance in whole metres.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="integerMetreDistance" type="com:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of distance expressed in metres in a non-negative integer format.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_integerMetreDistanceValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <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="KilometresPerHour">
    <xs:annotation>
      <xs:documentation>A measure of speed defined in kilometres per hour.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
  <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:complexType name="LengthCharacteristic">
    <xs:annotation>
      <xs:documentation>Length characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleLength" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The overall distance between the front and back of an individual vehicle, including the length of any trailers, couplings, embedded features etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_lengthCharacteristicExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LoadTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of load carried by a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="abnormalLoad">
        <xs:annotation>
          <xs:documentation>A load that exceeds normal vehicle dimensions in terms of height, length, width, gross vehicle weight or axle weight or any combination of these. Generally termed an "abnormal load".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ammunition">
        <xs:annotation>
          <xs:documentation>Ammunition.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="chemicals">
        <xs:annotation>
          <xs:documentation>Chemicals of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="combustibleMaterials">
        <xs:annotation>
          <xs:documentation>Combustible materials of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="corrosiveMaterials">
        <xs:annotation>
          <xs:documentation>Corrosive materials of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="debris">
        <xs:annotation>
          <xs:documentation>Debris of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="empty">
        <xs:annotation>
          <xs:documentation>No load.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="explosiveMaterials">
        <xs:annotation>
          <xs:documentation>Explosive materials of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extraHighLoad">
        <xs:annotation>
          <xs:documentation>A load of exceptional height.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extraLongLoad">
        <xs:annotation>
          <xs:documentation>A load of exceptional length.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extraWideLoad">
        <xs:annotation>
          <xs:documentation>A load of exceptional width.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fuel">
        <xs:annotation>
          <xs:documentation>Fuel of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="glass">
        <xs:annotation>
          <xs:documentation>Glass.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="goods">
        <xs:annotation>
          <xs:documentation>Any goods of a commercial nature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hazardousMaterials">
        <xs:annotation>
          <xs:documentation>Materials classed as being of a hazardous nature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="liquid">
        <xs:annotation>
          <xs:documentation>Liquid of an unspecified nature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="livestock">
        <xs:annotation>
          <xs:documentation>Livestock.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="materials">
        <xs:annotation>
          <xs:documentation>General materials of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="materialsDangerousForPeople">
        <xs:annotation>
          <xs:documentation>Materials classed as being of a danger to people or animals.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="materialsDangerousForTheEnvironment">
        <xs:annotation>
          <xs:documentation>Materials classed as being potentially dangerous to the environment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="materialsDangerousForWater">
        <xs:annotation>
          <xs:documentation>Materials classed as being dangerous when exposed to water (e.g. materials which may react exothermically with water).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="oil">
        <xs:annotation>
          <xs:documentation>Oil.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ordinary">
        <xs:annotation>
          <xs:documentation>Materials that present limited environmental or health risk. Non-combustible, non-toxic, non-corrosive.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="perishableProducts">
        <xs:annotation>
          <xs:documentation>Products or produce that will significantly degrade in quality or freshness over a short period of time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol">
        <xs:annotation>
          <xs:documentation>Petrol or petroleum.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pharmaceuticalMaterials">
        <xs:annotation>
          <xs:documentation>Pharmaceutical materials.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="radioactiveMaterials">
        <xs:annotation>
          <xs:documentation>Materials that emit significant quantities of electro-magnetic radiation that may present a risk to people, animals or the environment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="refrigeratedGoods">
        <xs:annotation>
          <xs:documentation>Refrigerated goods.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="refuse">
        <xs:annotation>
          <xs:documentation>Refuse.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="toxicMaterials">
        <xs:annotation>
          <xs:documentation>Materials of a toxic nature which may damage the environment or endanger public health.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicles">
        <xs:annotation>
          <xs:documentation>Vehicles of any type which are being transported.</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="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="LowEmissionLevelEnum">
    <xs:annotation>
      <xs:documentation>The emission level of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="lowLevelEmission">
        <xs:annotation>
          <xs:documentation>Vehicles with low level emission.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freeOfEmission">
        <xs:annotation>
          <xs:documentation>Only vehicles that do not produce emissions (e.g. electric driven). Hybrid driven cars are allowed, when they switch to emission free mode within the considered situation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </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:simpleType name="MonthOfYearEnum">
    <xs:annotation>
      <xs:documentation>A list of the months of the year.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="january">
        <xs:annotation>
          <xs:documentation>The month of January.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="february">
        <xs:annotation>
          <xs:documentation>The month of February.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="march">
        <xs:annotation>
          <xs:documentation>The month of March.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="april">
        <xs:annotation>
          <xs:documentation>The month of April.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="may">
        <xs:annotation>
          <xs:documentation>The month of May.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="june">
        <xs:annotation>
          <xs:documentation>The month of June.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="july">
        <xs:annotation>
          <xs:documentation>The month of July.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="august">
        <xs:annotation>
          <xs:documentation>The month of August.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="september">
        <xs:annotation>
          <xs:documentation>The month of September.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="october">
        <xs:annotation>
          <xs:documentation>The month of October.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="november">
        <xs:annotation>
          <xs:documentation>The month of November.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="december">
        <xs:annotation>
          <xs:documentation>The month of December.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </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="NumberOfAxlesCharacteristic">
    <xs:annotation>
      <xs:documentation>Number of axles characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfAxles" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The total number of axles of an individual vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_numberOfAxlesCharacteristicExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OverallPeriod">
    <xs:annotation>
      <xs:documentation>A continuous or discontinuous period of validity defined by overall bounding start and end times and the possible intersection of valid periods (potentially recurring) with the complement of exception periods (also potentially recurring).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="overallStartTime" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Start of bounding period of validity defined by date and time.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="overallEndTime" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>End of bounding period of validity defined by date and time.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="validPeriod" type="com:Period" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A single time period, a recurring time period or a set of different recurring time periods during which validity is true.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="exceptionPeriod" type="com:Period" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A single time period, a recurring time period or a set of different recurring time periods during which validity is false.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_overallPeriodExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <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="PercentageValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value expressed as a percentage.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="percentage" type="com:Percentage" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value expressed as a percentage.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_percentageValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Period">
    <xs:annotation>
      <xs:documentation>A continuous time period or a set of discontinuous time periods defined by the intersection of a set of criteria all within an overall delimiting interval.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="startOfPeriod" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Start of period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="endOfPeriod" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>End of a period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="periodName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="recurringTimePeriodOfDay" type="com:TimePeriodOfDay" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A recurring period of a day.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="recurringDayWeekMonthPeriod" type="com:DayWeekMonth" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A recurring period defined in terms of days of the week, weeks of the month and months of the year. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="recurringSpecialDay" type="com:SpecialDay" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A recurring period in terms of special days.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_periodExtension" type="com:_PeriodExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PublicEventTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of public events.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="agriculturalShow">
        <xs:annotation>
          <xs:documentation>Agricultural show or event which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="airShow">
        <xs:annotation>
          <xs:documentation>Air show or other aeronautical event which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="artEvent">
        <xs:annotation>
          <xs:documentation>Art event</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="athleticsMeeting">
        <xs:annotation>
          <xs:documentation>Athletics event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="commercialEvent">
        <xs:annotation>
          <xs:documentation>Commercial event which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="culturalEvent">
        <xs:annotation>
          <xs:documentation>Cultural event which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ballGame">
        <xs:annotation>
          <xs:documentation>Ball game event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="baseballGame">
        <xs:annotation>
          <xs:documentation>Baseball game event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="basketballGame">
        <xs:annotation>
          <xs:documentation>Basketball game event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="beerFestival">
        <xs:annotation>
          <xs:documentation>Beer festival</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bicycleRace">
        <xs:annotation>
          <xs:documentation>Bicycle race that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="boatRace">
        <xs:annotation>
          <xs:documentation>Regatta (boat race event of sailing, powerboat or rowing) that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="boatShow">
        <xs:annotation>
          <xs:documentation>Boat show which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="boxingTournament">
        <xs:annotation>
          <xs:documentation>Boxing event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bullFight">
        <xs:annotation>
          <xs:documentation>Bull fighting event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ceremonialEvent">
        <xs:annotation>
          <xs:documentation>Formal or religious act, rite or ceremony that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="concert">
        <xs:annotation>
          <xs:documentation>Concert event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cricketMatch">
        <xs:annotation>
          <xs:documentation>Cricket match that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exhibition">
        <xs:annotation>
          <xs:documentation>Major display or trade show which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fair">
        <xs:annotation>
          <xs:documentation>Periodic (e.g. annual), often traditional, gathering for entertainment or trade promotion, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="festival">
        <xs:annotation>
          <xs:documentation>Celebratory event or series of events which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="filmFestival">
        <xs:annotation>
          <xs:documentation>Film festival</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="filmTVMaking">
        <xs:annotation>
          <xs:documentation>Film or TV making event which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fireworkDisplay">
        <xs:annotation>
          <xs:documentation>Firework display</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="flowerEvent">
        <xs:annotation>
          <xs:documentation>Flower event</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="foodFestival">
        <xs:annotation>
          <xs:documentation>Food festival</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="footballMatch">
        <xs:annotation>
          <xs:documentation>Football match that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="funfair">
        <xs:annotation>
          <xs:documentation>Periodic (e.g. annual), often traditional, gathering for entertainment, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gardeningOrFlowerShow">
        <xs:annotation>
          <xs:documentation>Gardening and/or flower show or event which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="golfTournament">
        <xs:annotation>
          <xs:documentation>Golf tournament event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hockeyGame">
        <xs:annotation>
          <xs:documentation>Hockey game event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="horseRaceMeeting">
        <xs:annotation>
          <xs:documentation>Horse race meeting that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="internationalSportsMeeting">
        <xs:annotation>
          <xs:documentation>Large sporting event of an international nature that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="majorEvent">
        <xs:annotation>
          <xs:documentation>Significant organised event either on or near the roadway which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="marathon">
        <xs:annotation>
          <xs:documentation>Marathon, cross-country or road running event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="market">
        <xs:annotation>
          <xs:documentation>Periodic (e.g. weekly) gathering for buying and selling, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="match">
        <xs:annotation>
          <xs:documentation>Sports match of unspecified type that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorShow">
        <xs:annotation>
          <xs:documentation>Motor show which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorSportRaceMeeting">
        <xs:annotation>
          <xs:documentation>Motor sport race meeting that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="openAirConcert">
        <xs:annotation>
          <xs:documentation>Open air concert</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parade">
        <xs:annotation>
          <xs:documentation>Formal display or organised procession which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="procession">
        <xs:annotation>
          <xs:documentation>An organised procession which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="raceMeeting">
        <xs:annotation>
          <xs:documentation>Race meeting (other than horse or motor sport) that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rugbyMatch">
        <xs:annotation>
          <xs:documentation>Rugby match that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="severalMajorEvents">
        <xs:annotation>
          <xs:documentation>A series of significant organised events either on or near the roadway which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="show">
        <xs:annotation>
          <xs:documentation>Entertainment event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="showJumping">
        <xs:annotation>
          <xs:documentation>Horse showing jumping and tournament event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="soundAndLightShow">
        <xs:annotation>
          <xs:documentation>Sound and light show.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sportsMeeting">
        <xs:annotation>
          <xs:documentation>Sports event of unspecified type that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stateOccasion">
        <xs:annotation>
          <xs:documentation>Public ceremony or visit of national or international significance which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="streetFestival">
        <xs:annotation>
          <xs:documentation>Street festival</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tennisTournament">
        <xs:annotation>
          <xs:documentation>Tennis tournament that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="theatricalEvent">
        <xs:annotation>
          <xs:documentation>Theatrical event</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tournament">
        <xs:annotation>
          <xs:documentation>Sporting event or series of events of unspecified type lasting more than one day which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tradeFair">
        <xs:annotation>
          <xs:documentation>A periodic (e.g. annual), often traditional, gathering for trade promotion, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waterSportsMeeting">
        <xs:annotation>
          <xs:documentation>Water sports meeting that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wineFestival">
        <xs:annotation>
          <xs:documentation>Wine festival</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="winterSportsMeeting">
        <xs:annotation>
          <xs:documentation>Winter sports meeting or event (e.g. skiing, ski jumping, skating) that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Service provider does not know at time of message generation.</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="PublicHoliday">
    <xs:annotation>
      <xs:documentation>Specification of a specific public holiday in case specialDayType is set to 'publicHoliday'.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:SpecialDay">
        <xs:sequence>
          <xs:element name="publicHolidayName" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Specification of a specific public holiday by its name.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_publicHolidayExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <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:complexType name="SpecialDay">
    <xs:annotation>
      <xs:documentation>Specification of a special type of day, possibly also a public holiday. Can be country or region specific.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="intersectWithApplicableDays" type="com:Boolean" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>When true, the period is the intersection of applicable days and this special day. When false, the period is the union of applicable days and this special day.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="specialDayType" type="com:_SpecialDayTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specification of a special day, for example schoolDay, publicHoliday, ...</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="publicEvent" type="com:_PublicEventTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Type of public event on this special day.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="namedArea" type="com:NamedArea" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_specialDayExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SpecialDayTypeEnum">
    <xs:annotation>
      <xs:documentation>Collection of special types of days.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="dayBeforePublicHoliday">
        <xs:annotation>
          <xs:documentation>The day preceding a public holiday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicHoliday">
        <xs:annotation>
          <xs:documentation>A public holiday in general. You may use the PublicHoliday class to refer on a specific public holiday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dayFollowingPublicHoliday">
        <xs:annotation>
          <xs:documentation>A day following a public holiday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="longWeekendDay">
        <xs:annotation>
          <xs:documentation>A day between a public holiday and the weekend.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inLieuOfPublicHoliday">
        <xs:annotation>
          <xs:documentation>A holiday in lieu of a public holiday that falls on a weekend.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="schoolDay">
        <xs:annotation>
          <xs:documentation>A school day.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="schoolHolidays">
        <xs:annotation>
          <xs:documentation>A day within the school holidays.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicEventDay">
        <xs:annotation>
          <xs:documentation>A day of a public event. You may use the publicEvent attribute to specify the corresponding event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Some other special day.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SpeedValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of speed.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="speed" type="com:KilometresPerHour" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of speed expressed in kilometres per hour.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_speedValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <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="TemperatureCelsius">
    <xs:annotation>
      <xs:documentation>A measure of temperature defined in degrees Celsius.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
  <xs:simpleType name="Time">
    <xs:annotation>
      <xs:documentation>An instant of time that recurs every day. The value space of time is the space of time of day values as defined in § 5.3 of [ISO 8601]. Specifically, it is a set of zero-duration daily time instances.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:time" />
  </xs:simpleType>
  <xs:complexType name="TimePeriodOfDay">
    <xs:annotation>
      <xs:documentation>Specification of a continuous period of time within a 24 hour period.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="startTimeOfPeriod" type="com:Time" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Start of time period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="endTimeOfPeriod" type="com:Time" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>End of time period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_timePeriodOfDayExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TimePrecisionEnum">
    <xs:annotation>
      <xs:documentation>List of precisions to which times can be given.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="tenthsOfSecond">
        <xs:annotation>
          <xs:documentation>Time given to the nearest tenth of a second.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="second">
        <xs:annotation>
          <xs:documentation>Time given to the nearest second.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="minute">
        <xs:annotation>
          <xs:documentation>Time given to the nearest minute.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="quarterHour">
        <xs:annotation>
          <xs:documentation>Time given to the nearest quarter hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="halfHour">
        <xs:annotation>
          <xs:documentation>Time given to the nearest half hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hour">
        <xs:annotation>
          <xs:documentation>Time given to the nearest hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Tonnes">
    <xs:annotation>
      <xs:documentation>A measure of weight defined in metric tonnes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </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="Validity">
    <xs:annotation>
      <xs:documentation>Specification of validity, either explicitly or by a validity time period specification which may be discontinuous.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="validityStatus" type="com:_ValidityStatusEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specification of validity, either explicitly overriding the validity time specification or confirming it.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="overrunning" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The activity or action described by the SituationRecord is still in progress, overrunning its planned duration as indicated in a previous version of this record or even in current version.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="validityTimeSpecification" type="com:OverallPeriod">
        <xs:annotation>
          <xs:documentation>A specification of periods of validity defined by overall bounding start and end times and the possible intersection of valid periods with exception periods (exception periods overriding valid periods).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_validityExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ValidityStatusEnum">
    <xs:annotation>
      <xs:documentation>Values of validity status that can be assigned to a described event, action or item.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="active">
        <xs:annotation>
          <xs:documentation>The described event, action or item is currently active regardless of the definition of the validity time specification.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="planned">
        <xs:annotation>
          <xs:documentation>The described event, action or item is currently planned regardless of the definition of the validity time specification.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="suspended">
        <xs:annotation>
          <xs:documentation>The described event, action or item is currently suspended, that is inactive, regardless of the definition of the validity time specification.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="definedByValidityTimeSpec">
        <xs:annotation>
          <xs:documentation>The validity status of the described event, action or item is in accordance with the definition of the validity time specification.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VehicleCharacteristics">
    <xs:annotation>
      <xs:documentation>The characteristics of a vehicle, e.g. lorry of gross weight greater than 30 tonnes.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="fuelType" type="com:_FuelTypeEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The type of fuel used by the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="loadType" type="com:_LoadTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of load carried by the vehicle, especially in respect of hazardous loads.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleEquipment" type="com:_VehicleEquipmentEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of equipment in use or on board the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleType" type="com:_VehicleTypeEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Vehicle type.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleUsage" type="com:_VehicleUsageEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of usage of the vehicle (i.e. for what purpose is the vehicle being used).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="yearOfFirstRegistration" type="com:Year" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Year of first registration of the vehicle</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="grossWeightCharacteristic" type="com:GrossWeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="heightCharacteristic" type="com:HeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="lengthCharacteristic" type="com:LengthCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="widthCharacteristic" type="com:WidthCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="heaviestAxleWeightCharacteristic" type="com:HeaviestAxleWeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="numberOfAxlesCharacteristic" type="com:NumberOfAxlesCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="emissions" type="com:Emissions" minOccurs="0" />
      <xs:element name="_vehicleCharacteristicsExtension" type="com:_VehicleCharacteristicsExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VehicleEquipmentEnum">
    <xs:annotation>
      <xs:documentation>Types of vehicle equipment in use or on board.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="notUsingSnowChains">
        <xs:annotation>
          <xs:documentation>Vehicle not using snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notUsingSnowChainsOrTyres">
        <xs:annotation>
          <xs:documentation>Vehicle not using either snow tyres or snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowChainsInUse">
        <xs:annotation>
          <xs:documentation>Vehicle using snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowTyresInUse">
        <xs:annotation>
          <xs:documentation>Vehicle using snow tyres.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowChainsOrTyresInUse">
        <xs:annotation>
          <xs:documentation>Vehicle using snow tyres or snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="withoutSnowTyresOrChainsOnBoard">
        <xs:annotation>
          <xs:documentation>Vehicle which is not carrying on board snow tyres or chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VehicleFlowValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of the flow rate of vehicles.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="vehicleFlowRate" type="com:VehiclesPerHour" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of vehicle flow rate expressed in vehicles per hour.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_vehicleFlowValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VehiclesPerHour">
    <xs:annotation>
      <xs:documentation>Vehicles per hour.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:NonNegativeInteger" />
  </xs:simpleType>
  <xs:simpleType name="VehicleTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="agriculturalVehicle">
        <xs:annotation>
          <xs:documentation>Vehicle normally used for agricultural purposes, e.g. tractor, combined harvester etc.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="anyVehicle">
        <xs:annotation>
          <xs:documentation>Vehicle of any type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="articulatedBus">
        <xs:annotation>
          <xs:documentation>Articulated bus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="articulatedTrolleyBus">
        <xs:annotation>
          <xs:documentation>Articulated trolley bus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="articulatedVehicle">
        <xs:annotation>
          <xs:documentation>Articulated vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bicycle">
        <xs:annotation>
          <xs:documentation>Bicycle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bus">
        <xs:annotation>
          <xs:documentation>Bus.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="car">
        <xs:annotation>
          <xs:documentation>Vehicles designed and constructed for the carriage of passengers and comprising no more than eight seats in addition to the driver’s seat, and having a maximum mass (“technically permissible maximum laden mass”) not exceeding 3.5 tons (M1).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="caravan">
        <xs:annotation>
          <xs:documentation>Caravan.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carOrLightVehicle">
        <xs:annotation>
          <xs:documentation>Car or light vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carWithCaravan">
        <xs:annotation>
          <xs:documentation>Car towing a caravan.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carWithTrailer">
        <xs:annotation>
          <xs:documentation>Car towing a trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="constructionOrMaintenanceVehicle">
        <xs:annotation>
          <xs:documentation>Vehicle normally used for construction or maintenance purposes, e.g. digger, excavator, bulldozer, lorry mounted crane etc.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fourWheelDrive">
        <xs:annotation>
          <xs:documentation>Four wheel drive vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyGoodsVehicle">
        <xs:annotation>
          <xs:documentation>Vehicles with a total weight above 3,500 kg (vehicle and load).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyGoodsVehicleWithTrailer">
        <xs:annotation>
          <xs:documentation>Heavy goods vehicle with trailer</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyDutyTransporter">
        <xs:annotation>
          <xs:documentation>A transporter for heavy duty (usually with abnormal dimensions).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyVehicle">
        <xs:annotation>
          <xs:documentation>Vehicle whose weight means it should be classed as a heavy vehicle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="highSidedVehicle">
        <xs:annotation>
          <xs:documentation>High sided vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lightCommercialVehicle">
        <xs:annotation>
          <xs:documentation>Vehicles for the carriage of goods and having a maximum mass not exceeding 3.5 tonnes (class N1).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="largeCar">
        <xs:annotation>
          <xs:documentation>Large car</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="largeGoodsVehicle">
        <xs:annotation>
          <xs:documentation>Vehicles for the carriage of goods and having a maximum mass exceeding 3.5 tonnes (belonging to class N2 when not exceeding 12 tonnes, otherwise class N3).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lightCommercialVehicleWithTrailer">
        <xs:annotation>
          <xs:documentation>Light goods vehicle with trailer</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="longHeavyLorry">
        <xs:annotation>
          <xs:documentation>A heavy lorry that is longer than normal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lorry">
        <xs:annotation>
          <xs:documentation>Lorry of any type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metro">
        <xs:annotation>
          <xs:documentation>Metro</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="minibus">
        <xs:annotation>
          <xs:documentation>Vehicles designed and constructed for the carriage of passengers, comprising more than eight seats in addition to the driver’s seat, and having a maximum mass not exceeding 5 tonnes (class M2).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="moped">
        <xs:annotation>
          <xs:documentation>Moped (a two wheeled motor vehicle characterized by a small engine typically less than 50cc and by normally having pedals).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorcycle">
        <xs:annotation>
          <xs:documentation>Motorcycle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorcycleWithSideCar">
        <xs:annotation>
          <xs:documentation>Three wheeled vehicle comprising a motorcycle with an attached side car.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorhome">
        <xs:annotation>
          <xs:documentation>Motorhome</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorscooter">
        <xs:annotation>
          <xs:documentation>Motorscooter (a two wheeled motor vehicle characterized by a step-through frame and small diameter wheels).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="passengerCar">
        <xs:annotation>
          <xs:documentation>Passenger car</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="smallCar">
        <xs:annotation>
          <xs:documentation>Small car</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tanker">
        <xs:annotation>
          <xs:documentation>Vehicle with large tank for carrying bulk liquids.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="threeWheeledVehicle">
        <xs:annotation>
          <xs:documentation>Three wheeled vehicle of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trailer">
        <xs:annotation>
          <xs:documentation>Trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tram">
        <xs:annotation>
          <xs:documentation>Tram.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trolleyBus">
        <xs:annotation>
          <xs:documentation>Trolley bus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="twoWheeledVehicle">
        <xs:annotation>
          <xs:documentation>Two wheeled vehicle of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="van">
        <xs:annotation>
          <xs:documentation>Van.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithCaravan">
        <xs:annotation>
          <xs:documentation>Vehicle (of unspecified type) towing a caravan.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithCatalyticConverter">
        <xs:annotation>
          <xs:documentation>Vehicle with catalytic converter.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithoutCatalyticConverter">
        <xs:annotation>
          <xs:documentation>Vehicle without catalytic converter.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithTrailer">
        <xs:annotation>
          <xs:documentation>Vehicle (of unspecified type) towing a trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="withEvenNumberedRegistrationPlates">
        <xs:annotation>
          <xs:documentation>Vehicle with even numbered registration plate.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="withOddNumberedRegistrationPlates">
        <xs:annotation>
          <xs:documentation>Vehicle with odd numbered registration plate.</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>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VehicleUsageEnum">
    <xs:annotation>
      <xs:documentation>Types of usage of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="agricultural">
        <xs:annotation>
          <xs:documentation>Vehicle used for agricultural purposes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carSharing">
        <xs:annotation>
          <xs:documentation>Vehicles operated by a car-sharing company.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cityLogistics">
        <xs:annotation>
          <xs:documentation>Vehicles that are used to deliver goods in a city area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="commercial">
        <xs:annotation>
          <xs:documentation>Vehicle which is limited to non-private usage or public transport usage.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyServices">
        <xs:annotation>
          <xs:documentation>Vehicle used by the emergency services.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="military">
        <xs:annotation>
          <xs:documentation>Vehicle used by the military.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonCommercial">
        <xs:annotation>
          <xs:documentation>Vehicle used for non-commercial or private purposes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="patrol">
        <xs:annotation>
          <xs:documentation>Vehicle used as part of a patrol service, e.g. road operator or automobile association patrol vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="recoveryServices">
        <xs:annotation>
          <xs:documentation>Vehicle used to provide a recovery service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadMaintenanceOrConstruction">
        <xs:annotation>
          <xs:documentation>Vehicle used for road maintenance or construction work purposes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadOperator">
        <xs:annotation>
          <xs:documentation>Vehicle used by the road operator.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="taxi">
        <xs:annotation>
          <xs:documentation>Vehicle used to provide an authorised taxi service.</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:simpleType name="WeightTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of weight - describing the meaning of a vehicle weight value</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="actual">
        <xs:annotation>
          <xs:documentation>The weight is the actual weight of a specific vehicle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="maximumPermitted">
        <xs:annotation>
          <xs:documentation>The weight is the maximum permitted weight for a vehicle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="WidthCharacteristic">
    <xs:annotation>
      <xs:documentation>Width characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="com:_ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleWidth" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The maximum width of an individual vehicle, including any features embedded or fixed on it, in metres.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_widthCharacteristicExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="WinterEquipmentManagementTypeEnum">
    <xs:annotation>
      <xs:documentation>Instructions relating to the use of winter equipment.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="doNotUseStudTyres">
        <xs:annotation>
          <xs:documentation>Do not use stud tyres.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useSnowChains">
        <xs:annotation>
          <xs:documentation>Use snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useSnowChainsOrTyres">
        <xs:annotation>
          <xs:documentation>Use snow chains or snow tyres.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useSnowTyres">
        <xs:annotation>
          <xs:documentation>Use snow tyres.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="winterEquipmentOnBoardRequired">
        <xs:annotation>
          <xs:documentation>The carrying of winter equipment (snow chains and/or snow tyres) is required.</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="Year">
    <xs:annotation>
      <xs:documentation>A year.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:NonNegativeInteger" />
  </xs:simpleType>
</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:egi="http://datex2.eu/schema/3/energyInfrastructure" xmlns:fac="http://datex2.eu/schema/3/facilities" xmlns:roa="http://datex2.eu/schema/3/roadTrafficData" xmlns:tro="http://datex2.eu/schema/3/trafficRegulation" xmlns:vms="http://datex2.eu/schema/3/vms" xmlns:prk="http://datex2.eu/schema/3/parking" xmlns:comx="http://datex2.eu/schema/3/commonExtension" 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/commonExtension" schemaLocation="DATEXII_3_CommonExtension.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/trafficRegulation" schemaLocation="DATEXII_3_TrafficRegulation.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/roadTrafficData" schemaLocation="DATEXII_3_RoadTrafficData.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/facilities" schemaLocation="DATEXII_3_Facilities.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/energyInfrastructure" schemaLocation="DATEXII_3_EnergyInfrastructure.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="_payloadOperatingHoursSpecificationConstraint">
      <xs:selector xpath=".//fac:operatingHoursSpecification" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_payloadParkingRouteDetailsConstraint">
      <xs:selector xpath=".//prk:parkingRouteDetails" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_payloadParkingTableConstraint">
      <xs:selector xpath=".//prk:parkingTable" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_payloadOrganisationSpecificationConstraint">
      <xs:selector xpath=".//fac:organisationSpecification" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_payloadFacilityObjectConstraint">
      <xs:selector xpath=".//fac:facilityObject" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_payloadPublicTransportScheduleConstraint">
      <xs:selector xpath=".//prk:publicTransportSchedule" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_payloadOperatorDefinedPlaceConstraint">
      <xs:selector xpath=".//prk:operatorDefinedPlace" />
      <xs:field xpath="@id" />
      <xs:field xpath="@version" />
    </xs:unique>
    <xs:unique name="_payloadRateTableConstraint">
      <xs:selector xpath=".//fac:rateTable" />
      <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:egi="http://datex2.eu/schema/3/energyInfrastructure" version="3.3" targetNamespace="http://datex2.eu/schema/3/energyInfrastructure" xmlns:fac="http://datex2.eu/schema/3/facilities" 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:import namespace="http://datex2.eu/schema/3/facilities" schemaLocation="DATEXII_3_Facilities.xsd" />
  <xs:complexType name="_ChargingModeEnum">
    <xs:simpleContent>
      <xs:extension base="egi:ChargingModeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ChargingPointUsageTypeEnum">
    <xs:simpleContent>
      <xs:extension base="egi:ChargingPointUsageTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ConnectorFormatTypeEnum">
    <xs:simpleContent>
      <xs:extension base="egi:ConnectorFormatTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ConnectorTypeEnum">
    <xs:simpleContent>
      <xs:extension base="egi:ConnectorTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ElectricEnergySourceTypeEnum">
    <xs:simpleContent>
      <xs:extension base="egi:ElectricEnergySourceTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PricingPolicyEnum">
    <xs:simpleContent>
      <xs:extension base="egi:PricingPolicyEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_VehicleToGridCommunicationTypeEnum">
    <xs:simpleContent>
      <xs:extension base="egi:VehicleToGridCommunicationTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="Ampere">
    <xs:annotation>
      <xs:documentation>Ampere.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
  <xs:complexType name="AssociatedParking">
    <xs:annotation>
      <xs:documentation>A Parking site this site is associated with, i.e. they are located on the same property and may share entrance and exit.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:AssociatedFacility">
        <xs:sequence>
          <xs:element name="carParkingCapacity" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>In case of a parking site: number of parking spaces for cars.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="truckParkingCapacity" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>In case of a parking site: number of parking spaces for lorries.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="bikeParkingCapacity" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Number of parking spaces for bikes.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_associatedParkingExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ChargingModeEnum">
    <xs:annotation>
      <xs:documentation>Charging mode according to IEC-61851 terminology</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="mode1AC1p">
        <xs:annotation>
          <xs:documentation>Mode 1, AC 1 phase</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mode1AC3p">
        <xs:annotation>
          <xs:documentation>Mode 1, AC 3 phases</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mode2AC1p">
        <xs:annotation>
          <xs:documentation>Mode 2, AC 1 phase</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mode2AC3p">
        <xs:annotation>
          <xs:documentation>Mode 2, AC 3 phases</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mode3AC3p">
        <xs:annotation>
          <xs:documentation>Mode 3, AC 3 phases</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mode4DC">
        <xs:annotation>
          <xs:documentation>Mode 4, DC</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="legacyInductive">
        <xs:annotation>
          <xs:documentation>Legacy-Inductive</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ccs">
        <xs:annotation>
          <xs:documentation>Charging with a combined charging solution (CCS). AC and DC are used simultaneously.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Some other charging mode</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The type of the charging mode is unknown</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChargingPointUsageTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of usage for an electric charging point..</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="electricBoat">
        <xs:annotation>
          <xs:documentation>Charging of electric boats</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="electricBike">
        <xs:annotation>
          <xs:documentation>Charging of E-Bikes</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="electricalDevices">
        <xs:annotation>
          <xs:documentation>Provides a plug for electrical devices (e.g. shaver, mobile phones, hair dryer, ...)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="electricMotorcycle">
        <xs:annotation>
          <xs:documentation>Charging of E-Motorcycles</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="electricVehicle">
        <xs:annotation>
          <xs:documentation>Charging of electric vehicles</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lorryPowerConsumption">
        <xs:annotation>
          <xs:documentation>Supply for lorries with power consumption, e.g. for refrigerated goods transports.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorhomeOrCaravanSupply">
        <xs:annotation>
          <xs:documentation>Supply for motorhomes or caravans</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overheadLineDrivenVehicles">
        <xs:annotation>
          <xs:documentation>The charging point supplies a overhead line, usually connected via pantographs</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other usage for the electric charging stations.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Connector">
    <xs:annotation>
      <xs:documentation>Parameters and description of an interface that is available at the given electric charging point to connect vehicles</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="connectorType" type="egi:_ConnectorTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specification of the connector, i.e. the charging interface type</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="otherConnector" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Some other connector / charging interface</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="countryOfDomesticSocket" type="com:CountryCode" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Countries for which the domestic socket is applicable. Only needed if explicit type of a domestic socket is not specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="chargingMode" type="egi:_ChargingModeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Available charging modes</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="connectorFormat" type="egi:_ConnectorFormatTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Information on the cable type used.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maxPowerAtSocket" type="egi:Watt" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Maximum power at the socket in Watts</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="voltage" type="egi:Volt" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Possible degrees of voltage.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximumCurrent" type="egi:Ampere" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Maximum current in Ampere</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_connectorExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ConnectorFormatTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of cable types used during the charging process.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="cableMode2">
        <xs:annotation>
          <xs:documentation>The connector is an attached cable; the EV users car needs to have a fitting inlet for a mode 2 cable, common for most domestic sockets</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cableMode3">
        <xs:annotation>
          <xs:documentation>The connector is an attached cable; the EV users car needs to have a fitting inlet for a mode 3 cable, can be used for Type 1 and Type 2 sockets.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="otherCable">
        <xs:annotation>
          <xs:documentation>The connector is an attached cable; the EV users car needs to have a fitting inlet.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="socket">
        <xs:annotation>
          <xs:documentation>The connector is a socket; the EV user needs to bring a fitting plug</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ConnectorTypeEnum">
    <xs:annotation>
      <xs:documentation>A table of commonly used connectors / charging interfaces</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="chademo">
        <xs:annotation>
          <xs:documentation>CHAdeMO, 600 V DC. Used mostly in Japan.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cee3">
        <xs:annotation>
          <xs:documentation>CEE3, 230 V, 16 A</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cee5">
        <xs:annotation>
          <xs:documentation>CEE5, 400 V, 16-63 A</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="yazaki">
        <xs:annotation>
          <xs:documentation>Yazaki, 400 VDC, 125 A, Asian standard.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domestic">
        <xs:annotation>
          <xs:documentation>A domestic socket of unspecified type. Applicable countries should be specified in separate attribute.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticA">
        <xs:annotation>
          <xs:documentation>Domestic socket type A (mainly used in the USA, Canada, Mexico &amp; Japan)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticB">
        <xs:annotation>
          <xs:documentation>Domestic socket type B (mainly used in the USA, Canada &amp; Mexico)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticC">
        <xs:annotation>
          <xs:documentation>Domestic socket type C (commonly used in Europe, South America &amp; Asia)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticD">
        <xs:annotation>
          <xs:documentation>Domestic socket type D (mainly used in India)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticE">
        <xs:annotation>
          <xs:documentation>Domestic socket type E (primarily used in France, Belgium, Poland, Slovakia &amp; Czechia)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticF">
        <xs:annotation>
          <xs:documentation>Domestic socket type F (used almost everywhere in Europe &amp; Russia, except for the UK &amp; Ireland)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticG">
        <xs:annotation>
          <xs:documentation>Domestic socket type G (mainly used in the United Kingdom, Ireland, Malta, Malaysia, Singapore &amp; the Arabian Peninsula)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticH">
        <xs:annotation>
          <xs:documentation>Domestic socket type H (used exclusively in Israel, the West Bank &amp; the Gaza Strip)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticI">
        <xs:annotation>
          <xs:documentation>Domestic socket type I (mainly used in Australia, New Zealand, China &amp; Argentina)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticJ">
        <xs:annotation>
          <xs:documentation>Domestic socket type J (used almost exclusively in Switzerland &amp; Liechtenstein)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticK">
        <xs:annotation>
          <xs:documentation>Domestic socket type K (used almost exclusively in Denmark &amp; Greenland)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticL">
        <xs:annotation>
          <xs:documentation>Domestic socket type L (used almost exclusively in Italy &amp; Chile)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticM">
        <xs:annotation>
          <xs:documentation>Domestic socket type M (mainly used in South Africa)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticN">
        <xs:annotation>
          <xs:documentation>Domestic socket type N (used in Brazil and South Africa)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="domesticO">
        <xs:annotation>
          <xs:documentation>Domestic socket type O (used exclusively in Thailand)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec60309x2single16">
        <xs:annotation>
          <xs:documentation> IEC 60309-2 Industrial Connector single phase 16 amperes (usually blue)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec60309x2three16">
        <xs:annotation>
          <xs:documentation>IEC 60309-2 Industrial Connector three phase 16 amperes (usually red)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec60309x2three32">
        <xs:annotation>
          <xs:documentation>IEC 60309-2 Industrial Connector three phase 32 amperes (usually red)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec60309x2three64">
        <xs:annotation>
          <xs:documentation>IEC 60309-2 Industrial Connector three phase 64 amperes (usually red)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec62196T1">
        <xs:annotation>
          <xs:documentation>IEC 62196 Type 1 "SAE J1772".  Mostly used in USA and Asia.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec62196T1COMBO">
        <xs:annotation>
          <xs:documentation>Combo Type 1 based, DC</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec62196T2">
        <xs:annotation>
          <xs:documentation>IEC 62196 Type 2 "Mennekes" - 400 V, 16-63 A. Mandatory in Europe; EN 17186 identifier "C"</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec62196T2COMBO">
        <xs:annotation>
          <xs:documentation>Combo Type 2 based, DC, Type 2 connector with extension for simultaneous DC-charging</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec62196T3A">
        <xs:annotation>
          <xs:documentation>IEC 62196 Type 3A; EN 17186 identifier "D"</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec62196T3C">
        <xs:annotation>
          <xs:documentation> IEC 62196 Type 3C "Scame"; EN 17186 identifier "E"</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pantographBottomUp">
        <xs:annotation>
          <xs:documentation>On-board Bottom-up-Pantograph typically for bus charging</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pantographTopDown">
        <xs:annotation>
          <xs:documentation>Off-board Top-down-Pantograph typically for bus charging</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="teslaConnectorEurope">
        <xs:annotation>
          <xs:documentation>Tesla Connector EU (modification of the Type 2 connector)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="teslaConnectorAmerica">
        <xs:annotation>
          <xs:documentation>Tesla connector used in America (Tesla specific)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="teslaR">
        <xs:annotation>
          <xs:documentation>Tesla Connector "Roadster"-type (round, 4 pin)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="teslaS">
        <xs:annotation>
          <xs:documentation>Tesla Connector "Model-S"-type (oval, 5 pin)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other charging interface.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ElectricChargingEquipment">
    <xs:annotation>
      <xs:documentation>A specialisation to the SupplementalFacility class adding an ElectricChargingPoint.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:SupplementalFacility">
        <xs:sequence>
          <xs:element name="electricChargingPoint" type="egi:ElectricChargingPoint" />
          <xs:element name="_electricChargingEquipmentExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElectricChargingPoint">
    <xs:annotation>
      <xs:documentation>Technical infrastructure at a specific location that facilitates electric charging of one vehicle at a time</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="egi:RefillPoint">
        <xs:sequence>
          <xs:element name="usageType" type="egi:_ChargingPointUsageTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Usage type of the electric charging point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vehicleToGridCommunicationType" type="egi:_VehicleToGridCommunicationTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Type of vehicle to grid communication used.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="availableVoltage" type="egi:Volt" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Possible degrees of voltage.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="availableChargingPower" type="egi:Watt" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Possible degrees of charging power in Watts.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="connector" type="egi:Connector" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Specify the connector(s).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="electricEnergyMix" type="egi:ElectricEnergyMix" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="vehicleSpace" type="egi:VehicleSpace" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_electricChargingPointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElectricEnergyMix">
    <xs:annotation>
      <xs:documentation>The energy mix and environmental impact of the supplied energy available at this charging point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="energyProductName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A name for this energy product</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="isGreenEnergy" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>True if 100% from regenerative sources (CO2 and nuclear waste is zero)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="carbonDioxideImpact" type="com:Float" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Exhausted carbon dioxide in grams per kilowatt hour</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="nuclearWasteImpact" type="com:Float" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Produced nuclear waste in grams per kilowatt hour</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="notAvailable" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>This status related attribute can indicate that the specified electric energy mix, identified by its index, is currently not available.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="electricEnergySourceRatio" type="egi:ElectricEnergySourceRatio" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="energyProvider" type="fac:Organisation" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The energy provider for this electric charging point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rates" type="fac:Rates" minOccurs="0" />
      <xs:element name="_electricEnergyMixExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="energyMixIndex" type="com:Integer" use="required">
      <xs:annotation>
        <xs:documentation>An index to link this element between the static and dynamic publications.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="ElectricEnergySourceRatio">
    <xs:annotation>
      <xs:documentation>Ratio for the specified energy source</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="energySource" type="egi:_ElectricEnergySourceTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An electric energy source</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="otherEnergySource" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Some other energy source</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sourceRatioValue" type="com:PercentageValue">
        <xs:annotation>
          <xs:documentation>The percentage ratio value of this energy source.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_electricEnergySourceRatioExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ElectricEnergySourceTypeEnum">
    <xs:annotation>
      <xs:documentation>Electric energy sources</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="biogas">
        <xs:annotation>
          <xs:documentation>Biogas energy source</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="coal">
        <xs:annotation>
          <xs:documentation>Coal energy source</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gas">
        <xs:annotation>
          <xs:documentation>Gas energy source</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nuclear">
        <xs:annotation>
          <xs:documentation>Nuclear power sources</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="solar">
        <xs:annotation>
          <xs:documentation>Solar energy source</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="water">
        <xs:annotation>
          <xs:documentation>Water energy source</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wind">
        <xs:annotation>
          <xs:documentation>Wind energy source</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="generalGreen">
        <xs:annotation>
          <xs:documentation>All kinds of green energy sources.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="generalFossil">
        <xs:annotation>
          <xs:documentation>All kinds of fossil power sources</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Any other energy source</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EnergyPricingPolicy">
    <xs:annotation>
      <xs:documentation>Details how the price for the charging process is calculated.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="pricingPolicy" type="egi:_PricingPolicyEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Information on which ways of pricing are used at the refill point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="combinationWithParkingFee" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates whether vehicle charging and parking are included in one combined fee</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="discount" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Discount indicated in %</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximumDeliveryFee" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A maximum delivery fee.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minimumDeliveryFee" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A minimum delivery fee.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="additionalInformation" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free text field for additional information regarding the pricing policy.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_energyPricingPolicyExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PricingPolicyEnum">
    <xs:annotation>
      <xs:documentation>A list of possible pricing policies at refill points</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="pricePerChargingTime">
        <xs:annotation>
          <xs:documentation>The charging time defines the price.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pricePerDeliveryUnit">
        <xs:annotation>
          <xs:documentation>The amount of delivery units (see DeliveryUnitEnum) defines the price.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="contract">
        <xs:annotation>
          <xs:documentation>A contract defines the pricing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="flatRate">
        <xs:annotation>
          <xs:documentation>Customers can or must have (depends on other available options) a flatrate to use the RefillPoint.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The pricing details are unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="free">
        <xs:annotation>
          <xs:documentation>Charging is free.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other method of pricing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RefillPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>Technical infrastructure at a specific location that facilitates an energy refilling process being connected to max. one vehicle at a time</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Facility">
        <xs:sequence>
          <xs:element name="_refillPointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VehicleSpace">
    <xs:annotation>
      <xs:documentation>A space where a vehicle can be charged.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Facility">
        <xs:sequence>
          <xs:element name="parkingAllowedAfterCharging" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>When true, parking on this space after charging is allowed for a vehicle.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_vehicleSpaceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VehicleToGridCommunicationTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of communication types for communication between vehicles and the grid.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="none">
        <xs:annotation>
          <xs:documentation>No communication between vehicle and the grid.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iso15118">
        <xs:annotation>
          <xs:documentation>Communication according to ISO15118.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iec619802">
        <xs:annotation>
          <xs:documentation>Communication according to IEC 61980-2.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Communication according to other guidelines/specifications.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The type of communication is unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Volt">
    <xs:annotation>
      <xs:documentation>Volt.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
  <xs:simpleType name="Watt">
    <xs:annotation>
      <xs:documentation>Watt.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Float" />
  </xs:simpleType>
</xs:schema><?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:fac="http://datex2.eu/schema/3/facilities" version="3.3" targetNamespace="http://datex2.eu/schema/3/facilities" xmlns:com="http://datex2.eu/schema/3/common" xmlns:loc="http://datex2.eu/schema/3/locationReferencing" xmlns:egi="http://datex2.eu/schema/3/energyInfrastructure" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/energyInfrastructure" schemaLocation="DATEXII_3_EnergyInfrastructure.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:complexType name="_AccessibilityEnum">
    <xs:simpleContent>
      <xs:extension base="fac:AccessibilityEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_AvailabilityEnum">
    <xs:simpleContent>
      <xs:extension base="fac:AvailabilityEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_CredentialTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:CredentialTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_EnergySourceEnum">
    <xs:simpleContent>
      <xs:extension base="fac:EnergySourceEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_EquipmentTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:EquipmentTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_FacilityObjectVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:FacilityObject" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_FacilityTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:FacilityTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ImageFormatEnum">
    <xs:simpleContent>
      <xs:extension base="fac:ImageFormatEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_MeansOfPaymentEnum">
    <xs:simpleContent>
      <xs:extension base="fac:MeansOfPaymentEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OperatingHoursSpecificationVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:OperatingHoursSpecification" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_OperatingHoursTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:OperatingHoursTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_OperationStatusEnum">
    <xs:simpleContent>
      <xs:extension base="fac:OperationStatusEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OrganisationSpecificationVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:OrganisationSpecification" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_OrganisationTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:OrganisationTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_OrganisationTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:OrganisationTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OrganisationVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:Organisation" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_PaymentBrandsEnum">
    <xs:simpleContent>
      <xs:extension base="fac:PaymentBrandsEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PaymentTimingEnum">
    <xs:simpleContent>
      <xs:extension base="fac:PaymentTimingEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RateAvailabilityTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:RateAvailabilityTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RateLineTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:RateLineTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RateMatrixVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:RateMatrix" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_RateTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:RateTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_RateTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:RateTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RateUsageConditionsTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:RateUsageConditionsTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RefundTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:RefundTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ReservationTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:ReservationTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RightTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:RightTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ServiceFacilityTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:ServiceFacilityTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SurchargeTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:SurchargeTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_UserTypeEnum">
    <xs:simpleContent>
      <xs:extension base="fac:UserTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="AccessibilityEnum">
    <xs:annotation>
      <xs:documentation>Information on accessibility and facilities for persons with disabilities.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="barrierFreeAccessible">
        <xs:annotation>
          <xs:documentation>Accessible without any steps or other barriers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="disabilityAccessible">
        <xs:annotation>
          <xs:documentation>Accessible for persons with disabilities. Wheelchair accessible is a special form of it.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wheelChairAccessible">
        <xs:annotation>
          <xs:documentation>Accessible by people in a wheelchair.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="disabilityFacilities">
        <xs:annotation>
          <xs:documentation>There are special facilities for persons with disabilities, like handrails or special furniture.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="orientationSystemForBlindPeople">
        <xs:annotation>
          <xs:documentation>There is some orientation system, which helps blind or visually impaired people. Examples might be some acoustic system or tactile paving.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="marking">
        <xs:annotation>
          <xs:documentation>There is a visible mark for the privilege of persons with disabilities (e.g. a wheelchair symbol).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="none">
        <xs:annotation>
          <xs:documentation>No form of special accessibility, i.e. usually not convenient for persons with disabilities, e.g. because of steps or barriers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>It is unknown, whether there is a special form of accessibility.</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="AmountInCurrency">
    <xs:annotation>
      <xs:documentation>A class supporting the definition of a unit of currency in a defined currency.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="currencyValue" type="fac:AmountOfMoney" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The amount of currency specified in the given currency code type.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="currencyType" type="fac:CurrencyCode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Code for the specified currency as defined in ISO 4217.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_amountInCurrencyExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AmountOfMoney">
    <xs:annotation>
      <xs:documentation>A monetary value expressed to two decimal places.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Decimal">
      <xs:totalDigits value="8" />
      <xs:fractionDigits value="2" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AssociatedFacility">
    <xs:annotation>
      <xs:documentation>Infrastructure this site is associated with, i.e. they are located on the same property and may share entrance and exit.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="type" type="fac:_FacilityTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specifies the type of facility or infrastructure this facility is associated with, i.e. they are located on the same property and may share entrance and exit.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="facilityReference" type="fac:_FacilityObjectVersionedReference" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to the associated facility.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Any additional description of the associated facility.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_associatedFacilityExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AvailabilityEnum">
    <xs:annotation>
      <xs:documentation>An enumeration which states if something is available or not.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="available">
        <xs:annotation>
          <xs:documentation>The element in question is available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notAvailable">
        <xs:annotation>
          <xs:documentation>The element in question is not available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>There is no information about whether the element in question is available or not.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="BrandsAcceptedCodeList">
    <xs:annotation>
      <xs:documentation>Use this class to describe details of the brands that are accepted.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="brandsAcceptedList" type="fac:_PaymentBrandsEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>List of accepted brands for payment cards.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_brandsAcceptedCodeListExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BrandsAcceptedText">
    <xs:annotation>
      <xs:documentation>Use this class to describe details of the brands that are accepted.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="brandsAccepted" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>List of accepted brands for payment cards.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_brandsAcceptedTextExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ClosureInformation">
    <xs:annotation>
      <xs:documentation>Information about temporary or permanent closure.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="permananentlyClosed" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Permanently closed, i.e. it is not intended to open again.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="temporarilyClosed" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Temporarily closed for an unspecified period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="closedFrom" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Permanently or temporarily closed from the given date on. May lie in the future - in this case the scene is not closed now.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="temporarilyClosedUntil" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Temporarily closed until the given date (i.e. closure still includes this date).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_closureInformationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ContactInformation">
    <xs:annotation>
      <xs:documentation>Contact information</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="language" type="com:Language" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Language(s) that are supported via telephone or mail.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="telephoneNumber" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Telephone number, which can be a general number or the number of a specific contact person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="faxNumber" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Fax number, which can be a general number or the number of a specific contact person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="eMail" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>E-Mail address, which can be a general mail address or the mail address of a specific contact person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_contactInformationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ContactPerson">
    <xs:annotation>
      <xs:documentation>A specific contact person</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:ContactInformation">
        <xs:sequence>
          <xs:element name="name" type="com:String" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The (last) name of the contact person</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="firstName" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The first name of the contact person</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="title" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Title information of the contact person.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="position" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The position of the contact person</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_contactPersonExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Credential">
    <xs:annotation>
      <xs:documentation>Class containing reference to a credential (identifiable persistent identity)</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="type" type="fac:_CredentialTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Type of credential</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="otherType" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Some other type of credential</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_credentialExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CredentialAssigned">
    <xs:annotation>
      <xs:documentation>Information concerning a specific credential that is used for verification for one AssignedRight. Specialisation of a general credential.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Credential">
        <xs:sequence>
          <xs:element name="localIdentifier" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Identifier issued by credential issuer.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="issuer" type="fac:_OrganisationVersionedReference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Identity of the credential issuer.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_credentialAssignedExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CredentialTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of the supported credential types available for reference.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="hangtag">
        <xs:annotation>
          <xs:documentation>Visible, often removable, credential indicator, with visible markings</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="permit">
        <xs:annotation>
          <xs:documentation>Issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="licensePlate">
        <xs:annotation>
          <xs:documentation>Fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ticket">
        <xs:annotation>
          <xs:documentation>Typically issued paper with printed details, often with magnetic strips; typically single use disposable.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="eticket">
        <xs:annotation>
          <xs:documentation>Digital equivalent of a paper ticket, often presentable via smartphone or similar device for control.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="barcode">
        <xs:annotation>
          <xs:documentation>Barcode or QR digital print pattern, held on any physical media.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bluetooth">
        <xs:annotation>
          <xs:documentation>Specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user.  Used for both one time and permit uses.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rfid">
        <xs:annotation>
          <xs:documentation>Specific RF identification associated to an RFID-related account.  Used for permit uses.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="qrCode">
        <xs:annotation>
          <xs:documentation>Quick Reference (QR) code</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Some other credential</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CurrencyCode">
    <xs:annotation>
      <xs:documentation>Three letter code defining the currency according to ISO 4217:2015 (e.g. EUR for Euro).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:String">
      <xs:pattern value="[A-Z][A-Z][A-Z]" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Dimension">
    <xs:annotation>
      <xs:documentation>A component that provides dimension information. Especially for multi-storey buildings, the usable area might be larger than the product from its length and width. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="length" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Length.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="width" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Width.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="height" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Height.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="usableArea" type="fac:SquareMetres" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The area measured in square metres, that is available for some specific purpose.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_dimensionExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Duration">
    <xs:annotation>
      <xs:documentation>A duration of time, which may consist of years, months, days, hours, minutes, and seconds components, as defined in ISO 8601.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:duration" />
  </xs:simpleType>
  <xs:complexType name="DurationValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of a period of time.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="duration" type="com:Seconds" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A period of time expressed in seconds.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_durationValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Eligibility">
    <xs:annotation>
      <xs:documentation>Class support concepts for defining eligibility criteria.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="eligibilityName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free-text name for the eligibility definition</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free-text description for the eligibility definition</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="qualification" type="fac:Qualification" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_eligibilityExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="EnergySourceEnum">
    <xs:annotation>
      <xs:documentation>Type of fuel used by a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="all">
        <xs:annotation>
          <xs:documentation>All sort of fuel is accepted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="battery">
        <xs:annotation>
          <xs:documentation>Battery.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="biodiesel">
        <xs:annotation>
          <xs:documentation>Biodiesel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="diesel">
        <xs:annotation>
          <xs:documentation>Fuel used for compression-ignition (CI) engines.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dieselBatteryHybrid">
        <xs:annotation>
          <xs:documentation>Diesel and battery hybrid.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ethanol">
        <xs:annotation>
          <xs:documentation>Ethanol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hydrogen">
        <xs:annotation>
          <xs:documentation>Hydrogen.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="liquidGas">
        <xs:annotation>
          <xs:documentation>Liquid gas of any type including LPG.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lpg">
        <xs:annotation>
          <xs:documentation>Liquid petroleum gas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="methane">
        <xs:annotation>
          <xs:documentation>Methane gas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol">
        <xs:annotation>
          <xs:documentation>Fuel used for positive-ignition (PI) engines.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol95Octane">
        <xs:annotation>
          <xs:documentation>Petrol with 95 octane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol98Octane">
        <xs:annotation>
          <xs:documentation>Petrol with 98 octane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolBatteryHybrid">
        <xs:annotation>
          <xs:documentation>Petrol and battery hybrid.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolLeaded">
        <xs:annotation>
          <xs:documentation>Leaded petrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolUnleaded">
        <xs:annotation>
          <xs:documentation>Unleaded petrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The sort of fuel is not known.</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="EquipmentTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of equipment.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="bikeParking">
        <xs:annotation>
          <xs:documentation>Bike parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cashMachine">
        <xs:annotation>
          <xs:documentation>Cash machine.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="copyMachineOrService">
        <xs:annotation>
          <xs:documentation>A possibility to create copies of documents.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="defibrillator">
        <xs:annotation>
          <xs:documentation>Medical equipment to provide first aid after heart attacks.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dsrcReceiver">
        <xs:annotation>
          <xs:documentation>A system to manage digital short range communication (radio beacon transceivers), e.g. for tolling roadside equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dumpingStation">
        <xs:annotation>
          <xs:documentation>Possibility to get rid of sewage (especially for motorhomes).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="electricChargingStation">
        <xs:annotation>
          <xs:documentation>For charging vehicles, motorhome supply etc. The quantity attribute specifies the number of charging stations.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="elevator">
        <xs:annotation>
          <xs:documentation>Indication of the availability of elevators.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="faxMachineOrService">
        <xs:annotation>
          <xs:documentation>A possibility to send and/or receive faxes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fireExtinguisher">
        <xs:annotation>
          <xs:documentation>Fire extinguisher</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fireHose">
        <xs:annotation>
          <xs:documentation>A hose for water transport in case of fire.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fireHydrant">
        <xs:annotation>
          <xs:documentation>Fire hydrant</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="firstAidEquipment">
        <xs:annotation>
          <xs:documentation>Equipment to support first aid on injured people. Note that 'defibrillator' is a separate literal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iceFreeScaffold">
        <xs:annotation>
          <xs:documentation>A technical equipment to remove ice and snow from the roof of lorries.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="informationPoint">
        <xs:annotation>
          <xs:documentation>An information point with employees.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="informationStele">
        <xs:annotation>
          <xs:documentation>An unmanned information point.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="internetTerminal">
        <xs:annotation>
          <xs:documentation>Public internet terminal. Charges may be specified using the TariffsAndPayment section.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="internetWireless">
        <xs:annotation>
          <xs:documentation>Public wireless internet. Specifying an amount would be the number of hotspots/access points. Charges may be specified using the TariffsAndPayment section.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="luggageLocker">
        <xs:annotation>
          <xs:documentation>Possibility to deposit luggage in a safe way.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="paymentMachine">
        <xs:annotation>
          <xs:documentation>A payment machine, for example a parking ticket machine.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="picnicFacilities">
        <xs:annotation>
          <xs:documentation>Indication of whether any picnicking facilities, such as tables, chairs and shaded areas, are available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="playground">
        <xs:annotation>
          <xs:documentation>A playground for children.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicCardPhone">
        <xs:annotation>
          <xs:documentation>Indicates, whether there's a public telephone available that can be used with a card.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicCoinPhone">
        <xs:annotation>
          <xs:documentation>Indicates, whether there's a public telephone available that can be used with coins.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicPhone">
        <xs:annotation>
          <xs:documentation>Indicates, whether there's a public telephone available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="refuseBin">
        <xs:annotation>
          <xs:documentation>Refuse bins for small amounts of garbage (see also 'wasteDisposal').</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="safeDeposit">
        <xs:annotation>
          <xs:documentation>A possibility to store valuable possession in a safe way. </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shelter">
        <xs:annotation>
          <xs:documentation>A shelter (against wind, sun, ....).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shower">
        <xs:annotation>
          <xs:documentation>Indicates, whether there are shower facilities available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowAndIceRemovalEquipment">
        <xs:annotation>
          <xs:documentation>Equipment to remove snow and ice.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="toilet">
        <xs:annotation>
          <xs:documentation>Indicates, whether there are toilets available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tollTerminal">
        <xs:annotation>
          <xs:documentation>A terminal, where toll charges can be paid manually (this does not mean a toll gate on the road)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tyreAirPressureEquipment">
        <xs:annotation>
          <xs:documentation>Equipment to measure and refill tyre air pressure.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waterBasin">
        <xs:annotation>
          <xs:documentation>A water basin to wash hands, clothes or dishes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vendingMachine">
        <xs:annotation>
          <xs:documentation>A vending machine for snacks, coffee etc. (without manpower).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waterSupply">
        <xs:annotation>
          <xs:documentation>Supply of fresh water, e.g. for motorhomes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wasteDisposal">
        <xs:annotation>
          <xs:documentation>Possibility to get rid of waste in a legal way (e.g. for truckers or motorhomes). Normal refuse bins are not intended here.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waterTap">
        <xs:annotation>
          <xs:documentation>Fresh water out of a tap.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="none">
        <xs:annotation>
          <xs:documentation>None.</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>Some other equipment. Use the description attribute to specify it.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Facility" abstract="true">
    <xs:annotation>
      <xs:documentation>Provides information about a facility, which may represent any kind of site, building, or structure, and may be a composite facility that includes supplemental facilities.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:FacilityObject">
        <xs:sequence>
          <xs:element name="supplementalFacility" type="fac:SupplementalFacility" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_facilityExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="FacilityObject" abstract="true">
    <xs:annotation>
      <xs:documentation>Provides information about a facility object, which may represent any kind of site, building, or structure, including those which supplement a main facility.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of this facility.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alias" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>An alternative name for this facility.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="externalIdentifier" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An external identifier for this facility.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lastUpdated" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Information on the time when the information has been updated the last time</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A description for this facility.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="accessibility" type="fac:_AccessibilityEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Information on accessibility and facilities for persons with disabilities.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="additionalInformation" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Some additional information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="informationWebsite" type="com:UrlLink" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>URL of some internet site with additional information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="photoUrl" type="com:UrlLink" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Specifies a URL at which a photo of the facility or its surrounding can be found.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="photo" type="fac:Image" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A binary photo of the facility or its surrounding.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="operatingHours" type="fac:OperatingHours" minOccurs="0" />
      <xs:element name="locationReference" type="loc:LocationReference" minOccurs="0" />
      <xs:element name="owner" type="fac:Organisation" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The owner of this facility.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="operator" type="fac:Organisation" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The operator of this facility.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="associatedFacility" type="fac:AssociatedFacility" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="rates" type="fac:Rates" minOccurs="0" />
      <xs:element name="applicableForVehicles" type="com:VehicleCharacteristics" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A set of vehicles, for which this facility is appropriate, specified by its characteristics.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dimension" type="fac:Dimension" minOccurs="0" />
      <xs:element name="_facilityObjectExtension" 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="FacilityObjectStatus">
    <xs:annotation>
      <xs:documentation>Dynamic status information for a facility object.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="reference" type="fac:_FacilityObjectVersionedReference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Reference to the corresponding static facility object.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_facilityObjectStatusExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FacilityStatus">
    <xs:annotation>
      <xs:documentation>Dynamic status information for a facility.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:FacilityObjectStatus">
        <xs:sequence>
          <xs:element name="_facilityStatusExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="FacilityTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of infrastructure</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="airport">
        <xs:annotation>
          <xs:documentation>An airport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carPark">
        <xs:annotation>
          <xs:documentation>A car park</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carRentalStation">
        <xs:annotation>
          <xs:documentation>A rental station for cars</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="electricChargingStation">
        <xs:annotation>
          <xs:documentation>An electric charging station</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="energyInfrastructureSite">
        <xs:annotation>
          <xs:documentation>An energy infrastructure site</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lorryParkingSite">
        <xs:annotation>
          <xs:documentation>A parking site for lorries</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkingSite">
        <xs:annotation>
          <xs:documentation>A location to park vehicles</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolStation">
        <xs:annotation>
          <xs:documentation>A petrol station</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicTransportDepot">
        <xs:annotation>
          <xs:documentation>A depot for public transport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicTransportHub">
        <xs:annotation>
          <xs:documentation>A hub for public transport</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shoppingCentre">
        <xs:annotation>
          <xs:documentation>A shopping centre</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trainStation">
        <xs:annotation>
          <xs:documentation>A train station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Some other type of infrastructure</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FreeOfCharge">
    <xs:annotation>
      <xs:documentation>There are no rates or fees to be paid.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Rates">
        <xs:sequence>
          <xs:element name="_freeOfChargeExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GeneralRateInformation">
    <xs:annotation>
      <xs:documentation>Some general rates and payment information without specifying rates as such.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Rates">
        <xs:sequence>
          <xs:element name="_generalRateInformationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </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="fac:_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="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MeansOfPaymentEnum">
    <xs:annotation>
      <xs:documentation>Means of payment</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="paymentCreditCard">
        <xs:annotation>
          <xs:documentation>Payment by electronic payment credit card which is a small plastic card issued by a bank, building society, or other financial institution (ISO/IEC 7813 and other related standards), allowing the holder to purchase goods or services on credit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cashBillsOnly">
        <xs:annotation>
          <xs:documentation>Cash payment using bills only.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cashCoinsOnly">
        <xs:annotation>
          <xs:documentation>Cash payment with coins only.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tollTag">
        <xs:annotation>
          <xs:documentation>Toll tag (RFID) or similar, with associated account.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mobileAccount">
        <xs:annotation>
          <xs:documentation>Payment method using an app or other functions typically via a smartphone, to a linked bank or card account.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cashCoinsAndBills">
        <xs:annotation>
          <xs:documentation>Cash payment using bills and/or coins only.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="prepay">
        <xs:annotation>
          <xs:documentation>Advanced payment for parking right.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="paymentDebitCard">
        <xs:annotation>
          <xs:documentation>Payment by electronic payment debit card which is a small plastic card (ISO/IEC 7813 and other related standards), allowing the holder to transfer money electronically from their bank account when making a purchase.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="paymentValueCard">
        <xs:annotation>
          <xs:documentation>Payment by electronic payment debit card which is a small plastic card (ISO/IEC 7813 and other related standards) with a monetary value stored on the card itself, not that may not be linked to  an external account maintained by a financial institution.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OpenAllHours">
    <xs:annotation>
      <xs:documentation>Open or available all the time (24/7)</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:OperatingHours">
        <xs:sequence>
          <xs:element name="_openAllHoursExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OperatingHours" abstract="true">
    <xs:annotation>
      <xs:documentation>Operating hours, either by reference or by specification.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="closureInformation" type="fac:ClosureInformation" minOccurs="0" />
      <xs:element name="_operatingHoursExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OperatingHoursByReference">
    <xs:annotation>
      <xs:documentation>Operating hours information that is addressed via a reference.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:OperatingHours">
        <xs:sequence>
          <xs:element name="operatingHoursReference" type="fac:_OperatingHoursSpecificationVersionedReference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The reference to an operating hours specification.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="operatingHoursTableReference" type="fac:_OperatingHoursTableVersionedReference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Operation hours table in question defined by a reference.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_operatingHoursByReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OperatingHoursSpecification">
    <xs:annotation>
      <xs:documentation>A specification of operating hours (e.g. for a parking site, a service facility, an access or the availability for equipment).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:OperatingHours">
        <xs:sequence>
          <xs:element name="lastUpdated" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The date/time at which this information was last updated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="label" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A label, name or identifier for this operating hours specification.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="operatingAllYear" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The facility or organisation is not closed on a seasonal base.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="urlLinkAddress" type="com:Url" minOccurs="0" 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="overallPeriod" type="com:OverallPeriod">
            <xs:annotation>
              <xs:documentation>The specification of operating hours by an overall period combined with valid or exceptional periods.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_operatingHoursSpecificationExtension" 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:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OperationStatusEnum">
    <xs:annotation>
      <xs:documentation>Specifies whether some scenario or equipment is in operation or not.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="inOperation">
        <xs:annotation>
          <xs:documentation>The specified element is in operation right now.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="limitedOperation">
        <xs:annotation>
          <xs:documentation>The specified element is in operation on a limited basis.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notInOperation">
        <xs:annotation>
          <xs:documentation>The specified element is not operating right now.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notInOperationAbnormal">
        <xs:annotation>
          <xs:documentation>The specified element is not operating due to abnormal conditions (holidays, restoration-works, long-term closure, ....).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="technicalDefect">
        <xs:annotation>
          <xs:documentation>The specified element is not in operation due to a technical defect.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>There is no information about the operation status.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Organisation" abstract="true">
    <xs:annotation>
      <xs:documentation>Information about an organisation including its units and contact information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="generalTimeValidity" type="com:OverallPeriod" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Specification of a time validity, for which this organisation information is valid in general. This is not a specification of the operating hours as such.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_organisationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OrganisationByReference">
    <xs:annotation>
      <xs:documentation>Organisation information that is based on a reference</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Organisation">
        <xs:sequence>
          <xs:element name="organisationReference" type="fac:_OrganisationSpecificationVersionedReference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Organisation information provided by a reference.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="organisationTableReference" type="fac:_OrganisationTableVersionedReference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Organisation table in question defined by a reference.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_organisationByReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OrganisationSpecification">
    <xs:annotation>
      <xs:documentation>Specification of an organisation. It must contain at least one unit.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Organisation">
        <xs:sequence>
          <xs:element name="lastUpdated" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The date/time at which this information was last updated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="name" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Name of the organisation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="externalCode" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An external code to identify the organisation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="legalName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The legal name of the organisation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A description of the organisation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="linkToGeneralInformation" type="com:Url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An internet address from where further relevant information about this organisation may be obtained.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="linkToLogo" type="com:Url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An internet address from where the logo of this organisation may be obtained.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="linkToWebform" type="com:Url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An internet address pointing to a webform, which people can use to send messages to this organisation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="available24hours" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Specifies if the availability is 24 hours a day. If omitted, this information is unknown or heterogeneous.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="responsibility" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Specification of services or other duties the organisation is responsible for,</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="publishingAgreement" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indication, whether the organisation accepted publishing its information.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="fac:_OrganisationTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Information whether the organisation in question belongs to the public or private sector.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="nationalOrganisationNumber" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The national organisation number in the specified national register, if applicable.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="nationalRegister" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A national register where the organisation is registered.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vatIdentificationNumber" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The VAT identification number of the organisation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="organisationUnit" type="fac:OrganisationUnit" maxOccurs="unbounded" />
          <xs:element name="subOrganisation" type="fac:Organisation" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A sub organisation that could substitute its role</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_organisationSpecificationExtension" 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:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OrganisationTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of organisation.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="publicSector">
        <xs:annotation>
          <xs:documentation>Public sector organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="privateSector">
        <xs:annotation>
          <xs:documentation>Private sector organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OrganisationUnit">
    <xs:annotation>
      <xs:documentation>A unit within the organisation, which has got seperate location, operating hours, address and/or contacts.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A name for this organisation unit</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="function" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Functions this unit is responsible for or a specific type, e.g. headquarter or sales</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="locationReference" type="loc:LocationReference" minOccurs="0" />
      <xs:element name="contactInformation" type="fac:ContactInformation" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="operatingHours" type="fac:OperatingHours" minOccurs="0" />
      <xs:element name="_organisationUnitExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PaymentBrandsEnum">
    <xs:annotation>
      <xs:documentation>Brands for payment cards</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="americanExpress">
        <xs:annotation>
          <xs:documentation>American Express</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="applePay">
        <xs:annotation>
          <xs:documentation>Apple pay</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cirrus">
        <xs:annotation>
          <xs:documentation>Cirrus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dinersClub">
        <xs:annotation>
          <xs:documentation>Diners Club</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="discoverCard">
        <xs:annotation>
          <xs:documentation>Discover Card</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="giroCard">
        <xs:annotation>
          <xs:documentation>Giro card</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="maestro">
        <xs:annotation>
          <xs:documentation>Maestro</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="masterCard">
        <xs:annotation>
          <xs:documentation>Master Card</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="visa">
        <xs:annotation>
          <xs:documentation>Visa</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vpay">
        <xs:annotation>
          <xs:documentation>VPay</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Another brand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PaymentMethod">
    <xs:annotation>
      <xs:documentation>Provides information on the means of payment available</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="paymentMeans" type="fac:_MeansOfPaymentEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The means of payment available</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="paymentMode" type="fac:_PaymentTimingEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Defines the timing of the parking or other mobility related payment</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="brandsAcceptedText" type="fac:BrandsAcceptedText" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="brandsAcceptedCodeList" type="fac:BrandsAcceptedCodeList" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_paymentMethodExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PaymentTimingEnum">
    <xs:annotation>
      <xs:documentation>Details of when payment is required.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="prepay">
        <xs:annotation>
          <xs:documentation>pay before entry</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="payOnEntry">
        <xs:annotation>
          <xs:documentation>pay at start of the parking session (e.g. for pay and display) </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="payPriorToExit">
        <xs:annotation>
          <xs:documentation>Pay at machine on foot prior to returning to vehicle and use payment ticket to exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="payAfterExit">
        <xs:annotation>
          <xs:documentation>Payment on account</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="payAndExit">
        <xs:annotation>
          <xs:documentation>Pay directly at the exit with a payment card or other means of payment (usually, this payment card must have been used when entering as well). </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="Qualification">
    <xs:annotation>
      <xs:documentation>A singular set of criteria used to test eligibility for use of a rate table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="withReservation" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates whether a reservation is required. [TRUE] reservation required</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="propulsionEnergyType" type="fac:_EnergySourceEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Indicates eligible fuel types for applicable vehicles</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="noFeeToUse" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specific facility is free or not. [TRUE] (e.g. free to park)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="withMembership" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that a membership is required. [TRUE] membership required</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="membershipName" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Free-text description of the membership</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="memberOfOtherRateTable" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates if this qualification can be used in combination with the use of another rate table. [TRUE]= member of (i.e., used) another rate table.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rateTableMember" type="fac:_RateTableVersionedReference" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Reference to another rate table membership</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="activeAssignedRight" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication of an assigned right.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="paymentMethod" type="fac:PaymentMethod" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vehicleCharacteristics" type="com:VehicleCharacteristics" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="userQualification" type="fac:UserQualification" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_qualificationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="RateAvailabilityTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of rate availability types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="private">
        <xs:annotation>
          <xs:documentation>where parking access limited to known and authorized individuals.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="public">
        <xs:annotation>
          <xs:documentation>Open to the public.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restricted">
        <xs:annotation>
          <xs:documentation>Open to the public but need a direct purpose or permission to use from owner (e.g. doctor's surgery, storefront)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RateDiscount">
    <xs:annotation>
      <xs:documentation>Class defining discount rates to be applied to a RateTable</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="discountRate" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>proportionate discount (-) or surcharge (+) to be applied to all values in the referenced RateTable </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="fixedValue" type="fac:AmountInCurrency" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Fixed value discount (-) or surcharge (+) to be applied to all values in the referenced RateTable </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_rateDiscountExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RateEligibility">
    <xs:annotation>
      <xs:documentation>Defines the combination of Eligibility requirements with RateTables and associates this combination to a RightSpecification.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="priority" type="com:Integer" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An integer value, starting at 1, indicating the order in which multiple relevant RateTables shall be considered, with 1 being the highest priority.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="combinable" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Boolean attribute that indicates (TRUE) if all RateTables associated to a RightSpecification with a common Eligibility can be combined to establish a lowest cost tariff or (FALSE) they cannot be combined.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rateDiscount" type="fac:RateDiscount" minOccurs="0" />
      <xs:element name="eligibility" type="fac:Eligibility" />
      <xs:element name="rightSpecification" type="fac:RightSpecification" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_rateEligibilityExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RateLine">
    <xs:annotation>
      <xs:documentation>A specific rate element of a rate line collection within a specific rate table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="rateLineType" type="fac:_RateLineTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the nature of the rate line</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free-text description associated with this rate line.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="durationStart" type="com:Time" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>If used, indicates the start time for the applicability of the specific rate line, generally with respect to the start of the parking or other mobility session. e.g. the start of a time-based tier charge rate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="durationEnd" type="com:Time" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>If used, indicates the end time for the applicability of the specific rate line, generally with respect to the start of the parking or other mobility session. e.g. the end of a time-based tier charge rate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="incrementPeriod" type="fac:Duration" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time period for incrementing the rate line charge. If set to the same as the duration of the period between the durationStart and durationEnd the increment will occur once per period, i.e. a flat rate time-based tier charge rate.  </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="value" type="fac:AmountOfMoney" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The value of the fee to be charged in respect of this rate line</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minValue" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The minimum monetary amount to be applied in conjunction with use of this rate line collection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maxValue" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The maximum monetary amount to be applied in conjunction with use of this rate line collection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="usageCondition" type="fac:_RateUsageConditionsTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates conditions on the use of this rate line</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="surcharge" type="fac:Surcharge" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="rateLineTax" type="fac:RateLineTax" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_rateLineExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="sequence" type="com:Integer" use="required">
      <xs:annotation>
        <xs:documentation>The ordered sequence of this RateLine instance within the RateLineCollection</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="RateLineCollection">
    <xs:annotation>
      <xs:documentation>A group of rate line elements that logically group together within one rate table, e.g. such as the rate lines for the different tiers of a time-based tier rate table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="applicableCurrency" type="fac:CurrencyCode" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The monetary currency that rates are specified in this rate line collection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minValueCollection" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The minimum monetary amount to be applied in conjunction with use of this rate line collection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maxValueCollection" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The maximum monetary amount to be applied in conjunction with use of this rate line collection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="validStart" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The start time for the validity of this rate line collection</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="validEnd" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The end time for the validity of this rate line collection</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minTime" type="fac:Duration" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A minimum parking session duration to be applied to this rate line collection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maxTime" type="fac:Duration" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A maximum parking session duration to be applied to this rate line collection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="resetTime" type="com:Time" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Time that rate resets</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="taxIncluded" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>[TRUE] Indication that tax to be applied is included within the total rate associated with this rate line collection. [FALSE] indicates that the tax is added additionally to the total.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="taxRate" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The percentage rate of tax to be applied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="taxValue" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The monetary amount of tax to be applied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="relativeTimes" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>[TRUE] Indicates whether times relative to the start of an external event are used as the basis for rate calculation. [FALSE] indicates that rate calculation definitions are based on local or UTC times (for example the duration of a parking session).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rateLine" type="fac:RateLine" maxOccurs="unbounded" />
      <xs:element name="_rateLineCollectionExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="collectionSequence" type="com:Integer" use="required">
      <xs:annotation>
        <xs:documentation>An indicator giving the place in sequence of this rate line collection</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="RateLineTax">
    <xs:annotation>
      <xs:documentation>Class containing details of tax to be applied to a RateLine</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="taxValue" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The monetary amount of tax to be applied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="taxRate" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The percentage rate of tax to be applied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="taxIncluded" type="com:Boolean" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>[TRUE] Indication that tax to be applied is included within the total rate associated with this rate line. [FALSE] indicates that the tax is added additionally to the total.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trigger" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free-text definition of boundary condition setting applicability of the tax</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="labelForDisplay" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free-text for display on a receipt and/or in a user interface</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_rateLineTaxExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="RateLineTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of rate line types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="flatRate">
        <xs:annotation>
          <xs:documentation>A rate applied to the rate line which is not time/duration dependent. i.e. a single fixed payment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="incrementingRate">
        <xs:annotation>
          <xs:documentation>A charge rate that increases by a defined amount in a defined time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="flatRateTier">
        <xs:annotation>
          <xs:documentation>A flat rate charge rate associated with a specific time-based tier. This is a special case of an incrementing rate.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="perUnit">
        <xs:annotation>
          <xs:documentation>A charge rate that is calculated per unit (the unit should be specified, for example in RefillPoint)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Rates" abstract="true">
    <xs:annotation>
      <xs:documentation>Information about rates, either by reference or by a table specification.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="applicableCurrency" type="fac:CurrencyCode" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A general information on the applicable monetary currency.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="paymentMethod" type="fac:PaymentMethod" minOccurs="0" />
      <xs:element name="overallPeriod" type="com:OverallPeriod" minOccurs="0" />
      <xs:element name="energyPricingPolicy" type="egi:EnergyPricingPolicy" minOccurs="0" />
      <xs:element name="_ratesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RatesByReference">
    <xs:annotation>
      <xs:documentation>Reference to a rate table previously specified.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Rates">
        <xs:sequence>
          <xs:element name="rateTableReference" type="fac:_RateTableVersionedReference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Reference to rate information specified in a rate table.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rateMatrixReference" type="fac:_RateMatrixVersionedReference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Reference to the corresponding rate matrix.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_ratesByReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RateTable">
    <xs:annotation>
      <xs:documentation>A specific set of rate charges relating to one or more locations and optionally one set of eligibility criteria. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Rates">
        <xs:sequence>
          <xs:element name="lastUpdated" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The date/time at which this information was last updated.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rateTableName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Name of the Rate Table</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="activeTimes" type="fac:Duration" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Periods when the rate table is to be applied.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="availability" type="fac:_RateAvailabilityTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Availability of Rate to the public.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rateResponsibleParty" type="fac:_OrganisationVersionedReference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Entity responsible for fee collection. Identifies the entity that actually collects payment (e.g. mobile payment provider, online reservation firm, on-site operations)</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rateSupersedeLink" type="fac:_RateTableVersionedReference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Identify the rate table that this rate table supersedes. Temporarily supersedes the identified rate table. Use the Rate expiration times to define duration. </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="validation" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Are validations accepted when using this rate table? [TRUE] = validations can be applied to transactions using this rate table; [FALSE] validations cannot be applicated to transactions using this rate table.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rateType" type="fac:_RateTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Defines the type of rate in use.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="validityStart" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Valid start date/time of rate table.  This is when the rate table and pricing become active</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="validityEnd" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Expiration of rate table in date/time.  This is when the rate table and pricing expires and is no longer used.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="additionalInformation" type="com:Url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>URI locator for supplementary additional information concerning use of the rate table</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="rateLineCollection" type="fac:RateLineCollection" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="rateEligibility" type="fac:RateEligibility" minOccurs="0" />
          <xs:element name="_rateTableExtension" 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:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RateTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of supported rate types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="contract">
        <xs:annotation>
          <xs:documentation>Rate provided to contract holders only.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="daily">
        <xs:annotation>
          <xs:documentation>Rate provided on a daily rate, per calendar day.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="event">
        <xs:annotation>
          <xs:documentation>Rate provided in combination with a specific event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hourly">
        <xs:annotation>
          <xs:documentation>Rate provided on an hourly basis.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RateUsageConditionsTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of supported rate usage condition types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="fixedDuration">
        <xs:annotation>
          <xs:documentation>Fixed duration - check Rate Usage Duration Limitation field</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fixedNumber">
        <xs:annotation>
          <xs:documentation>check Rate Usage Count Limitation field</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="once">
        <xs:annotation>
          <xs:documentation>Permit can be used once</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unlimited">
        <xs:annotation>
          <xs:documentation>Unlimited usage.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RefundTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of available refund categories.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="surchargeNonRefundable">
        <xs:annotation>
          <xs:documentation>The surcharge amount is non-refundable, when termination conditions are met.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="surchargePartiallyRefundable">
        <xs:annotation>
          <xs:documentation>The surcharge amount is partially but not fully refundable, when termination conditions are met</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="surchargeFullyRefundable">
        <xs:annotation>
          <xs:documentation>The surcharge amount is fully refundable, when termination conditions are met.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RelativeTimeRates">
    <xs:annotation>
      <xs:documentation>A class supporting the specification of times for defining rate applicability that are relative to a defined referenceTimeStart of an event.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:RateLineCollection">
        <xs:sequence>
          <xs:element name="referenceTimeStart" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Event-related reference start time</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="referenceTimeEnd" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Event-related reference end time</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_relativeTimeRatesExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ReservationTypeEnum">
    <xs:annotation>
      <xs:documentation>Different types of reservation.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="optional">
        <xs:annotation>
          <xs:documentation>Reservation is optional.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mandatory">
        <xs:annotation>
          <xs:documentation>Reservation is mandatory.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notAvailable">
        <xs:annotation>
          <xs:documentation>Reservation is not possible.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="partly">
        <xs:annotation>
          <xs:documentation>There is a specific contingent, that can be reserved.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Possibility of reservation is unknown,</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unspecified">
        <xs:annotation>
          <xs:documentation>Possibility of reservation is not specified.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RightSpecification">
    <xs:annotation>
      <xs:documentation>A Right Specification explicitly defines what the owner/manager of a Place is granting specific users or vehicles the ability to do (e.g. park, delivery, pick up).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="type" type="fac:_RightTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines the type of Right Specification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Free-text description of a RightSpecification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="expiry" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Date/time showing the timestamp for when a RightSpecification ceases to be valid.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="financialReference" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Creator defined free-text reference to financial transactions associated to the specific Right Specification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="issuer" type="fac:_OrganisationVersionedReference" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The issuer of this right.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="noFeeToUse" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>If TRUE Indicates that the related RightSpecification may be used without charge or cost. If FALSE costs and charges apply</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="credential" type="fac:Credential" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="validity" type="com:Validity" minOccurs="0" />
      <xs:element name="_rightSpecificationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="RightTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of the supported RightSpecification types available for reference.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="oneTimeUseParking">
        <xs:annotation>
          <xs:documentation>RightSpecification intended for one time or limited parking usage.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="permitParking">
        <xs:annotation>
          <xs:documentation>RightSpecification intended for multi-use parking usage.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="loadingUnloading">
        <xs:annotation>
          <xs:documentation>RightSpecification intended granting permissions to load and unload vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="setdownPickup">
        <xs:annotation>
          <xs:documentation>RightSpecification intended for passenger setdown and pickup.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waiting">
        <xs:annotation>
          <xs:documentation>RightSpecification intended to grant permission for an accompanied vehicle to wait.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accessPermission">
        <xs:annotation>
          <xs:documentation>RightSpecification intended grant access permission.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doingReservation">
        <xs:annotation>
          <xs:documentation>RightSpecification intended granting doing a reservation (e.g. for parking or electric charging)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="electricCharging">
        <xs:annotation>
          <xs:documentation>RightSpecification intended grant electric charging</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ServiceFacilityTypeEnum">
    <xs:annotation>
      <xs:documentation>A service facility. In distinction to equipment, a service is usually manned.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="bikeGarage">
        <xs:annotation>
          <xs:documentation>A place where bikes are repaired.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bikeSharing">
        <xs:annotation>
          <xs:documentation>Bike Sharing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cafe">
        <xs:annotation>
          <xs:documentation>Cafe.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carWash">
        <xs:annotation>
          <xs:documentation>Car wash.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="docstop">
        <xs:annotation>
          <xs:documentation>The site is part of the Docstop project, http://www.docstoponline.eu, which means medical assistance for professional drivers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="foodShopping">
        <xs:annotation>
          <xs:documentation>Food shopping.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hotel">
        <xs:annotation>
          <xs:documentation>A hotel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="kiosk">
        <xs:annotation>
          <xs:documentation>Kiosk.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="laundry">
        <xs:annotation>
          <xs:documentation>A possibility for washing clothes (might also be a laundromat with coins).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="leisureActivities">
        <xs:annotation>
          <xs:documentation>There are leisure activities offered on the site or in the very near surrounding. Use the additional description attribute to give details.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="medicalFacility">
        <xs:annotation>
          <xs:documentation>Medical facility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motel">
        <xs:annotation>
          <xs:documentation>Hotel located aside a motorway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorcycleGarage">
        <xs:annotation>
          <xs:documentation>A place where motorcycles are repaired.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorwayRestaurant">
        <xs:annotation>
          <xs:documentation>Restaurant located on a motorway rest area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorwayRestaurantSmall">
        <xs:annotation>
          <xs:documentation>Smaller type of restaurant located on a motorway rest area. Might be with limited offers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overnightAccommodation">
        <xs:annotation>
          <xs:documentation>An accommodation to stay overnight.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolStation">
        <xs:annotation>
          <xs:documentation>Indicates whether it is possible to get petrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pharmacy">
        <xs:annotation>
          <xs:documentation>Pharmacy.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="payDesk">
        <xs:annotation>
          <xs:documentation>A manned possibility to pay.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="police">
        <xs:annotation>
          <xs:documentation>Indicates whether a police station is on site or very close.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restaurant">
        <xs:annotation>
          <xs:documentation>Restaurant.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restaurantSelfService">
        <xs:annotation>
          <xs:documentation>A restaurant where people arrange and fetch their meal themselves, this might enclose a buffet.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shop">
        <xs:annotation>
          <xs:documentation>A shop of unspecified kind.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snackBar">
        <xs:annotation>
          <xs:documentation>A snack bar.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sparePartsShopping">
        <xs:annotation>
          <xs:documentation>Spare parts shopping.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="touristInformation">
        <xs:annotation>
          <xs:documentation>Tourist information with employees.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="truckRepair">
        <xs:annotation>
          <xs:documentation>Truck repair.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="truckWash">
        <xs:annotation>
          <xs:documentation>Truck wash.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tyreRepair">
        <xs:annotation>
          <xs:documentation>A tyre repair service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleMaintenance">
        <xs:annotation>
          <xs:documentation>Garage repair service.</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>Some other service facility. Use the description attribute to specify it.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SquareMetres">
    <xs:annotation>
      <xs:documentation>A value of area expressed in units of square metres.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="SupplementalEquipment">
    <xs:annotation>
      <xs:documentation>One type of  supplemental equipment, which is available on some site, for example on a rest area.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:SupplementalFacility">
        <xs:sequence>
          <xs:element name="equipmentType" type="fac:_EquipmentTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>One type of equipment.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_supplementalEquipmentExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplementalFacility" abstract="true">
    <xs:annotation>
      <xs:documentation>One type of supplemental facility which can be supplemental equipment or a supplemental service facility.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:FacilityObject">
        <xs:sequence>
          <xs:element name="availability" type="fac:_AvailabilityEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Specifies whether the supplemental facility is available or not. Note that this is no dynamic information!</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="quantity" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Number of the supplemental facility (e.g. number of toilets, restaurants, park &amp; ride places, etc.) with respect to given restrictions. Dynamic overridable.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="regularlyCleaned" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates whether the supplemental facility is cleaned on a regular basis.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="applicableForUser" type="fac:_UserTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Limitation to a set of special users.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_supplementalFacilityExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SupplementalServiceFacility">
    <xs:annotation>
      <xs:documentation>One type of supplemental service facility. You can specify the number of this service facility type (e.g. 5 restaurants) as well as the number of subitems (e.g. 200 restaurant places).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:SupplementalFacility">
        <xs:sequence>
          <xs:element name="serviceFacilityType" type="fac:_ServiceFacilityTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>One type of service.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="numberOfSubitems" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The quantity of sub items to this service facility type, e.g. the total number of restaurant places or fuel dispensers etc.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="distanceFromOriginFacility" type="com:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Approximate distance (given in metres) between this supplemental facility and some origin facility to which it is clearly related (typically a larger facility, e.g. a parking site).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_supplementalServiceFacilityExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Surcharge">
    <xs:annotation>
      <xs:documentation>Free-text description of the condition that leads to a surcharge being applied</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="surchargeType" type="fac:_SurchargeTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the nature of the surcharge to be applied</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="value" type="fac:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The monetary amount of the surcharge</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="rate" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The percentage rate surcharge to be applied</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trigger" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free-text definition of boundary condition setting applicability of the surcharge value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="refund" type="fac:_RefundTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the nature of the refund of the surcharge that is available</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="labelForDisplay" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free-text for display on a receipt and/or in a user interface</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_surchargeExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SurchargeTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of surcharge that can be applied.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="reservation">
        <xs:annotation>
          <xs:documentation>Reservation fee</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mobilePayment">
        <xs:annotation>
          <xs:documentation>Mobile payment fee</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="deposit">
        <xs:annotation>
          <xs:documentation>Deposit fee</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="membershipFee">
        <xs:annotation>
          <xs:documentation>Membership fee</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TimeZone">
    <xs:annotation>
      <xs:documentation>Identifies a time zone by specifying the difference to UTC in hours and minutes, as defined in ISO 8601.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:String">
      <xs:pattern value="[-+][0-9][0-9]:[0-9][0-9]|Z" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="UndefinedOperatingHours">
    <xs:annotation>
      <xs:documentation>There are no operating hours specified.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:OperatingHours">
        <xs:sequence>
          <xs:element name="_undefinedOperatingHoursExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="UndefinedOrganisation">
    <xs:annotation>
      <xs:documentation>The organisation for the specified association end (within the specified validity if applicable) is not defined.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Organisation">
        <xs:sequence>
          <xs:element name="_undefinedOrganisationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="UnknownOperatingHours">
    <xs:annotation>
      <xs:documentation>The operating hours are not known.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:OperatingHours">
        <xs:sequence>
          <xs:element name="_unknownOperatingHoursExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="UnknownOrganisation">
    <xs:annotation>
      <xs:documentation>The organisation for the specified association end (within the specified validity if applicable) is unknown.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Organisation">
        <xs:sequence>
          <xs:element name="_unknownOrganisationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="UnknownRates">
    <xs:annotation>
      <xs:documentation>There is no information about rates.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Rates">
        <xs:sequence>
          <xs:element name="_unknownRatesExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="UnspecifiedRates">
    <xs:annotation>
      <xs:documentation>Rates are not (yet) specified.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Rates">
        <xs:sequence>
          <xs:element name="_unspecifiedRatesExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="UserQualification">
    <xs:annotation>
      <xs:documentation>Class supporting the definition of user group characteristics</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="userGroup" type="fac:_UserTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the user-defined user group qualification</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_userQualificationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UserTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of different users, for example used in the context of parking.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="allUsers">
        <xs:annotation>
          <xs:documentation>All users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="commuters">
        <xs:annotation>
          <xs:documentation>Commuters.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="customers">
        <xs:annotation>
          <xs:documentation>Customers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="elderlyUsers">
        <xs:annotation>
          <xs:documentation>Elderly users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="employees">
        <xs:annotation>
          <xs:documentation>Employees.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="families">
        <xs:annotation>
          <xs:documentation>Families.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="personsWithDisabilities">
        <xs:annotation>
          <xs:documentation>Persons with disabilities</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hearingImpaired">
        <xs:annotation>
          <xs:documentation>People with difficulties to hear.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hotelGuests">
        <xs:annotation>
          <xs:documentation>Hotel guests.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="longTermParkers">
        <xs:annotation>
          <xs:documentation>Long-term parker.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="members">
        <xs:annotation>
          <xs:documentation>Members.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="men">
        <xs:annotation>
          <xs:documentation>Men.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overnightParkers">
        <xs:annotation>
          <xs:documentation>Overnight parker.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndCycleUser">
        <xs:annotation>
          <xs:documentation>Park and cycle user.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndRideUsers">
        <xs:annotation>
          <xs:documentation>Users that are exchanging into public transport at a park and ride station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndWalkUser">
        <xs:annotation>
          <xs:documentation>Park and walk user.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pensioners">
        <xs:annotation>
          <xs:documentation>Pensioners.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pregnantWomen">
        <xs:annotation>
          <xs:documentation>Pregnant women.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="registeredDisabledUsers">
        <xs:annotation>
          <xs:documentation>Registered disabled persons.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reservationHolders">
        <xs:annotation>
          <xs:documentation>Those who have a valid reservation, e.g. for the duration of parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="residents">
        <xs:annotation>
          <xs:documentation>Local residents.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seasonTicketHolders">
        <xs:annotation>
          <xs:documentation>Season ticket holders.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shoppers">
        <xs:annotation>
          <xs:documentation>Shoppers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shortTermParkers">
        <xs:annotation>
          <xs:documentation>Short-term parker.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sportEventAwaySupporters">
        <xs:annotation>
          <xs:documentation>Sport event away supporters.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sportEventHomeSupporters">
        <xs:annotation>
          <xs:documentation>Sport event home supporters.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="students">
        <xs:annotation>
          <xs:documentation>Students.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="staff">
        <xs:annotation>
          <xs:documentation>Staff.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="subscribers">
        <xs:annotation>
          <xs:documentation>Subscribers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="visitors">
        <xs:annotation>
          <xs:documentation>Visitors.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="visuallyImpaired">
        <xs:annotation>
          <xs:documentation>People with difficulties to see.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wheelchairUsers">
        <xs:annotation>
          <xs:documentation>Wheelchair users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="women">
        <xs:annotation>
          <xs:documentation>Women.</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>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:locx="http://datex2.eu/schema/3/locationExtension" version="3.3" targetNamespace="http://datex2.eu/schema/3/locationExtension" xmlns:fac="http://datex2.eu/schema/3/facilities" 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/facilities" schemaLocation="DATEXII_3_Facilities.xsd" />
  <xs:complexType name="_AddressLineTypeEnum">
    <xs:simpleContent>
      <xs:extension base="locx:AddressLineTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <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:complexType name="Address">
    <xs:annotation>
      <xs:documentation>A street oriented addressing structure supporting delivery</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="postcode" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Postcode or postal code for the address.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="city" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Postal city name of the address.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="countryCode" 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="addressLine" type="locx:AddressLine" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_addressExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AddressLine">
    <xs:annotation>
      <xs:documentation>A class defining information concerning one line of a postal address.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="type" type="locx:_AddressLineTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type for the address line element</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="text" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Free-text description for the address line element</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_addressLineExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="order" type="com:NonNegativeInteger" use="required">
      <xs:annotation>
        <xs:documentation>The sequence order that the address line element should be displayed in</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:simpleType name="AddressLineTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of supported address line types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="apartment">
        <xs:annotation>
          <xs:documentation>Element indicating a discrete element of a building forming the address</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="building">
        <xs:annotation>
          <xs:documentation>Element identifying the number or name and type of the edifice or construction relevant for the address [derived from ISO19160-4]</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poBox">
        <xs:annotation>
          <xs:documentation>A postal delivery location identifier, not necessarily a physical location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unit">
        <xs:annotation>
          <xs:documentation>An element representing a section of a building or organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="region">
        <xs:annotation>
          <xs:documentation>Element indicating the name of the area within or adjacent to the town in which delivery address is.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="town">
        <xs:annotation>
          <xs:documentation>Element indicating the name of the populated place in which a delivery point is located, or near to or via which the delivery point is accessed. [Source: ISO19160-4]</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="districtTerritory">
        <xs:annotation>
          <xs:documentation>Element specifying the geographic or administrative area of the country for the address [Source: 19160-4]</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="floor">
        <xs:annotation>
          <xs:documentation>Element indicating the floor or level on which a delivery point is located in a multi-storey building [Source:ISO19160-4]</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="street">
        <xs:annotation>
          <xs:documentation>Element indicating road or street identifier or name </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="houseNumber">
        <xs:annotation>
          <xs:documentation>Element indicating a house number</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="generalTextLine">
        <xs:annotation>
          <xs:documentation>A non-predefined text line for general purpose.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FacilityLocation">
    <xs:annotation>
      <xs:documentation>A location for which a time zone and an address can be specified</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="timeZone" type="fac:TimeZone" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time zone the facility is located in.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="address" type="locx:Address" minOccurs="0">
        <xs:annotation>
          <xs:documentation>An address specification following ISO 19160-4.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </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="_LocationContainedInItinerary">
    <xs:sequence>
      <xs:element name="location" type="loc:Location" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_LocationReferenceExtensionType">
    <xs:sequence>
      <xs:element name="facilityLocation" type="locx:FacilityLocation" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </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="_PredefinedItineraryVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="loc:PredefinedItinerary" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_PredefinedLocationGroupVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="loc:PredefinedLocationGroup" />
      </xs:extension>
    </xs:complexContent>
  </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="alertCDirection" type="loc:AlertCDirection" />
          <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="alertCLocation" type="loc:AlertCLocation" />
      <xs:element name="offsetDistance" type="loc:OffsetDistance" />
      <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="Itinerary" abstract="true">
    <xs:annotation>
      <xs:documentation>Multiple (i.e. more than one) physically separate locations arranged as an ordered set that defines an itinerary or route.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LocationReference">
        <xs:sequence>
          <xs:element name="routeDestination" type="loc:Destination" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Destination of a route or final location in an itinerary.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_itineraryExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ItineraryByIndexedLocations">
    <xs:annotation>
      <xs:documentation>Multiple physically separate locations arranged as an ordered set that defines an itinerary or route. The index qualifier indicates the order.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:Itinerary">
        <xs:sequence>
          <xs:element name="locationContainedInItinerary" type="loc:_LocationContainedInItinerary" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A location contained in an itinerary (i.e. an ordered set of locations defining a route or itinerary).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_itineraryByIndexedLocationsExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ItineraryByReference">
    <xs:annotation>
      <xs:documentation>Multiple (i.e. more than one) physically separate locations which are ordered that constitute an itinerary or route where they are defined by reference to a predefined itinerary.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:Itinerary">
        <xs:sequence>
          <xs:element name="predefinedItineraryReference" type="loc:_PredefinedItineraryVersionedReference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to a versioned instance of a predefined itinerary as specified in a PredefinedLocationsPublication.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_itineraryByReferenceExtension" 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="secondarySupplementaryDescription" type="loc:SupplementaryPositionalDescription" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Supplementary description that applies to the secondary end of the linear location. Use when properties change along the Linear. For a one-way linear the secondary end should be the destination end.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <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="LocationGroup" abstract="true">
    <xs:annotation>
      <xs:documentation>Multiple (i.e. more than one) physically separate locations which have no specific order.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LocationReference">
        <xs:sequence>
          <xs:element name="_locationGroupExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationGroupByList">
    <xs:annotation>
      <xs:documentation>A group of (i.e. more than one) physically separate locations which have no specific order and where each location is explicitly listed.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LocationGroup">
        <xs:sequence>
          <xs:element name="locationContainedInGroup" type="loc:Location" minOccurs="2" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A location contained in a non-ordered group of locations.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_locationGroupByListExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationGroupByReference">
    <xs:annotation>
      <xs:documentation>A group of (i.e. more than one) physically separate locations which have no specific order that are defined by reference to a predefined non ordered location group.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="loc:LocationGroup">
        <xs:sequence>
          <xs:element name="predefinedLocationGroupReference" type="loc:_PredefinedLocationGroupVersionedReference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to a versioned instance of a predefined location group as specified in a PredefinedLocationsPublication.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_locationGroupByReferenceExtension" 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="loc:_LocationReferenceExtensionType" 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:roa="http://datex2.eu/schema/3/roadTrafficData" xmlns:com="http://datex2.eu/schema/3/common" xmlns:fac="http://datex2.eu/schema/3/facilities" 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/facilities" schemaLocation="DATEXII_3_Facilities.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/common" schemaLocation="DATEXII_3_Common.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/roadTrafficData" schemaLocation="DATEXII_3_RoadTrafficData.xsd" />
  <xs:complexType name="_ActivityEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ActivityEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_CalculationTypeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:CalculationTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_CampusStatusEnum">
    <xs:simpleContent>
      <xs:extension base="prk:CampusStatusEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_CoveredEnum">
    <xs:simpleContent>
      <xs:extension base="prk:CoveredEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_EsporgStandardLevelEnum">
    <xs:simpleContent>
      <xs:extension base="prk:EsporgStandardLevelEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_FacilityObjectReference">
    <xs:complexContent>
      <xs:extension base="com:Reference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:FacilityObject" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_FacilityObjectVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="fac:FacilityObject" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_HierarchyElementTypeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:HierarchyElementTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_LayoutEnum">
    <xs:simpleContent>
      <xs:extension base="prk:LayoutEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_MeasurementSiteVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="roa:MeasurementSite" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_OperatingRestrictionsEnum">
    <xs:simpleContent>
      <xs:extension base="prk:OperatingRestrictionsEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OperatorDefinedPlaceVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="prk:OperatorDefinedPlace" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ParkingConditionsEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingConditionsEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingFaultEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingFaultEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingModeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingModeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingOccupancyEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingOccupancyEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingOccupancyTrendEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingOccupancyTrendEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingPlaceStatusEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingPlaceStatusEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingRouteDetailsVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="prk:ParkingRouteDetails" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ParkingRouteOrientationEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingRouteOrientationEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingRouteTypeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingRouteTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingSafetyEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingSafetyEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingSecurityEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingSecurityEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingSpaceConvenienceEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingSpaceConvenienceEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingSpaceOccupancyDetectionEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingSpaceOccupancyDetectionEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingStructuralCharacteristicsEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingStructuralCharacteristicsEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingSupervisionEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingSupervisionEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingTableVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="prk:ParkingTable" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ParkingUsageScenarioEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingUsageScenarioEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ParkingVacantSpacesEnum">
    <xs:simpleContent>
      <xs:extension base="prk:ParkingVacantSpacesEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PublicTransportTypeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:PublicTransportTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PublicTransportVehicleType">
    <xs:simpleContent>
      <xs:extension base="prk:PublicTransportVehicleType">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RegulationEnum">
    <xs:simpleContent>
      <xs:extension base="prk:RegulationEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <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="_SessionActivationModeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:SessionActivationModeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SpecialLocationEnum">
    <xs:simpleContent>
      <xs:extension base="prk:SpecialLocationEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_StaffEnum">
    <xs:simpleContent>
      <xs:extension base="prk:StaffEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_StructureGradeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:StructureGradeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_StructureTypeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:StructureTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SupplyViewTypeEnum">
    <xs:simpleContent>
      <xs:extension base="prk:SupplyViewTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TruckParkingDynamicManagementEnum">
    <xs:simpleContent>
      <xs:extension base="prk:TruckParkingDynamicManagementEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </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="AccessStatus">
    <xs:annotation>
      <xs:documentation>The opening and fault status of one access.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:ParkingStatusInformation">
        <xs:sequence>
          <xs:element name="entranceFull" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates that this vehicle entrance is full and probably temporarily closed for entering of new vehicles.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_accessStatusExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ActivityEnum">
    <xs:annotation>
      <xs:documentation>Collection of activities, for example in the context of rest areas.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="openFire">
        <xs:annotation>
          <xs:documentation>Open fire.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overnightParking">
        <xs:annotation>
          <xs:documentation>Overnight parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="picnic">
        <xs:annotation>
          <xs:documentation>Picnic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="smoking">
        <xs:annotation>
          <xs:documentation>Smoking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="camping">
        <xs:annotation>
          <xs:documentation>Camping.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="handlingHazardousMaterial">
        <xs:annotation>
          <xs:documentation>Handling with hazardous material.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="barbecue">
        <xs:annotation>
          <xs:documentation>Barbeque.</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="AdditionalCharacteristics">
    <xs:annotation>
      <xs:documentation>Common additional characteristics for campus, (sub)places and spaces.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="floor" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The floor on which the described place, subplace or space is located. The numbering or lettering scheme may follow local conventions.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="weightLimit" type="com:Tonnes" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Weight limit for the space.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="additionalConvenience" type="prk:_ParkingSpaceConvenienceEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Further facilities for persons with disabilities.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="structuralCharacteristics" type="prk:_ParkingStructuralCharacteristicsEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Structural characteristics of a parking space or this parking area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="parkingMode" type="prk:_ParkingModeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The arrangement of the parking space(s) in relation to the road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="occupancyDetection" type="prk:_ParkingSpaceOccupancyDetectionEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the form of detection that is used to determine space occupancy</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="temporarilyParking" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that this campus, (sub)place or space only exists on a temporarily basis. It might close permanently within short notice or might only be partially equipped. The physical parking possibilities might be provisional, too.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="distanceFromPrimaryRoad" type="com:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specifies the distance from the primary road in metres. Especially useful, if parking is located on a smaller type of road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="assignment" type="prk:Assignment" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="dedicatedAccess" type="prk:DedicatedAccess" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="totalDimension" type="fac:Dimension" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Dimension of a virtual rectangle encapsulating the area of all parking spaces in the described hierarchy level. Use 'usableArea' to define the total space available for parking within this group. Do not use 'height'.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minimumParkingSpaceDimension" type="fac:Dimension" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Lower dimension boundaries for all spaces within the area. Note that there need not exist a space with this exact dimension, but each space's dimension values must be equal or higher.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximumParkingSpaceDimension" type="fac:Dimension" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Dimension of the largest space within this area (i.e. there must be at least one space of this dimension). If the comparison of dimension values is not unique, the length is decisive.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_additionalCharacteristicsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Assignment">
    <xs:annotation>
      <xs:documentation>An assignment for parking, optionally limited to a validity in time.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="maximumParkingDuration" type="com:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The maximum parking duration for this assignment (e.g. to avoid overnight parking).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minimumParkingDuration" type="com:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The minimum parking duration for this assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="parkingAllowed" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines, if parking is allowed or not in this assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="reservation" type="fac:_ReservationTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication of whether a parking reservation service is available and/or mandatory.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="assignmentValidity" type="com:OverallPeriod" minOccurs="0" />
      <xs:element name="exclusivelyAssignedFor" type="fac:Eligibility" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Parking is only allowed for the assignment specified here, i.e. other assignments are not allowed. By using this role, it is not allowed to use 'applicableFor' and 'prohibitedFor' for the same type of attributes.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="prohibitedFor" type="fac:Eligibility" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Parking is not allowed for the given assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="applicableFor" type="fac:Eligibility" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Assignments for parking. Other assignments are allowed as well, i.e. the parking spaces are convenient for this kind of assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_assignmentExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AvailableSpacesThresholds">
    <xs:annotation>
      <xs:documentation>The threshold is defined by the number of available spaces on the parking.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:Thresholds">
        <xs:sequence>
          <xs:element name="_availableSpacesThresholdsExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CalculationTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of the supported calculation types for demand.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="counted">
        <xs:annotation>
          <xs:documentation>Physical determination if a space is occupied</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="derived">
        <xs:annotation>
          <xs:documentation>Space occupancy is estimated by using related data such as active payments or sold permits.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="expected">
        <xs:annotation>
          <xs:documentation>Future prediction of occupancy levels.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="verified">
        <xs:annotation>
          <xs:documentation>Defines an occupancy report that is considered a verified report.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CampusStatus">
    <xs:annotation>
      <xs:documentation>Dynamic status information for the static object 'Campus'.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:ParkingStatusInformation">
        <xs:sequence>
          <xs:element name="status" type="prk:_CampusStatusEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The status for multiple parking objects (available spaces or not).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_campusStatusExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CampusStatusEnum">
    <xs:annotation>
      <xs:documentation>The status for multiple parking objects (available spaces or not).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="allParkingsFull">
        <xs:annotation>
          <xs:documentation>All parking places within the specified area are full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="multiStoreyParkingsFull">
        <xs:annotation>
          <xs:documentation>All multi storey parking sites within the specified area are full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noMoreParkingSpacesAvailable">
        <xs:annotation>
          <xs:documentation>There are no more parking spaces available within the specified area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="enoughSpacesAvailable">
        <xs:annotation>
          <xs:documentation>There are enough spaces available within the specified area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The status of the group of parking sites is unknown.</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="CertifiedSecureParking">
    <xs:annotation>
      <xs:documentation>Certification for secure parking.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="typeOfCertification" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of certification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dateOfCertification" type="com:Date" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Date of certification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_certifiedSecureParkingExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Characteristics">
    <xs:annotation>
      <xs:documentation>A class defining information concerning characteristics relating to a parking facility.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="activationMode" type="prk:_SessionActivationModeEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Modes or credentials that can be used to activate a parking session or other operation (delivery, loading, etc.).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="structureGrade" type="prk:_StructureGradeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines the parking structure with respect to ground level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="robotic" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates existence of a robotic parking system - a parking structure where customer leaves vehicle at drop off area and robots move the vehicle to parking location in structure. Default or absence of value indicates [FALSE] = no robotic parking system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="accessControlled" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates facility has physical access control (e.g. barriers, gates) [TRUE] or no access control [FALSE]</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="staffed" type="prk:_StaffEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates facility has on-site staff [TRUE] or no on-site staff [FALSE] for the majority, but not all, of the open valid operating times.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="structureType" type="prk:_StructureTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines the type of parking structure.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="coveredType" type="prk:_CoveredEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specifies the type of covering of a place. Covered can include roof, canopy and other structures that protect the place from the environment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="openToPublic" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>identifies if this facility is accessible to public use [TRUE] or private use only [FALSE].</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="spacesNonDedicated" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number of parking spaces that are not assigned for a particular purpose.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="spacesTotal" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Total number of parking spaces.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="accessForPersonsWithDisabilities" type="com:Boolean" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Specifies, whether easy access is possible for persons with disabilities.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_characteristicsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CommonComponents">
    <xs:annotation>
      <xs:documentation>A class defining information concerning multiple features relating to place hierarchy elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="rgbColour" type="prk:RgbColour" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="characteristics" type="prk:Characteristics" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingRoute" type="prk:ParkingRoute" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="marketing" type="prk:Marketing" minOccurs="0" />
      <xs:element name="safetyStandardClassification" type="prk:SafetyStandardClassification" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="parkingVms" type="prk:ParkingVms" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="permitsAndProhibitions" type="prk:PermitsAndProhibitions" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="additionalCharacteristics" type="prk:AdditionalCharacteristics" minOccurs="0" />
      <xs:element name="operatingPattern" type="prk:OperatingPattern" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="thresholdConfiguration" type="prk:ThresholdConfiguration" minOccurs="0" />
      <xs:element name="_commonComponentsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CoveredEnum">
    <xs:annotation>
      <xs:documentation>Defines the supported lists of different types describing roof coverage of the facility or entity</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="covered">
        <xs:annotation>
          <xs:documentation>Indicates that the facility or specific entity has a roof to provide protection from direct overhead sun or adverse weather</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notCovered">
        <xs:annotation>
          <xs:documentation>Indicates that the facility or specific entity has no roof to provide protection from direct overhead sun or adverse weather</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="partiallyCovered">
        <xs:annotation>
          <xs:documentation>Indicates that the facility or specific entity has a roof offering partial coverage to provide protection from direct overhead sun or adverse weather</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="topLevelNotCovered">
        <xs:annotation>
          <xs:documentation>Indicates that in a multi-level facility or specific entity the top level(s) have no roof to provide protection from direct overhead sun or adverse weather</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DedicatedAccess">
    <xs:annotation>
      <xs:documentation>Reference to an access of any type (vehicles, pedestrian, ...).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="dedicatedAccess" type="prk:_FacilityObjectVersionedReference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a VehicularAccess or PedestrianAccess.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="distanceFromParkingSpace" type="com:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Distance from this access to the parking space or group of parking spaces. Especially interesting for persons with disabilities or in case of the need of changing the side of a motorway.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_dedicatedAccessExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DemandSpaceType">
    <xs:annotation>
      <xs:documentation>Defines when a specific space within a place is occupied, for how long, and the total amount for this space for this time. Includes when occupancy was determined.  This class includes actual and estimated start and end times of occupancy.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="spaceId" type="prk:_FacilityObjectReference" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Name of space, specifically identifies each individual space in an area.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="actualStart" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The actual time a space is initially occupied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="actualEnd" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The actual Time space is vacated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="detectionUpdateTime" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Time of update, from detector which is typically a space sensor or camera.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="estimatedStart" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The estimated time a space is expected to be occupied, typically based on a reservation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="estimatedEnd" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The estimated time a space is expected to be vacated, typically based on a reservation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="occupancyLevel" type="prk:OccupancyLevel" minOccurs="0" />
      <xs:element name="_demandSpaceTypeExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DemandTable">
    <xs:annotation>
      <xs:documentation>Table structure which defines the parameters of reporting actual usage of parking in a Hierarchy Element</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="frequency" type="fac:Duration" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>How frequently the demand data is revised.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="timestamp" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Timestamp when the demand table data was compiled.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="demandType" type="prk:DemandType" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="demandSpaceType" type="prk:DemandSpaceType" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_demandTableExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DemandType">
    <xs:annotation>
      <xs:documentation>Defines occupancy at a hierarchy element without specific space details.  This is an aggregate count of demand activity within the Place hierarchy.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="creationTime" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>When data in the record was compiled.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="occupancyCalculation" type="prk:_CalculationTypeEnum" minOccurs="1" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Is occupancy based on physical count, derived (calculated), or a verified report (high confidence report)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="count" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number of utilized or occupied spaces.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="percentage" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Percent of spaces occupied or utilized.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_demandTypeExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="EsporgStandardLevelEnum">
    <xs:annotation>
      <xs:documentation>Classification according to the technical specifications of the European secure parking organisation.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="bronze">
        <xs:annotation>
          <xs:documentation>ESPORG Bronze Level</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="silver">
        <xs:annotation>
          <xs:documentation>ESPORG Silver Level</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gold">
        <xs:annotation>
          <xs:documentation>ESPORG Gold Level</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="platinum">
        <xs:annotation>
          <xs:documentation>ESPORG Platinum Level</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="HierarchyElementGeneral" abstract="true">
    <xs:annotation>
      <xs:documentation>A generalised component of a place hierarchy, that forms one element in the tree-like hierarchy.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:Facility">
        <xs:sequence>
          <xs:element name="layer" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicator of the position of this hierarchy element in the specific hierarchy, with the top of the hierarchy numbered layer 0.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="prk:_HierarchyElementTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Identifies the type of the hierarchy element</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="parentId" type="prk:_FacilityObjectVersionedReference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The identity of a parent node in the next layer up of the hierarchy - for the hierarchy element at layer 0 no parent id shall be defined.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="childId" type="prk:_FacilityObjectVersionedReference" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The identity of one or several child node directly related to this hierarchy element.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="operatorDefinedReference" type="prk:_OperatorDefinedPlaceVersionedReference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Allows a data owner to associate to a data owner internal used location identification</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="occupancyLevel" type="prk:OccupancyLevel" minOccurs="0" />
          <xs:element name="operatorDefinedPlace" type="prk:OperatorDefinedPlace" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_hierarchyElementGeneralExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="HierarchyElementTypeEnum">
    <xs:annotation>
      <xs:documentation>Defines the supported lists of types of parking hierarchy elements permissible</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="campus">
        <xs:annotation>
          <xs:documentation>Typically defines a large facility (such as a university campus, or an airport), or a large geographic zone (such as a city or a town), which may contain numerous places that can be logically reported together.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="place">
        <xs:annotation>
          <xs:documentation>A place or location used for parking, loading, unloading, standing, or some other mobility or transport related activity.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="subplaceElement">
        <xs:annotation>
          <xs:documentation>A sub-division of a place for the convenience of the operator to segment the place and identify varied uses for parking and mobility related operations or other purposes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="identifiedArea">
        <xs:annotation>
          <xs:documentation>An identifiable discrete bounded geographic zone that shares common characteristics and is used for parking and mobility related operations  or other purposes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="space">
        <xs:annotation>
          <xs:documentation>A single space for parking or other mobility related purposes, usually designed for one vehicle, which may, but not necessarily, be denoted by painted or other road surface marker.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="IdentifiedArea" abstract="true">
    <xs:annotation>
      <xs:documentation>An identifiable discrete bounded geographic zone that shares common characteristics and is used for parking and mobility related operations or other purposes.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:HierarchyElementGeneral">
        <xs:sequence>
          <xs:element name="_identifiedAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ImageAlbum">
    <xs:annotation>
      <xs:documentation>A class defining information relating to images for a parking facility.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="logoImage" type="com:Url" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>URL to location of logo(s) the parking operator wishes to associate with this parking facility (e.g. their logo, schemes [ParkMark])</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="photo" type="com:Url" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specifies a URL at which a photo of the object in concern can be found.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="caption" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Free-text string providing user context to the logo or picture</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_imageAlbumExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LayoutEnum">
    <xs:annotation>
      <xs:documentation>Types of layout of this (parking) place.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="layBy">
        <xs:annotation>
          <xs:documentation>An area along a road that offers temporarily parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="openSpace">
        <xs:annotation>
          <xs:documentation>A normal ground level parking place.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nested">
        <xs:annotation>
          <xs:documentation>A parking space within a complex structure of buildings or surrounded by buildings.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="field">
        <xs:annotation>
          <xs:documentation>A non-bituminized parking space (e.g. for events or as extension).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="building">
        <xs:annotation>
          <xs:documentation>A building</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Marketing">
    <xs:annotation>
      <xs:documentation>Universal resource locator (URI) that points towards a web site carrying marketing material supplied.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="webUrl" type="com:Url" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Universal Resource Identifier (URI) linking to marketing material.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="imageAlbum" type="prk:ImageAlbum" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_marketingExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Occupancy">
    <xs:annotation>
      <xs:documentation>Information on the used and remaining parking capacity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="numberOfSpacesOverride" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Possibility to override the static value 'parkingNumberOfSpaces'.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfVacantSpaces" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The total number of currently vacant parking spaces available in the specified parking site, group of parking sites or group of parking spaces.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfVacantSpacesLowerThan" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of vacant parking spaces is lower than the given value (example: Less than 10 spaces are free).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfVacantSpacesHigherThan" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of vacant parking spaces is higher than the given value (example: More than 10 spaces are free).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfVacantSpacesGraded" type="prk:_ParkingVacantSpacesEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number of vacant spaces by grading (enumeration).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfOccupiedSpaces" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of currently occupied spaces in the specified parking site, group of parking sites or assigned parking.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfVehicles" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Number of vehicles (of specified type) on the specified area. Parking too narrow or too wide may affect differences to the 'occupiedSpaces' value. Should not include petrol station traffic.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="occupancy" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The percentage value of parking spaces occupied in the specified parking site, group of parking sites or assigned parking.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="occupancyGraded" type="prk:_ParkingOccupancyEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Occupied parking spaces by a percentage-grading (enumeration).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="occupancyTrend" type="prk:_ParkingOccupancyTrendEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The trend of the occupancy of the parking spaces in the specified parking site, group of parking sites or assigned parking.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="parkingNotAllowed" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>In case of 'true', parking is not allowed (e.g. abnormal closure).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="probability" type="com:PercentageValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The probability that at least one parking space within the specified parking element is available.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleCountAndRate" type="prk:VehicleCountAndRate" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="overrideThresholdConfiguration" type="prk:ThresholdConfiguration" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Possibility to override the thresholds for the parking, which are in principle defined in the static part of the model (ParkingStatusPublication).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_occupancyExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OccupancyChangeValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of change of occupied parking spaces expressed as integer.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="occupancyChange" type="com:Integer" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A measured or calculated absolute change of occupied parking spaces within a specified time expressed as integer.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_occupancyChangeValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OccupancyLevel">
    <xs:annotation>
      <xs:documentation>Defines an occupancy level as specified by the data supplier.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="occupanyIndicator" type="prk:_ParkingOccupancyEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>User-defined occupancy indicator (e.g. red =  occupied), referencing specified user defined code list</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_occupancyLevelExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OccupiedSpacesThresholds">
    <xs:annotation>
      <xs:documentation>The threshold is defined by the number of occupied spaces on the parking.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:Thresholds">
        <xs:sequence>
          <xs:element name="_occupiedSpacesThresholdsExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OperatingPattern" abstract="true">
    <xs:annotation>
      <xs:documentation>Specifies a usage scenario or operator restriction, optional with a validity and related location.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="relatedLocation" type="prk:RelatedLocation" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="validity" type="com:OverallPeriod" minOccurs="0" />
      <xs:element name="_operatingPatternExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="operatingPatternIndex" type="com:Integer" use="required">
      <xs:annotation>
        <xs:documentation>An index to link this element between the static and dynamic publications.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="OperatingPatternStatus">
    <xs:annotation>
      <xs:documentation>The current status for this operating pattern.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="operationStatus" type="fac:_OperationStatusEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The current status for this operating pattern.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ptScheduleUpdate" type="prk:PublicTransportSchedule" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Provides an updated version of the public transport schedule (with same id, but new version).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_operatingPatternStatusExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="operatingPatternIndex" type="com:Integer" use="required">
      <xs:annotation>
        <xs:documentation>An index to link this element between the static and dynamic publications.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="OperatingRestriction">
    <xs:annotation>
      <xs:documentation>A class defining an operating restriction.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:OperatingPattern">
        <xs:sequence>
          <xs:element name="context" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Free-text definition of the nature of operating restrictions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="prk:_OperatingRestrictionsEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Defines the type of operating restriction applicable in this case.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_operatingRestrictionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OperatingRestrictionsEnum">
    <xs:annotation>
      <xs:documentation>Defines operating restrictions to use the of a facility. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="carpoolOnly">
        <xs:annotation>
          <xs:documentation>Only carpool vehicles are permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="commercialVehicleOnly">
        <xs:annotation>
          <xs:documentation>Only commercial vehicles are permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freeParking">
        <xs:annotation>
          <xs:documentation>No fee for parking</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busOnly">
        <xs:annotation>
          <xs:documentation>Only buses are permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busStop">
        <xs:annotation>
          <xs:documentation>This is a stopping place of bus pick-up or drop-off; not to be used for parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="disabledPersonPermitOnly">
        <xs:annotation>
          <xs:documentation>Only vehicles of registered disabled person permit holders permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="electricVehicleOnly">
        <xs:annotation>
          <xs:documentation>Only electric vehicles permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="governmentVehicleOnly">
        <xs:annotation>
          <xs:documentation>Only government vehicles permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="loadingZone">
        <xs:annotation>
          <xs:documentation>This is a loading zone; not to be used for parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="loadingZoneCommercial">
        <xs:annotation>
          <xs:documentation>Only government vehicles permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="media">
        <xs:annotation>
          <xs:documentation>Only for use by the media</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="residentialPermitOnly">
        <xs:annotation>
          <xs:documentation>Only for use by residential permit holders only</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snow">
        <xs:annotation>
          <xs:documentation>Snow clearing zone; no parking</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="streetCleaning">
        <xs:annotation>
          <xs:documentation>Street cleansing zone; no parking</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkingTimeLimit">
        <xs:annotation>
          <xs:documentation>Time limited parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="taxiOnly">
        <xs:annotation>
          <xs:documentation>Only taxis are permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="valetOnly">
        <xs:annotation>
          <xs:documentation>Only valet service vehicles are permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noParking">
        <xs:annotation>
          <xs:documentation>No parking permitted</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noWaiting">
        <xs:annotation>
          <xs:documentation>No waiting or parking of vehicles is permitted</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temporaryParking">
        <xs:annotation>
          <xs:documentation>Parking is only allowed at the specified times (or, if no times are provided, in general not allowed all the time).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OperatorDefinedPlace">
    <xs:annotation>
      <xs:documentation>Class providing an operator specified name or identifier for a place hierarchy element - this may be distinct from the name for the HierarchyElement supplied by the data supplier.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="identifier" type="com:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation> Identifier for a defined place given by an organisation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="organisation" type="fac:Organisation" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_operatorDefinedPlaceExtension" 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:simpleType name="ParkingConditionsEnum">
    <xs:annotation>
      <xs:documentation>Defines if normal parking conditions are suspended or special parking conditions are in force.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="normalParkingConditionsSuspended">
        <xs:annotation>
          <xs:documentation>The parking conditions (possibly including tariffs) that normally apply are temporarily suspended.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="specialParkingConditionsInForce">
        <xs:annotation>
          <xs:documentation>Parking conditions, other than those that normally apply, are currently in force for the parking site.</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="ParkingFaultEnum">
    <xs:annotation>
      <xs:documentation>Types of parking site or access faults.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="communicationsFailure">
        <xs:annotation>
          <xs:documentation>Communications failure affecting parking site.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="barrierMalfunction">
        <xs:annotation>
          <xs:documentation>The entrance or exit barrier(s) are malfunctioning causing access problems to vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="entranceExitObstructed">
        <xs:annotation>
          <xs:documentation>One or more entrances or exits are obstructed to some degree causing access problems to vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="erroneousOccupancyInformation">
        <xs:annotation>
          <xs:documentation>Occupancy information is subject to errors due to malfunctioning equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="erroneousOccupancyDisplayed">
        <xs:annotation>
          <xs:documentation>Occupancy information displayed on signs associated with parking site (e.g. at entrance) are erroneous.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="paymentMachinesInoperative">
        <xs:annotation>
          <xs:documentation>Payment machines are not functioning normally.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reservationServiceOutOfOrder">
        <xs:annotation>
          <xs:documentation>Reservation service out of order.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noParkingInformationAvailable">
        <xs:annotation>
          <xs:documentation>No parking information available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unspecified">
        <xs:annotation>
          <xs:documentation>General fault of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown parking facility 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:simpleType name="ParkingModeEnum">
    <xs:annotation>
      <xs:documentation>The arrangement of the parking space or the group of parking spaces in relation to the road.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="perpendicularParking">
        <xs:annotation>
          <xs:documentation>Parking spaces are located in an angle of nearly 90 degrees to the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parallelParking">
        <xs:annotation>
          <xs:documentation>Parking spaces are located parallel to the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="echelonParking">
        <xs:annotation>
          <xs:documentation>Parking spaces are located in a diagonal relation to the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkingOnOppositeSideOfRoad">
        <xs:annotation>
          <xs:documentation>Parking is possible on the other side of the 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:simpleType name="ParkingOccupancyEnum">
    <xs:annotation>
      <xs:documentation>Parking Occupancy enum.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="expectCarParkToBeFull">
        <xs:annotation>
          <xs:documentation>Expect car park to be full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage10">
        <xs:annotation>
          <xs:documentation>10% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage20">
        <xs:annotation>
          <xs:documentation>20% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage30">
        <xs:annotation>
          <xs:documentation>30% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage40">
        <xs:annotation>
          <xs:documentation>40% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage50">
        <xs:annotation>
          <xs:documentation>50% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage60">
        <xs:annotation>
          <xs:documentation>60% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage70">
        <xs:annotation>
          <xs:documentation>70% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage80">
        <xs:annotation>
          <xs:documentation>80% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="percentage90">
        <xs:annotation>
          <xs:documentation>90% full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="full">
        <xs:annotation>
          <xs:documentation>Full.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingOccupancyTrendEnum">
    <xs:annotation>
      <xs:documentation>List of terms used to describe the trend in parking space occupancy.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="decreasing">
        <xs:annotation>
          <xs:documentation>Parking space occupancy is decreasing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="increasing">
        <xs:annotation>
          <xs:documentation>Parking space occupancy is increasing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stable">
        <xs:annotation>
          <xs:documentation>Parking space occupancy is stable.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="increasingQuickly">
        <xs:annotation>
          <xs:documentation>Parking space occupancy is increasing quickly.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="increasingSlowly">
        <xs:annotation>
          <xs:documentation>Parking space occupancy is increasing slowly.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="decreasingQuickly">
        <xs:annotation>
          <xs:documentation>Parking space occupancy is decreasing quickly.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="decreasingSlowly">
        <xs:annotation>
          <xs:documentation>Parking space occupancy is decreasing slowly.</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>Other.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingPlaceStatusEnum">
    <xs:annotation>
      <xs:documentation>The status of the parking place or sub-places (spaces available or not).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="full">
        <xs:annotation>
          <xs:documentation>The parking site is full (as defined by its configuration parameters).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fullAtEntrance">
        <xs:annotation>
          <xs:documentation>The parking site is considered full at its entrance (e.g. full sign is displayed at entrance or on managing VMS).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="spacesAvailable">
        <xs:annotation>
          <xs:documentation>Parking spaces are currently available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="almostFull">
        <xs:annotation>
          <xs:documentation>The parking site is almost full (as defined by its configuration parameters).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overcrowding">
        <xs:annotation>
          <xs:documentation>The parking site is overcrowding (as defined by its configuration parameters).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overcrowdingLevel1">
        <xs:annotation>
          <xs:documentation>The parking site is overcrowding in level 1 (as defined by its configuration parameters).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overcrowdingLevel2">
        <xs:annotation>
          <xs:documentation>The parking site is overcrowding in level 2 (as defined by its configuration parameters).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noOvercrowding">
        <xs:annotation>
          <xs:documentation>The parking site is not overcrowded.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The status of the parking site is unknown.</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="ParkingRoute" abstract="true">
    <xs:annotation>
      <xs:documentation>A parking route, defined by ParkingRouteDetails or by a reference.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="parkingRouteColour" type="prk:RgbColour" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A colour assigned to a parking route for visualisation purpose.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_parkingRouteExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParkingRouteByReference">
    <xs:annotation>
      <xs:documentation>A route defined by a reference to an earlier specified route.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:ParkingRoute">
        <xs:sequence>
          <xs:element name="parkingRouteReference" type="prk:_ParkingRouteDetailsVersionedReference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to a parking route.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_parkingRouteByReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ParkingRouteDetails">
    <xs:annotation>
      <xs:documentation>Urban context: Defining parking routes leading to the parking site. Truck parking context: Can be used to define a dynamic route management.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:ParkingRoute">
        <xs:sequence>
          <xs:element name="name" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Name of the parking route.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="type" type="prk:_ParkingRouteTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of parking route. If not specified, the route is designed for any type of vehicles.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="dynamicRouteManagement" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates that there is dynamic route management for truck parking, i.e. a management system concerning several truck parking sites (including this one) along a route.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="iconIndex" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An index, which can identify some icon for visualisation of the route. Note that form and usage of this index as well as the icons itself are not further determined here.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="direction" type="loc:_DirectionEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The direction of traffic, for which the parking route can be used. If not specified, the route can be used in the order of the given locations.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="orientation" type="prk:_ParkingRouteOrientationEnum" minOccurs="0" maxOccurs="2">
            <xs:annotation>
              <xs:documentation>Orientation of traffic, for which the parking route is specified.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="locationReference" type="loc:LocationReference" minOccurs="0" />
          <xs:element name="parkingVms" type="prk:ParkingVms" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_parkingRouteDetailsExtension" 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:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ParkingRouteOrientationEnum">
    <xs:annotation>
      <xs:documentation>Orientation of traffic for a parking route.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="towardsParkingSite">
        <xs:annotation>
          <xs:documentation>Towards parking site.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="awayFromParkingSite">
        <xs:annotation>
          <xs:documentation>Away from parking site.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingRouteStatus">
    <xs:annotation>
      <xs:documentation>The status as well as the travel times of a parking route (active/inactive) defined in the static part of the model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="parkingRouteReference" type="prk:_ParkingRouteDetailsVersionedReference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a parking route.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="parkingRouteActive" type="com:Boolean" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines if this parking route is currently active or not.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="travelTimeData" type="roa:TravelTimeData" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_parkingRouteStatusExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ParkingRouteTypeEnum">
    <xs:annotation>
      <xs:documentation>The type of the parking route.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="pedestrian">
        <xs:annotation>
          <xs:documentation>A parking route for pedestrian.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bicycle">
        <xs:annotation>
          <xs:documentation>A parking route for bicycles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lorry">
        <xs:annotation>
          <xs:documentation>A parking route for lorries.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Another type of parking route.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingSafetyEnum">
    <xs:annotation>
      <xs:documentation>Safety requirements for truck parking sites according to European Secure Parking Organisation.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="pedestrianSafety">
        <xs:annotation>
          <xs:documentation>Pedestrian safety on Truck Parking Area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clearSafetySigns">
        <xs:annotation>
          <xs:documentation>Clear signs that promote a safe traffic situation at the Truck Parking Area. Signs preferably with pictograms.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="safeDecelerationAndAcceleration">
        <xs:annotation>
          <xs:documentation>Safe deceleration at entrance/ acceleration at exit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clearDistinctionCarsHGV">
        <xs:annotation>
          <xs:documentation>Separate parking for cars and HGVs clearly indicated.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencySafety">
        <xs:annotation>
          <xs:documentation>Contingency plan / management available / emergency contacts known to the staff. Examples of contacts: police, fire brigade, first aid, doctor.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seperatedDangerousGood">
        <xs:annotation>
          <xs:documentation>Separate dangerous goods parking and cargo registration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingSecurityEnum">
    <xs:annotation>
      <xs:documentation>Specifies security measures related to the parking site or particular spaces.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="socialControl">
        <xs:annotation>
          <xs:documentation>Social control e.g. parking situated in a neighbourhood.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="securityStaff">
        <xs:annotation>
          <xs:documentation>Security staff.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="externalSecurity">
        <xs:annotation>
          <xs:documentation>External security, e.g. police or staff not directly belonging to the parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cctv">
        <xs:annotation>
          <xs:documentation>CCTV (camera observation).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dog">
        <xs:annotation>
          <xs:documentation>Dog.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="guard24hours">
        <xs:annotation>
          <xs:documentation>24/24 guard.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lighting">
        <xs:annotation>
          <xs:documentation>Site is illuminated in a normal way (but not as strong as 'floodLight').</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="floodLight">
        <xs:annotation>
          <xs:documentation>Flood light (stronger than lighting).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fences">
        <xs:annotation>
          <xs:documentation>Fences.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="areaSeperatedFromSurroundings">
        <xs:annotation>
          <xs:documentation>Site is separated from its surroundings. Can also be used to express a space for noise-producing vehicles, e.g. lorries with cooling generators.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="none">
        <xs:annotation>
          <xs:documentation>There are no security measures.</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>None of the values in this enumeration applies. Use 'parkingAdditionalSecurity' instead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingSpaceConvenienceEnum">
    <xs:annotation>
      <xs:documentation>Facilities for persons with disabilities.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="extraSpaceLeftSide">
        <xs:annotation>
          <xs:documentation>There is some extra space on the left side of the parking space (in parking direction point of view), for example to improve the situation for wheelchair users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extraSpaceRightSide">
        <xs:annotation>
          <xs:documentation>There is some extra space on the right side of the parking space (in parking direction point of view), for example to improve the situation for wheelchair users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nearbyPedestrianExit">
        <xs:annotation>
          <xs:documentation>The parking space is quite near to a pedestrian exit. Note: Can be more exactly defined by using 'dedicatedAccess'.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bordersMarked">
        <xs:annotation>
          <xs:documentation>The border of the parking space is marked (painted on the ground).</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="ParkingSpaceOccupancyDetectionEnum">
    <xs:annotation>
      <xs:documentation>A list of supported methods for detection of occupancy by a vehicle in a parking space.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="visual">
        <xs:annotation>
          <xs:documentation>Operator/owner makes periodic visual counts of the facility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="anpr">
        <xs:annotation>
          <xs:documentation>Automated License Plate Recognition information is tracked for inbound and outbound traffic. The difference between in and out counts enables an occupancy count.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="imageAnalytics">
        <xs:annotation>
          <xs:documentation>Image analytics are used to evaluate a picture with known parking space geography and computer vision is used to determine occupancy at a point in time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="videoAnalytics">
        <xs:annotation>
          <xs:documentation>Video analytics are used to evaluate a video stream to identify objects (vehicles) and direction of travel. The difference between the inbound objects and outbound objects determines occupancy.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="videoSpace">
        <xs:annotation>
          <xs:documentation>Video analytics or ANPR technologies are used to evaluate a video stream with known space geometry to identify objects (vehicles or license plates) occupying specific spaces.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="spaceSensor">
        <xs:annotation>
          <xs:documentation>A sensor in each space detects the presence of a vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="userDeclaration">
        <xs:annotation>
          <xs:documentation>User self-declared, where the user enters a space identifier and/or vehicle registration number, typically at the start of a parking session.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="balancing">
        <xs:annotation>
          <xs:documentation>Counting and balancing incoming and outcoming traffic amount ('indirect' method).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="modelBased">
        <xs:annotation>
          <xs:documentation>Occupancy detection is based on some model, i.e. hydrograph, forecasting or estimation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="none">
        <xs:annotation>
          <xs:documentation>No occupancy detection available.</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>Other.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingStatusInformation">
    <xs:annotation>
      <xs:documentation>General status information for parking related objects. Can also be historical or forecasted data. In this case, 'StatusValidity' must be specified.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="fac:FacilityStatus">
        <xs:sequence>
          <xs:element name="queueingTime" type="com:Seconds" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The current queuing time (duration) for entering the parking site.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="parkingConditions" type="prk:_ParkingConditionsEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Defines if normal parking conditions are suspended or special parking conditions are in force.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="blurredAvailability" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>When true, availability and occupancy information (free spaces etc.) is withheld or only published roughly, usually because of business competition.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="parkingFault" type="prk:_ParkingFaultEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A fault indicator for the parking site.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="winterEquipmentManagementType" type="com:_WinterEquipmentManagementTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Type of winter equipment management action instigated by operator.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="parkingRouteStatus" type="prk:ParkingRouteStatus" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="occupancy" type="prk:Occupancy" minOccurs="0" />
          <xs:element name="statusValidity" type="prk:StatusValidity" minOccurs="0" />
          <xs:element name="operatingPatternStatus" type="prk:OperatingPatternStatus" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="supply" type="prk:Supply" minOccurs="0" />
          <xs:element name="demandTable" type="prk:DemandTable" minOccurs="0" />
          <xs:element name="_parkingStatusInformationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ParkingStatusPublication">
    <xs:annotation>
      <xs:documentation>A publication containing the current status of one or more objects of the place hierarchy defined in the ParkingStatusPublication.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:PayloadPublication">
        <xs:sequence>
          <xs:element name="parkingTableReference" type="prk:_ParkingTableVersionedReference" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>It is possible to limit the publication to one or more ParkingTable and to set a reference to these tables here.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="headerInformation" type="com:HeaderInformation" minOccurs="0" />
          <xs:element name="parkingStatusInformation" type="prk:ParkingStatusInformation" maxOccurs="unbounded" />
          <xs:element name="_parkingStatusPublicationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ParkingStructuralCharacteristicsEnum">
    <xs:annotation>
      <xs:documentation>Specifies some structural characteristics of a parking space or a group of parking spaces.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="driveThrough">
        <xs:annotation>
          <xs:documentation>Entering as well as leaving the parking space can be done straight in the direction of parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="openAir">
        <xs:annotation>
          <xs:documentation>There is no roof and not another storey on top of the parking space, which could prevent from rain, for example.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="evenSurface">
        <xs:annotation>
          <xs:documentation>Even surface enables safe truck manoeuvring.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="kerbside">
        <xs:annotation>
          <xs:documentation>Parking on the kerbside.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="softShoulder">
        <xs:annotation>
          <xs:documentation>Parking on the soft shoulder.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingSupervisionEnum">
    <xs:annotation>
      <xs:documentation>Defines the kind of supervision of the parking site.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="remote">
        <xs:annotation>
          <xs:documentation>Remote.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onSite">
        <xs:annotation>
          <xs:documentation>On site.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="controlCentreOnSite">
        <xs:annotation>
          <xs:documentation>Control centre on site.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="controlCentreOffSite">
        <xs:annotation>
          <xs:documentation>Control centre off site.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="patrol">
        <xs:annotation>
          <xs:documentation>Patrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="none">
        <xs:annotation>
          <xs:documentation>None.</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>Other.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingTable">
    <xs:annotation>
      <xs:documentation>Parking information described by a number of tree-like place hierarchies.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the parking table.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="versionTime" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date/time that this version of the parking table was defined by the supplier. The identity and version of the table are defined by the class stereotype implementation.</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="hierarchyElementGeneral" type="prk:HierarchyElementGeneral" maxOccurs="unbounded" />
      <xs:element name="_parkingTableExtension" 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="ParkingTablePublication">
    <xs:annotation>
      <xs:documentation>A publication to define static information about sites or geographic areas designed to park vehicles, organised in tables.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="com:HeaderInformation" minOccurs="0" />
          <xs:element name="parkingTable" type="prk:ParkingTable" maxOccurs="unbounded" />
          <xs:element name="_parkingTablePublicationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ParkingUsageScenarioEnum">
    <xs:annotation>
      <xs:documentation>Types of parking usage (park &amp; ride, kiss &amp; ride, ...)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="automatedParkingGarage">
        <xs:annotation>
          <xs:documentation>Parking is completely automated from the point of leaving the vehicle in an arrival bay to its delivery back to the driver in a pickup bay.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carSharing">
        <xs:annotation>
          <xs:documentation>A parking site for people who are sharing cars organised by a car sharing company.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delivery">
        <xs:annotation>
          <xs:documentation>Parking for delivery</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dropOff">
        <xs:annotation>
          <xs:documentation>The parking site or space(s) are designed for drop off only.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dropOffMechanical">
        <xs:annotation>
          <xs:documentation>A mechanical drop off service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dropOffWithValet">
        <xs:annotation>
          <xs:documentation>A valet drop off service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="eventParking">
        <xs:annotation>
          <xs:documentation>Parking is associated with an event. Use 'eventParkingType' to specify the event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="guidanceToAvailableSpaces">
        <xs:annotation>
          <xs:documentation>Specifies, if there is a (visual) guidance system within the parking site, which helps the drivers to find free spaces. Note: This is not a parking VMS or a parking route, which are usually located outside the parking site.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="kissAndRide">
        <xs:annotation>
          <xs:documentation>Parking site with possibility for very short parking to drop off (or drop on) passengers for public transport.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="liftshare">
        <xs:annotation>
          <xs:documentation>A parking site for people who are sharing their cars.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorwayParking">
        <xs:annotation>
          <xs:documentation>The parking is located directly on a motorway or a similar type of road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nearbyMotorwayParking">
        <xs:annotation>
          <xs:documentation>The parking is located with some distance to a motorway or a similar type of road but focussed on travellers from this motorway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overnightParking">
        <xs:annotation>
          <xs:documentation>The parking site or space(s) are designed for overnight parking. Note that the absence of this scenario does not automatically mean a prohibition of overnight parking. See also PermitsAndProhibitions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndCycle">
        <xs:annotation>
          <xs:documentation>A parking site for people who continue their journey by bike.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndDrive">
        <xs:annotation>
          <xs:documentation>Parking for users that share their cars.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndRide">
        <xs:annotation>
          <xs:documentation>Parking for public transport users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndWalk">
        <xs:annotation>
          <xs:documentation>A parking site for people who continue to walk.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poiParking">
        <xs:annotation>
          <xs:documentation>Parking in relation or in the near of a point of interest</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restArea">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a rest area, i.e. people can relax some time outside their car there. Note that the presence of some bench, picnic place or toilet is already sufficient; there is no need for a restaurant or a building.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceArea">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a service area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="specialLocation">
        <xs:annotation>
          <xs:documentation>The parking is connected to or part of a special location which can be specified by an extra attribute.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="staffGuidesToSpace">
        <xs:annotation>
          <xs:documentation>Staff guides to space.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="truckParking">
        <xs:annotation>
          <xs:documentation>The parking site is designed for lorries (other vehicles are allowed as well).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleLift">
        <xs:annotation>
          <xs:documentation>Vehicle lift</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="zone">
        <xs:annotation>
          <xs:documentation>A parking zone.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Some other usage scenario.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ParkingVacantSpacesEnum">
    <xs:annotation>
      <xs:documentation>Parking vacant spaces enum.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="noParkingSpacesAvailable">
        <xs:annotation>
          <xs:documentation>No parking spaces available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="expectNoSpacesAvailable">
        <xs:annotation>
          <xs:documentation>Expect no parking spaces available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onlyAFewSpacesAvailable">
        <xs:annotation>
          <xs:documentation>Only a few parking spaces available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessThan10SpacesAvailable">
        <xs:annotation>
          <xs:documentation>Less than 10 parking spaces available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessThan20SpacesAvailable">
        <xs:annotation>
          <xs:documentation>Less than 20 parking spaces available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessThan30SpacesAvailable">
        <xs:annotation>
          <xs:documentation>Less than 30 parking spaces available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessThan40SpacesAvailable">
        <xs:annotation>
          <xs:documentation>Less than 40 parking spaces available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessThan50SpacesAvailable">
        <xs:annotation>
          <xs:documentation>Less than 50 parking spaces available.</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>Other.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ParkingVms">
    <xs:annotation>
      <xs:documentation>A reference to a record that contains the metadata for a specific VMS unit that may be used to manage the parking (e.g. to indicate to drivers the current availability of spaces) or a parking route.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="vmsUsedToManageParking" type="prk:_VmsControllerVersionedReference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a record that contains the metadata for a specific VMS unit that may be used to manage the parking site (e.g. to indicate to drivers the current availability of spaces).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vmsOperator" type="fac:Organisation" minOccurs="0" />
      <xs:element name="_parkingVmsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PermitsAndProhibitions">
    <xs:annotation>
      <xs:documentation>Defines sets of action and regulations to specify permitted and prohibited issues.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="activity" type="prk:_ActivityEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An activity, which is regulated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="regulation" type="prk:_RegulationEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Regulation for the specified activity.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_permitsAndProhibitionsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Place">
    <xs:annotation>
      <xs:documentation>A place or location used for parking, loading, unloading, standing, or some other mobility or transport related activity.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:HierarchyElementGeneral">
        <xs:sequence>
          <xs:element name="layout" type="prk:_LayoutEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The layout structure of this place.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="availableFloors" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A list of all available floors for this parking place from lowest to highest, seperated by spaces. The numbering or lettering scheme may follow local conventions. Examples: -1 0 1 2 or G 1st 2nd </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="commonComponents" type="prk:CommonComponents" minOccurs="0" />
          <xs:element name="_placeExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PlaceStatus">
    <xs:annotation>
      <xs:documentation>Dynamic status information for the static object 'Place' or 'SubplaceElement'.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:ParkingStatusInformation">
        <xs:sequence>
          <xs:element name="status" type="prk:_ParkingPlaceStatusEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The status of the parking place or sub-places (spaces available or not) including overcrowding information.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="parkingPlaceFullAtFloor" type="com:String" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The parking place is full at the specified floor(s).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="declarationValidNow" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Specifies, if this place or subplace declaration is valid now. If specified, this overrides any static validity information.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_placeStatusExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PointOfInterest">
    <xs:annotation>
      <xs:documentation>A point of interest.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:RelatedLocation">
        <xs:sequence>
          <xs:element name="_pointOfInterestExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PublicTransportSchedule">
    <xs:annotation>
      <xs:documentation>A rough schedule for one or more public transport lines from this stop</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="lastUpdated" type="com:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The timestamp of the latest update of this information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="line" type="com:String" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Line or multiple lines for which this schedule is valid</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="nextDepartures" type="com:Time" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The next departures for this line / these lines</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="destination" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A destination that can be reached from this stop</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="interval" type="com:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The interval for reaching the destination from this stop</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="travelTimeToDestination" type="com:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The travel time to reach the destination from this stop</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ptType" type="prk:_PublicTransportTypeEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The type of public transport</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ptVehicleType" type="prk:_PublicTransportVehicleType" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of public transport vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ptVehicleName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A name of the specific vehicle type, for example "Railjet".</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ptOperator" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Information about the operator of this public transport.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="validity" type="com:Validity" minOccurs="0" />
      <xs:element name="_publicTransportScheduleExtension" 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="PublicTransportStop">
    <xs:annotation>
      <xs:documentation>A public transport stop.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:RelatedLocation">
        <xs:sequence>
          <xs:element name="publicTransportSchedule" type="prk:PublicTransportSchedule" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_publicTransportStopExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PublicTransportTypeEnum">
    <xs:annotation>
      <xs:documentation>Special measures in the context of public transport.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="freePublicTransport">
        <xs:annotation>
          <xs:documentation>Use of public transport is free at all.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonFreePublicTransport">
        <xs:annotation>
          <xs:documentation>For the use of this public transport a fee must be paid / a ticket must be purchased</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onDemandTraffic">
        <xs:annotation>
          <xs:documentation>This service is running only on demand</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railReplacementService">
        <xs:annotation>
          <xs:documentation>There is a replacement service for rail traffic in place, usually served by buses.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shuttleService">
        <xs:annotation>
          <xs:documentation>Shuttle services are in place, usually to reach a specific destination or event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PublicTransportVehicleType">
    <xs:annotation>
      <xs:documentation>Types of public transport vehicles</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="bus">
        <xs:annotation>
          <xs:documentation>A bus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="coach">
        <xs:annotation>
          <xs:documentation>A coach</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="miniBus">
        <xs:annotation>
          <xs:documentation>A small bus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="subway">
        <xs:annotation>
          <xs:documentation>A subway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="taxi">
        <xs:annotation>
          <xs:documentation>A taxi</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="train">
        <xs:annotation>
          <xs:documentation>A train</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tram">
        <xs:annotation>
          <xs:documentation>A tram</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RegulationEnum">
    <xs:annotation>
      <xs:documentation>Regulation parameters for actions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="permitted">
        <xs:annotation>
          <xs:documentation>Permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="prohibited">
        <xs:annotation>
          <xs:documentation>Prohibited.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="punishable">
        <xs:annotation>
          <xs:documentation>The action is prohibited and can be punished.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seasonalHeterogeneous">
        <xs:annotation>
          <xs:documentation>It depends on the season, whether the action is allowed or not.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="permittedOnlyAtParticularTimes">
        <xs:annotation>
          <xs:documentation>Permitted only at particular times.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="permittedOnlyOnParticularAreas">
        <xs:annotation>
          <xs:documentation>Permitted only on particular areas (but inside the parking site ground).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="prohibitedAtParticularTimes">
        <xs:annotation>
          <xs:documentation>Prohibited at particular times.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="prohibitedOnParticularAreas">
        <xs:annotation>
          <xs:documentation>Prohibited on particular areas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onlyOnRequest">
        <xs:annotation>
          <xs:documentation>Only on request (i.e. permission needed).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heterogeneous">
        <xs:annotation>
          <xs:documentation>The regulation rule is quite complex and cannot be noted here.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onlyOutsideBuildings">
        <xs:annotation>
          <xs:documentation>Only outside buildings.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onlyInsideBuildings">
        <xs:annotation>
          <xs:documentation>Only inside buildings.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unspecified">
        <xs:annotation>
          <xs:documentation>There is no regulation for this action.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The regulation is unknown.</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="RelatedLocation" abstract="true">
    <xs:annotation>
      <xs:documentation>A location related to the specified operating pattern.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of the point of interest</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A description for the point of interest</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="specialLocation" type="prk:_SpecialLocationEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A special location this parking is connected to or part of.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="locationReference" type="loc:LocationReference" minOccurs="0" />
      <xs:element name="distanceFromOrigin" type="com:IntegerMetreDistanceValue" minOccurs="0" />
      <xs:element name="_relatedLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RgbColour">
    <xs:annotation>
      <xs:documentation>An RGB colour described by values for red, green and blue (0..255) as well as an optional name.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="red" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The red value of the RGB colour (0..255).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="green" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The green value of the RGB colour (0..255).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="blue" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The blue value of the RGB colour (0..255).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="colourName" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the colour.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_rgbColourExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </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:complexType name="SafetyStandardClassification">
    <xs:annotation>
      <xs:documentation>Use this class to classification type/level for security schemes for this place</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="securityFeature" type="prk:_ParkingSecurityEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Security feature identified for this place.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="securityLevel" type="prk:_EsporgStandardLevelEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Security level identified for this place in a defined scheme</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="additionalSecurity" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Security equipment of the parking that is not covered by the corresponding enumeration.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="safety" type="prk:_ParkingSafetyEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Safety measures on the parking according to European Secure Parking Organisation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="additionalSafety" type="com:MultilingualString" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Safety measures on the parking that is not covered by the corresponding enumeration.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="supervision" type="prk:_ParkingSupervisionEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Defines the kind of supervision of the parking site.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="securityNationalClassification" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A national classification of the parking security.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="certifiedSecureParking" type="prk:CertifiedSecureParking" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_safetyStandardClassificationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SessionActivationModeEnum">
    <xs:annotation>
      <xs:documentation>Modes or credentials that can be used to activate a parking session or other operation (delivery, loading, etc).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="payByPlate">
        <xs:annotation>
          <xs:documentation>The vehicle registration or license plate is used to activate a parking session or other operation (delivery, loading, etc.).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="payBySpace">
        <xs:annotation>
          <xs:documentation>The activation of a parking session or other operation (delivery, loading, etc.) is based on identifying / recording the occupancy of a specific area denoted by a space or area number. Typically used in prepaid operations.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="payAndDisplay">
        <xs:annotation>
          <xs:documentation>The vehicle displays a credential, which is received on site when session is started, to show it is authorized to use Place. Typically used in prepaid operations.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ticket">
        <xs:annotation>
          <xs:documentation>A ticket from an onsite device is issued to activate a parking session or other operation. The session is closed when the ticket is presented back to an onsite device for final fee calculation. Typically used in daily or short-term operations.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="permit">
        <xs:annotation>
          <xs:documentation>Similar to pay and display, but typically for long term usage and received prior to starting session. Permit may be presented as a hangtag, AVI tag, sticker, QR code, etc.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="app">
        <xs:annotation>
          <xs:documentation>A mobile application and/or an on-device credential is used to activate a parking session or other operation. The app may control the access to the facility. This is not related to payment! E.g. a Bluetooth communication to request access etc.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SpaceStatus">
    <xs:annotation>
      <xs:documentation>Status for a single parking space which was defined in the static part of the model.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:ParkingStatusInformation">
        <xs:sequence>
          <xs:element name="occupied" type="com:Boolean" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>True: Parking space is occupied; False: Parking space is free.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="declarationValidNow" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Override validity of 'ParkingSpace': True = Parking space declaration is valid now; False = Parking space declaration is invalid now; Omitted = Static validity information is significant (if static validity is omitted too, declaration is valid).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="measurementOrCalculationTime" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Point in time at which this specific value or set of values has been measured or calculated. It may also be a future time at which a data value is predicted.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="lastCalibration" type="com:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Date of last calibration of the detection system in question.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_spaceStatusExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SpecialLocationEnum">
    <xs:annotation>
      <xs:documentation>Types of locations, often associated with some building.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="airportTerminal">
        <xs:annotation>
          <xs:documentation>The parking site is associated with an airport terminal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exhibitonCentre">
        <xs:annotation>
          <xs:documentation>The parking site is associated with an exhibition centre.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shoppingCentre">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a shopping centre.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="specificFacility">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a specific facility (e.g. a hospital, a tourist site, a garden centre, a park etc.). RelatedLocation - specificLocation may be used to give more details.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trainStation">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a train station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="campGround">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a campground.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="themePark">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a theme park.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferryTerminal">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a ferry terminal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleOnRailTerminal">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a vehicle-to-rail terminal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="coachStation">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a coach station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cableCarStation">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a cable car station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicTransportStation">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a public transport station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="market">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a market.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="religiousCentre">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a religious centre.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="conventionCentre">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a convention centre.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cinema">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a cinema.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="skiLift">
        <xs:annotation>
          <xs:documentation>The parking site is associated with a ski lift.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>The parking site is associated with some other location. Use "parkingOtherSpecialLocation" to specify details.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StaffEnum">
    <xs:annotation>
      <xs:documentation>A list of supported values for staffing characteristics.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="staffed">
        <xs:annotation>
          <xs:documentation>Normally staffed during operating hours</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unstaffed">
        <xs:annotation>
          <xs:documentation>Not normally staffed during operating hours</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temporary">
        <xs:annotation>
          <xs:documentation>Staffed on a temporary or part-time basis.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="StatusConfiguration">
    <xs:annotation>
      <xs:documentation>A parking site status that shall be configured.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="parkingStatus" type="prk:_ParkingPlaceStatusEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The status of the parking site (spaces available or not).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="thresholds" type="prk:Thresholds">
        <xs:annotation>
          <xs:documentation>A configuration of thresholds from which the specified parking site status should become active.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="statusColourMapping" type="prk:RgbColour" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A colour which is mapped to the status.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_statusConfigurationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="StatusValidity" abstract="true">
    <xs:annotation>
      <xs:documentation>To be used only for historical or forecasted data. Choose between an explicit point of time, an offset or all points of time within a specified period.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_statusValidityExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="StructureGradeEnum">
    <xs:annotation>
      <xs:documentation>Types of layout of the parking site.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="underground">
        <xs:annotation>
          <xs:documentation>Parking is on one or more floors below ground level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="groundLevel">
        <xs:annotation>
          <xs:documentation>Parking is at ground level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="aboveGround">
        <xs:annotation>
          <xs:documentation>Parking is above ground level (this may include ground level parking).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StructureTypeEnum">
    <xs:annotation>
      <xs:documentation>A list of types of parking structure.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="onStreet">
        <xs:annotation>
          <xs:documentation>On-street parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="offStreetSurface">
        <xs:annotation>
          <xs:documentation>Off-street ground-level at grade parking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="offStreetStructure">
        <xs:annotation>
          <xs:documentation>Off-street multi-tier parking structure.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SupplementalFacility">
    <xs:annotation>
      <xs:documentation>A specialisation of an identifiedArea referencing an identifiable area with associated identified services or equipment.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:IdentifiedArea">
        <xs:sequence>
          <xs:element name="_supplementalFacilityExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Supply">
    <xs:annotation>
      <xs:documentation>A class defining concepts relating the parameters of the supply of parking  or others uses in a Place. This is the total number of spaces usable for parking or other mobility operations.  It can be defined as demarcated spaces or non-demarcated.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="quantity" type="com:Integer" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the numeric value of available parking or other space uses.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="viewType" type="prk:_SupplyViewTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the nature of the supply view that is being provided, as defined by the supply view type.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="startValidUsagePeriod" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Valid start date/time for the supply.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="endValidUsagePeriod" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Valid end date/time for the supply.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="spacesReference" type="prk:_FacilityObjectVersionedReference" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A reference to one or more spaces for which the supply information is valid.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_supplyExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SupplyViewTypeEnum">
    <xs:annotation>
      <xs:documentation>Define if space quantity is demarcated or estimated.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="spaceView">
        <xs:annotation>
          <xs:documentation>Each space is physically marked and identifiable.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleView">
        <xs:annotation>
          <xs:documentation>The vehicle capacity in an area is estimated based on calculating a capacity (i.e. curb length divided by a length of vehicle).   The distributing party decides on the appropriate length of vehicle to use.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ThresholdConfiguration">
    <xs:annotation>
      <xs:documentation>Configuration of thresholds and colours for the status parameter. Only one status should be active at a time, so that the most recently activated status means that an existing active status should be considered no longer active.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="lastMaximumOccupancy" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The last known occupancy (number of parked vehicles on the site) under safe conditions.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="statusConfiguration" type="prk:StatusConfiguration" maxOccurs="unbounded" />
      <xs:element name="_thresholdConfigurationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Thresholds" abstract="true">
    <xs:annotation>
      <xs:documentation>Threshold values to configure the given parking site status.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="lowerThreshold" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A lower threshold from which the specified parking site status should become active.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upperThreshold" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An upper threshold up to which the specified parking site status should become active.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lowerThresholdInPercent" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A lower threshold in percent from which the specified parking site status should become active.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="upperThresholdInPercent" type="com:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An upper threshold in percent up to which the specified parking site status should become active.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="boundaryValuesExcluded" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Configures, if the given threshold values itself should be included ("false"; default) or excluded ("true") in the comparison, when evaluating the status.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_thresholdsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TruckParkingDynamicManagementEnum">
    <xs:annotation>
      <xs:documentation>Dynamic parking mode enum.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="compactParking">
        <xs:annotation>
          <xs:documentation>Lorries are parking one after the other in different lanes; each lane has a dedicated time of departure (which might be displayed on a sign gantry).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="queueParking">
        <xs:annotation>
          <xs:documentation>Lorries are parking in queues, one after the other. Each lorry must have an earlier time of departure than all the lorries behind it.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noDynamicParkingManagement">
        <xs:annotation>
          <xs:documentation>No dynamic parking management.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Some other type of dynamic parking management.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="UsageScenario">
    <xs:annotation>
      <xs:documentation>A special type of usage available for this campus, (sub)place, space or identified area. In the 'ParkingStatusPublication', the operation type (in operation or not) can be defined.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:OperatingPattern">
        <xs:sequence>
          <xs:element name="type" type="prk:_ParkingUsageScenarioEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A special type of usage available for this campus, (sub)place, space or identified area. In the 'ParkingStatusPublication', the operation type (in operation or not) can be defined.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="description" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A description for the usage scenario.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="truckParkingDynamicManagement" type="prk:_TruckParkingDynamicManagementEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Two modes for parking lorries in a efficient way according to their departure times. May only be used for parking scenario 'truckParking'.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="eventParkingType" type="com:_PublicEventTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Parking associated with an event. May only be used for parking scenario 'eventParking'.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_usageScenarioExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ValidityByOffset">
    <xs:annotation>
      <xs:documentation>The status validity expressed by an offset in seconds to the 'lastUpdated' timestamp.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:StatusValidity">
        <xs:sequence>
          <xs:element name="statusTimeOffsetToOrigin" type="com:Seconds" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Only use for forecasts or historical data to express the point of time for which the information of this parking is either reported or forecasted (in form of an offset in seconds to 'lastUpdated'; use negative values for historical data). </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_validityByOffsetExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ValidityByPeriod">
    <xs:annotation>
      <xs:documentation>The status validity expressed by the period model.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:StatusValidity">
        <xs:sequence>
          <xs:element name="validityTimeSpecification" type="com:OverallPeriod">
            <xs:annotation>
              <xs:documentation>A specification of periods of validity defined by overall bounding start and end times and the possible intersection of valid periods with exception periods (exception periods overriding valid periods).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_validityByPeriodExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ValidityByTime">
    <xs:annotation>
      <xs:documentation>The status validity expressed by a point of time.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:StatusValidity">
        <xs:sequence>
          <xs:element name="statusTime" type="com:DateTime" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Only use for forecasts or historical data to express the point of time for which the information of this parking is either reported or forecasted.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_validityByTimeExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VehicleCountAndRate">
    <xs:annotation>
      <xs:documentation>Vehicle rates can be assigned to a parking site or to assigned parking spaces. Furthermore, they can reference to a measurement site or to an entrance/exit.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="measurementSiteReference" type="prk:_MeasurementSiteVersionedReference" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a versioned measurement site record defined in a Measurement Site table.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measuredValueIndex" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>If a measurement site is specified, the index of the measured value can be specified here.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dedicatedAccess" type="prk:_FacilityObjectVersionedReference" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specifies a reference to an access, object (i.e. an entrance, an exit or both). A Point location and further characteristics can be specified for those objects.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lastCalibration" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Date of last calibration of the detection system in question.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="coveringPetrolStationArea" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication, if this detector also covers the area of a petrol station.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleCountWithinInterval" type="prk:VehicleCountWithinInterval" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="vehicleRate" type="prk:VehicleRate" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="measurementTimeDefault" type="roa:MeasurementOrCalculationTime" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The time associated with the set of measurements.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_vehicleCountAndRateExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleCountValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of absolute count of vehicles within a specified period of time expressed as non-negative integer.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="vehicleCount" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A measured or calculated absolute count of vehicles within a specified period of time expressed as non-negative integer.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_vehicleCountValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VehicleCountWithinInterval">
    <xs:annotation>
      <xs:documentation>Gives incoming and/or outgoing vehicles and/or change of occupied spaces within a given interval.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="measurementInterval" type="com:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The interval for the vehicle measurement in seconds.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfIncomingVehicles" type="prk:VehicleCountValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of vehicles of specified type that entered the specified parking within the given interval.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfOutgoingVehicles" type="prk:VehicleCountValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of vehicles of specified type that left the specified parking within the given interval.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="changeOfOccupiedSpaces" type="prk:OccupancyChangeValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The change in the number of occupied spaces for specified vehicles within the given interval. Negative values mean less occupied spaces than at the beginning of the interval.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="countedVehicles" type="com:VehicleCharacteristics" minOccurs="0" />
      <xs:element name="measurementOrCalculationTime" type="roa:MeasurementOrCalculationTime" minOccurs="0" />
      <xs:element name="_vehicleCountWithinIntervalExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleRate">
    <xs:annotation>
      <xs:documentation>Information about vehicle fill and exit rates or the general vehicle flow rate without direction.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="fillRate" type="com:VehicleFlowValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The rate at which vehicles are entering the parking expressed in vehicles per hour.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="exitRate" type="com:VehicleFlowValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The rate at which vehicles are exiting the parking expressed in vehicles per hour.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleFlowRate" type="com:VehicleFlowValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A value of vehicle flow rate expressed in vehicles per hour.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measuredVehicles" type="com:VehicleCharacteristics" minOccurs="0" />
      <xs:element name="measurementOrCalculationTime" type="roa:MeasurementOrCalculationTime" minOccurs="0" />
      <xs:element name="_vehicleRateExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehiclesOnSiteThresholds">
    <xs:annotation>
      <xs:documentation>The threshold is defined by the number of vehicles on the parking. This may differ from the number of occupied spaces, for example when vehicles share spaces.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="prk:Thresholds">
        <xs:sequence>
          <xs:element name="_vehiclesOnSiteThresholdsExtension" 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:roa="http://datex2.eu/schema/3/roadTrafficData" version="3.3" targetNamespace="http://datex2.eu/schema/3/roadTrafficData" 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="_TimeMeaningEnum">
    <xs:simpleContent>
      <xs:extension base="roa:TimeMeaningEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TravelTimeTrendTypeEnum">
    <xs:simpleContent>
      <xs:extension base="roa:TravelTimeTrendTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TravelTimeTypeEnum">
    <xs:simpleContent>
      <xs:extension base="roa:TravelTimeTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="BasicData" abstract="true">
    <xs:annotation>
      <xs:documentation>Data that are either measured or calculated at the same time or over the same time period.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="_basicDataExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DateTimeValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of an instant in time.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="dateTime" type="com:DateTime" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A time stamp defining an instant in time.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_dateTimeValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DurationValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of a period of time.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="com:DataValue">
        <xs:sequence>
          <xs:element name="duration" type="com:Seconds" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A period of time expressed in seconds.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_durationValueExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasurementOrCalculationTime">
    <xs:annotation>
      <xs:documentation>Describes the time at which a measured or calculated value or set of values was measured or calculated. It may be a future time at which a data value is predicted to apply.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="timeMeaning" type="roa:_TimeMeaningEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Meaning of associated time value</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="timeValue" type="com:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Point in time at which this specific value or set of values has been measured or calculated. It may also be a future time at which a data value is predicted.  It may be the time of the beginning, the end or the middle of a measurement period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="period" type="com:Period" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The measurement or calculation period</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_measurementOrCalculationTimeExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="timePrecision" type="com:TimePrecisionEnum" use="optional">
      <xs:annotation>
        <xs:documentation>The precision to which the time of measurement or calculation is given.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:simpleType name="TimeMeaningEnum">
    <xs:annotation>
      <xs:documentation>Explains the meaning of a specific time value with respect to a time period</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="beginTime">
        <xs:annotation>
          <xs:documentation>Meaning the beginning of a period</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="endTime">
        <xs:annotation>
          <xs:documentation>Meaning the end of a period</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="middleTime">
        <xs:annotation>
          <xs:documentation>Meaning the mid-point of a period</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TravelTimeData">
    <xs:annotation>
      <xs:documentation>Derived/computed travel time information relating to a linear section of the road network; forecast = true means a forecast for a vehicle at the start of the specified location, forecast = false means calculation/measurement at the end.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="roa:BasicData">
        <xs:sequence>
          <xs:element name="travelTimeTrendType" type="roa:_TravelTimeTrendTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The current trend in the travel time between the defined locations in the specified direction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="travelTimeType" type="roa:_TravelTimeTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indication of the way in which the travel time is derived.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vehicleType" type="com:_VehicleTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Vehicle type.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="travelTime" type="roa:DurationValue" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Derived/computed travel time information relating to a specific group of locations.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="freeFlowTravelTime" type="roa:DurationValue" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The travel time which would be expected under ideal free flow conditions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="normallyExpectedTravelTime" type="roa:DurationValue" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The travel time which is expected for the given period (e.g. date/time, holiday status etc.) and any known quasi-static conditions (e.g. long-term roadworks). This value is derived from historical analysis.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="travelTimeDelay" type="roa:DurationValue" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Delay in travel time compared to free-flow conditions</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="freeFlowSpeed" type="com:SpeedValue" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The free flow speed expected under ideal conditions, corresponding to the freeFlowTravelTime.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_travelTimeDataExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TravelTimeTrendTypeEnum">
    <xs:annotation>
      <xs:documentation>List of terms used to describe the trend in travel times.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="decreasing">
        <xs:annotation>
          <xs:documentation>Travel times are decreasing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="increasing">
        <xs:annotation>
          <xs:documentation>Travel times are increasing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stable">
        <xs:annotation>
          <xs:documentation>Travel times are stable.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TravelTimeTypeEnum">
    <xs:annotation>
      <xs:documentation>List of ways in which travel times are derived.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="best">
        <xs:annotation>
          <xs:documentation>Travel time is derived from the best out of a monitored sample.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="estimated">
        <xs:annotation>
          <xs:documentation>Travel time is an automated estimate.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="instantaneous">
        <xs:annotation>
          <xs:documentation>Travel time is derived from instantaneous measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reconstituted">
        <xs:annotation>
          <xs:documentation>Travel time is reconstituted from other measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="predictor">
        <xs:annotation>
          <xs:documentation>Travel time is the output of a predictor, for example a blend of current and historical data, or a traffic flow model using current measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="profile">
        <xs:annotation>
          <xs:documentation>Travel time is based on past observations, without use of current measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sum">
        <xs:annotation>
          <xs:documentation>Travel time is the sum of current travel times on subsections of the specified location.</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:tro="http://datex2.eu/schema/3/trafficRegulation" version="1" targetNamespace="http://datex2.eu/schema/3/trafficRegulation" 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="_AccessConditionTypeEnum">
    <xs:simpleContent>
      <xs:extension base="tro:AccessConditionTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_ConditionOperator">
    <xs:simpleContent>
      <xs:extension base="tro:ConditionOperator">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DriverCharacteristicsTypeEnum">
    <xs:simpleContent>
      <xs:extension base="tro:DriverCharacteristicsTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_LicenseCharacteristicsEnum">
    <xs:simpleContent>
      <xs:extension base="tro:LicenseCharacteristicsEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_NonVehicularRoadUserTypeEnum">
    <xs:simpleContent>
      <xs:extension base="tro:NonVehicularRoadUserTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RoadTypeEnum">
    <xs:simpleContent>
      <xs:extension base="tro:RoadTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_UnitOfSpeedEnum">
    <xs:simpleContent>
      <xs:extension base="tro:UnitOfSpeedEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="AccessCondition">
    <xs:annotation>
      <xs:documentation>Conditions for the access of a road or carriageway or lane.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="accessConditionType" type="tro:_AccessConditionTypeEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Type of access condition.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="otherAccessRestriction" type="com:MultilingualString" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Other access restriction not listed elsewhere.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="applicableLocation" type="loc:LocationReference" minOccurs="0">
            <xs:annotation>
              <xs:documentation>Location where access condition applies.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_accessConditionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AccessConditionTypeEnum">
    <xs:annotation>
      <xs:documentation>Access is only permitted under certain conditions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="accessOnly">
        <xs:annotation>
          <xs:documentation>Access only.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="destinationTraffic">
        <xs:annotation>
          <xs:documentation>Access is restricted, if the destination of traffic lies in a specific region.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="loadingAndUnloading">
        <xs:annotation>
          <xs:documentation>Loading or unloading of vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="passengerLoadingAndUnloading">
        <xs:annotation>
          <xs:documentation>Pick up or set down passengers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sourceAndDestinationTraffic">
        <xs:annotation>
          <xs:documentation>Access is restricted, if the source and destination of traffic lies in a specific region.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sourceTraffic">
        <xs:annotation>
          <xs:documentation>Access is restricted, if the source of traffic lies in a specific region.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="throughTraffic">
        <xs:annotation>
          <xs:documentation>Access is restricted, if the traffic goes through a specific region.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AmountOfMoney">
    <xs:annotation>
      <xs:documentation>A monetary value expressed to two decimal places.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:Decimal">
      <xs:totalDigits value="8" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Condition" abstract="true">
    <xs:annotation>
      <xs:documentation>Abstract class that specifies a condition for applicabilities or exemptions of a traffic regulation.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="negate" type="com:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>If set to true means that the entire condition shall be negated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="legalBasis" type="tro:LegalBasis" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Legal basis where applicability characteristics or exemptions are specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_conditionExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ConditionOperator">
    <xs:annotation>
      <xs:documentation>The logical operator to be used in a test of conditions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="or">
        <xs:annotation>
          <xs:documentation>The OR logical operator – a logical operation to determine if any.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="xor">
        <xs:annotation>
          <xs:documentation>The XOR logical operator - a logical operation that outputs true only.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="and">
        <xs:annotation>
          <xs:documentation>The AND logical operator – a logical operation to determine if all.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ConditionSet">
    <xs:annotation>
      <xs:documentation>Groups a number of conditions into a condition set.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="operator" type="tro:_ConditionOperator" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Specifies the operator to be applied between the conditions in the set.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="conditions" type="tro:Condition" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Specifies the conditions that are present in the set</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_conditionSetExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DriverCharacteristicsTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of driver characteristics.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="disabledWithPermit">
        <xs:annotation>
          <xs:documentation>Disabled with permit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="learnerdriver">
        <xs:annotation>
          <xs:documentation>Driver of vehicle is learnerdriver.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="localResident">
        <xs:annotation>
          <xs:documentation>The driver is a local resident.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DriverCondition">
    <xs:annotation>
      <xs:documentation>Conditions for the driver, e.g. holding a disabled permit.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="driverCharacteristicsType" type="tro:_DriverCharacteristicsTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Type of driver characteristics.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ageOfDriver" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The age of the driver in years.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="licenseCharacteristics" type="tro:_LicenseCharacteristicsEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Characteristics of the driver's license.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="timeLicenseHeld" type="tro:Duration" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Period in which the driver has held and continues to hold a driving license.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_driverConditionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="Duration">
    <xs:annotation>
      <xs:documentation>DIN ISO 8601 duration value.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="com:String" />
  </xs:simpleType>
  <xs:complexType name="LegalBasis">
    <xs:annotation>
      <xs:documentation>Class for specification of a legal basis.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="com:MultilingualString" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of legal basis.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="version" type="com:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Version of legal basis.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="date" type="com:Date" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Date of legal basis.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_legalBasisExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LicenseCharacteristicsEnum">
    <xs:annotation>
      <xs:documentation>Characteristics of the drivers license.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="provisional">
        <xs:annotation>
          <xs:documentation>A restricted license that is given to a person who is learning to drive, but has not yet satisfied the prerequisite to obtain a driver's license.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="permanent">
        <xs:annotation>
          <xs:documentation>The driver's license is permanent.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LocationCondition">
    <xs:annotation>
      <xs:documentation>Conditions for the location of a traffic regulation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="implementedLocation" type="loc:LocationReference" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The actual (implemented) location of the traffic regulation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="locationByOrder" type="loc:LocationReference" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The ordered (planned) location as defined in the original traffic regulation order, if existent,</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="trafficImpactLocation" type="loc:LocationReference" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The spatial location (typically area) of the road upon which the impact of a regulation is considered to be effective (which is not always the same as the implementedLocation).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_locationConditionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NonVehicularRoadUserCondition">
    <xs:annotation>
      <xs:documentation>Conditions for non vehicular road users.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="nonVehicularRoadUser" type="tro:_NonVehicularRoadUserTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Types of non-vehicular road users for which the condition applies.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_nonVehicularRoadUserConditionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NonVehicularRoadUserTypeEnum">
    <xs:annotation>
      <xs:documentation>Collection of non vehicular road user types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="cattleDrive">
        <xs:annotation>
          <xs:documentation>Cattle drive.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pedestrians">
        <xs:annotation>
          <xs:documentation>Pedestrians.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="riddenOrAccompaniedHorses">
        <xs:annotation>
          <xs:documentation>Ridden or accompanied by horses.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OccupantCondition">
    <xs:annotation>
      <xs:documentation>Conditions for the occupants of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="disabledWithPermit" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Occupant is disabled with permit.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="numberOfOccupants" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Total number of occupants including the driver.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_occupantConditionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PermitCondition">
    <xs:annotation>
      <xs:documentation>Condition for which a permit is required for vehicles with certain characteristics. Sometimes restricted to specific locations.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="whereToApplyForPermit" type="com:Url" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>URL of the competent authority where an application for a permit can be requested</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="locationRelatedPermit" type="com:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>indication whether the permit is related to a specific location or route in the zone.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="maxDurationOfPermit" type="tro:Duration" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>the maximum validity duration a permit could have in hours</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="whereToCallForPermit" type="com:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Phone number for contacting the railway operator (at level crossings without a dedicated phone).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="permitSubjectToFee" type="tro:PermitSubjectToFee" minOccurs="0" />
          <xs:element name="_permitConditionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PermitSubjectToFee">
    <xs:annotation>
      <xs:documentation>Access permitted when fee is paid.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="amountDue" type="tro:AmountOfMoney" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>amount due in Euro</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximumAccessDuration" type="tro:Duration" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>maximum time permitted in CZ after first entry</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minimumTimeToNextEntry" type="tro:Duration" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>minimum time between two entries</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="paymentInformation" type="com:Url" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>link to the website where payment information can be found</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_permitSubjectToFeeExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RoadCondition">
    <xs:annotation>
      <xs:documentation>Specification of road types (e.g. motorway, express way, etc.).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="roadType" type="tro:_RoadTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Type of road (e.g. motorway, express way, etc.).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_roadConditionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadTypeEnum">
    <xs:annotation>
      <xs:documentation>Collection of road types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="motorway">
        <xs:annotation>
          <xs:documentation>A major road that has been specially built for fast travel over long distances. Motorways have several lanes and special places where traffic gets on and leaves.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="expressRoad">
        <xs:annotation>
          <xs:documentation>A wide road that is specially designed for fast traffic. It is usually divided, so that traffic travelling in one direction is separated from the traffic travelling in the opposite direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="insideBuiltUpAreas">
        <xs:annotation>
          <xs:documentation>Roads inside built-up areas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="outsideBuiltUpAreas">
        <xs:annotation>
          <xs:documentation>Roads outside built-up areas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Speed">
    <xs:annotation>
      <xs:documentation>Class for the specification of a speed.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="numericValue" type="com:Decimal" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Numeric value of the speed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="unitOfMeasure" type="tro:_UnitOfSpeedEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The unit of measure of the specified speed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="_speedExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UnitOfSpeedEnum">
    <xs:annotation>
      <xs:documentation>Units of speed.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="kilometresPerHour">
        <xs:annotation>
          <xs:documentation>Kilometres per hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="milesPerHour">
        <xs:annotation>
          <xs:documentation>Miles per hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ValidityCondition">
    <xs:annotation>
      <xs:documentation>Conditions for time validity of a traffic regulation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="implementedValidity" type="com:Validity" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The actual (implemented) validity of the traffic regulation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="validityByOrder" type="com:Validity" minOccurs="0">
            <xs:annotation>
              <xs:documentation>The ordered (planned) validity as defined in the original traffic regulation order, if existent.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_validityConditionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VehicleCondition">
    <xs:annotation>
      <xs:documentation>Conditions for a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="tro:Condition">
        <xs:sequence>
          <xs:element name="vehicleCharacteristics" type="com:VehicleCharacteristics">
            <xs:annotation>
              <xs:documentation>Traffic regulation only for special vehicles.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="_vehicleConditionExtension" 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: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="_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="_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="_PictogramEnum">
    <xs:simpleContent>
      <xs:extension base="vms:PictogramEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </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: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: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="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="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: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: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: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="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="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="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:schema>