DARS Weather data

DATEX II shema

<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:D2LogicalModel="http://datex2.eu/schema/2/2_0" version="2.3" targetNamespace="http://datex2.eu/schema/2/2_0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="_ExtensionType">
    <xs:sequence>
      <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AffectedCarriagewayAndLanes">
    <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="D2LogicalModel: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="lane" type="D2LogicalModel:LaneEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Indicates the specific lane to which the location relates.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="footpath" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates whether the pedestrian footpath is the subject or part of the subject of the location. (True = footpath is subject)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lengthAffected" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>This indicates the length of road measured in metres affected by the associated traffic element.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="affectedCarriagewayAndLanesExtension" type="D2LogicalModel:_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="D2LogicalModel:AlertCDirectionEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow to which the situation, traffic data or information is related. Positive is in the direction of coding of the road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCDirectionNamed" type="D2LogicalModel: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="alertCDirectionSense" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates for circular routes (i.e. valid only for ring roads) the sense in which navigation should be made from the primary location to the secondary location, to avoid ambiguity. TRUE indicates positive RDS direction, i.e. direction of coding of road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCDirectionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AlertCDirectionEnum">
    <xs:annotation>
      <xs:documentation>The direction of traffic flow concerned by a situation or traffic data. In ALERT-C the positive (resp. negative) direction corresponds to the positive offset direction within the RDS location table.</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="negative">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow concerned by a situation or traffic data. In ALERT-C the negative direction corresponds to the negative offset direction within the RDS location table.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="positive">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow concerned by a situation or traffic data. In ALERT-C the positive direction corresponds to the positive offset direction within the RDS location table.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <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="D2LogicalModel: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="D2LogicalModel: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="D2LogicalModel:_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="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <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="D2LogicalModel:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" />
          <xs:element name="alertCMethod4PrimaryPointLocation" type="D2LogicalModel:AlertCMethod4PrimaryPointLocation" />
          <xs:element name="alertCMethod4PointExtension" type="D2LogicalModel:_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="D2LogicalModel:AlertCLocation" />
      <xs:element name="offsetDistance" type="D2LogicalModel:OffsetDistance" />
      <xs:element name="alertCMethod4PrimaryPointLocationExtension" type="D2LogicalModel:_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="D2LogicalModel:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>EBU country code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCLocationTableNumber" type="D2LogicalModel: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="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </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="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="ApplicationRateValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of the application rate of a substance.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="applicationRate" type="D2LogicalModel:IntensityKilogramsPerSquareMetre" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of the rate of application of a substance expressed in kilogrammes per square metre.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="applicationRateValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AreaOfInterestEnum">
    <xs:annotation>
      <xs:documentation>Types of areas of interest.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="continentWide">
        <xs:annotation>
          <xs:documentation>Area of the whole European continent.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="national">
        <xs:annotation>
          <xs:documentation>Whole area of the specific country.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="neighbouringCountries">
        <xs:annotation>
          <xs:documentation>Area of countries which are neighbouring the one specified.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notSpecified">
        <xs:annotation>
          <xs:documentation>Non specified area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="regional">
        <xs:annotation>
          <xs:documentation>Area of the local region.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="BasicData" abstract="true">
    <xs:annotation>
      <xs:documentation>Data that is either measured or calculated (elaborated) at the same time or over the same time period.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="measurementOrCalculationPeriod" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time elapsed between the beginning and the end of the sampling or measurement period. This item may differ from the unit attribute; e.g. an hourly flow can be estimated from a 5-minute measurement period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementOrCalculationTime" type="D2LogicalModel: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="pertinentLocation" type="D2LogicalModel:GroupOfLocations" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The location (e.g. the stretch of road or area) to which the data value(s) is or are pertinent/relevant. This may be different from the location of the measurement equipment (i.e. the measurement site location). </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="basicDataExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="measurementOrCalculatedTimePrecision" type="D2LogicalModel: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="Boolean">
    <xs:annotation>
      <xs:documentation>Boolean has the value space required to support the mathematical concept of binary-valued logic: {true, false}. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:boolean" />
  </xs:simpleType>
  <xs:simpleType name="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="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="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 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: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:restriction>
  </xs:simpleType>
  <xs:simpleType name="ConcentrationKilogramsPerCubicMetre">
    <xs:annotation>
      <xs:documentation>Concentration defined in kilograms per cubic metre (equivalent to grams per litre under standard conditions).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="D2LogicalModel:Float" />
  </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="restrictedToAuthoritiesTrafficOperatorsAndPublishers">
        <xs:annotation>
          <xs:documentation>Restricted for use only by authorities, traffic operators and publishers (service providers).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictedToAuthoritiesTrafficOperatorsAndVms">
        <xs:annotation>
          <xs:documentation>Restricted for use only by authorities, traffic operators, publishers (service providers) and variable message signs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CountryEnum">
    <xs:annotation>
      <xs:documentation>List of countries.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="at">
        <xs:annotation>
          <xs:documentation>Austria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="be">
        <xs:annotation>
          <xs:documentation>Belgium</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bg">
        <xs:annotation>
          <xs:documentation>Bulgaria</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ch">
        <xs:annotation>
          <xs:documentation>Switzerland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cs">
        <xs:annotation>
          <xs:documentation>Serbia and Montenegro</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cy">
        <xs:annotation>
          <xs:documentation>Cyprus</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cz">
        <xs:annotation>
          <xs:documentation>Czech Republic</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="de">
        <xs:annotation>
          <xs:documentation>Germany</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dk">
        <xs:annotation>
          <xs:documentation>Denmark</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ee">
        <xs:annotation>
          <xs:documentation>Estonia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="es">
        <xs:annotation>
          <xs:documentation>Spain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fi">
        <xs:annotation>
          <xs:documentation>Finland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fo">
        <xs:annotation>
          <xs:documentation>Faroe Islands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fr">
        <xs:annotation>
          <xs:documentation>France</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gb">
        <xs:annotation>
          <xs:documentation>Great Britain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gg">
        <xs:annotation>
          <xs:documentation>Guernsey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gi">
        <xs:annotation>
          <xs:documentation>Gibraltar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gr">
        <xs:annotation>
          <xs:documentation>Greece</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hr">
        <xs:annotation>
          <xs:documentation>Croatia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hu">
        <xs:annotation>
          <xs:documentation>Hungary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ie">
        <xs:annotation>
          <xs:documentation>Ireland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="im">
        <xs:annotation>
          <xs:documentation>Isle Of Man</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="is">
        <xs:annotation>
          <xs:documentation>Iceland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="it">
        <xs:annotation>
          <xs:documentation>Italy</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="je">
        <xs:annotation>
          <xs:documentation>Jersey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="li">
        <xs:annotation>
          <xs:documentation>Lichtenstein</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lt">
        <xs:annotation>
          <xs:documentation>Lithuania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lu">
        <xs:annotation>
          <xs:documentation>Luxembourg</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lv">
        <xs:annotation>
          <xs:documentation>Latvia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ma">
        <xs:annotation>
          <xs:documentation>Morocco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mc">
        <xs:annotation>
          <xs:documentation>Monaco</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mk">
        <xs:annotation>
          <xs:documentation>Macedonia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mt">
        <xs:annotation>
          <xs:documentation>Malta</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nl">
        <xs:annotation>
          <xs:documentation>Netherlands</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="no">
        <xs:annotation>
          <xs:documentation>Norway</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pl">
        <xs:annotation>
          <xs:documentation>Poland</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pt">
        <xs:annotation>
          <xs:documentation>Portugal</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ro">
        <xs:annotation>
          <xs:documentation>Romania</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="se">
        <xs:annotation>
          <xs:documentation>Sweden</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="si">
        <xs:annotation>
          <xs:documentation>Slovenia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sk">
        <xs:annotation>
          <xs:documentation>Slovakia</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sm">
        <xs:annotation>
          <xs:documentation>San Marino</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tr">
        <xs:annotation>
          <xs:documentation>Turkey</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="va">
        <xs:annotation>
          <xs:documentation>Vatican City State</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:restriction>
  </xs:simpleType>
  <xs:element name="d2LogicalModel" type="D2LogicalModel:D2LogicalModel" />
  <xs:complexType name="D2LogicalModel">
    <xs:annotation>
      <xs:documentation>The DATEX II logical model comprising exchange, content payload and management sub-models.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="exchange" type="D2LogicalModel:Exchange" />
      <xs:element name="payloadPublication" type="D2LogicalModel:PayloadPublication" minOccurs="0" />
      <xs:element name="d2LogicalModelExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="modelBaseVersion" use="required" fixed="2" />
  </xs:complexType>
  <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="D2LogicalModel: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="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="accuracy" type="D2LogicalModel: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="D2LogicalModel: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="D2LogicalModel: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="D2LogicalModel:NonNegativeInteger" use="optional">
      <xs:annotation>
        <xs:documentation>The number of input values used in the sampling or measurment period to determine the data value.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="smoothingFactor" type="D2LogicalModel: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="D2LogicalModel: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="D2LogicalModel: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="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:complexType name="DirectionBearingValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of direction as a bearing.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="directionBearing" type="D2LogicalModel:AngleInDegrees" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of direction expressed in terms of a bearing measured in whole degrees. Unless otherwise specified the reference direction corresponding to 0 degrees is North.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="directionBearingValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DirectionCompassEnum">
    <xs:annotation>
      <xs:documentation>Cardinal direction points of the compass.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="east">
        <xs:annotation>
          <xs:documentation>East.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="eastNorthEast">
        <xs:annotation>
          <xs:documentation>East north east.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="eastSouthEast">
        <xs:annotation>
          <xs:documentation>East south east.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="north">
        <xs:annotation>
          <xs:documentation>North.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northEast">
        <xs:annotation>
          <xs:documentation>North east.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northNorthEast">
        <xs:annotation>
          <xs:documentation>North north east.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northNorthWest">
        <xs:annotation>
          <xs:documentation>North north west.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northWest">
        <xs:annotation>
          <xs:documentation>North west.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="south">
        <xs:annotation>
          <xs:documentation>South.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southEast">
        <xs:annotation>
          <xs:documentation>South east.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southSouthEast">
        <xs:annotation>
          <xs:documentation>South south east.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southSouthWest">
        <xs:annotation>
          <xs:documentation>South south west.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southWest">
        <xs:annotation>
          <xs:documentation>South west.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="west">
        <xs:annotation>
          <xs:documentation>West.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="westNorthWest">
        <xs:annotation>
          <xs:documentation>West north west.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="westSouthWest">
        <xs:annotation>
          <xs:documentation>West south west.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DirectionCompassValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of direction as a point of the compass.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="directionCompass" type="D2LogicalModel:DirectionCompassEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of direction expressed in terms of points of the compass.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="directionCompassValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <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="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </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="D2LogicalModel:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="distanceAlong" type="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ElaboratedData">
    <xs:annotation>
      <xs:documentation>An instance of data which is derived/computed from one or more measurements over a period of time. It may be a current value or a forecast value predicted from historical measurements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="source" type="D2LogicalModel:Source" minOccurs="0" />
      <xs:element name="elaboratedDataFault" type="D2LogicalModel:ElaboratedDataFault" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="basicData" type="D2LogicalModel:BasicData" minOccurs="0" />
      <xs:element name="elaboratedDataExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ElaboratedDataFault">
    <xs:annotation>
      <xs:documentation>Details of a fault which is being reported for the related elaborated data.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Fault">
        <xs:sequence>
          <xs:element name="elaboratedDataFault" type="D2LogicalModel:ElaboratedDataFaultEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of fault which is being reported for the specified elaborated data.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="elaboratedDataFaultExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ElaboratedDataFaultEnum">
    <xs:annotation>
      <xs:documentation>Types of elaborated data faults.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="intermittentDataValues">
        <xs:annotation>
          <xs:documentation>Data values are being produced at intermittent intervals which are not consitent with the expected reporting interval.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noDataValuesAvailable">
        <xs:annotation>
          <xs:documentation>No elaborated data values are currently available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="spuriousUnreliableDataValues">
        <xs:annotation>
          <xs:documentation>Spurious or unreliable data values are being produced.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unspecifiedOrUnknownFault">
        <xs:annotation>
          <xs:documentation>An unspecified or unknown fault exists in the process which is generating elaborated data.</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:restriction>
  </xs:simpleType>
  <xs:complexType name="ElaboratedDataPublication">
    <xs:annotation>
      <xs:documentation>A publication containing one or more elaborated data sets.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" />
          <xs:element name="elaboratedData" type="D2LogicalModel:ElaboratedData" maxOccurs="unbounded" />
          <xs:element name="elaboratedDataPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Exchange">
    <xs:annotation>
      <xs:documentation>Details associated with the management of the exchange between the supplier and the client.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="supplierIdentification" type="D2LogicalModel:InternationalIdentifier" />
      <xs:element name="exchangeExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Fault">
    <xs:annotation>
      <xs:documentation>Information about a fault relating to a specific piece of equipment or process.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="faultIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Unique identifier of the fault.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="faultDescription" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Textual description of the fault.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="faultCreationTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date and time at which the fault was originally recorded/reported.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="faultLastUpdateTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date and time at which the fault information as specified in this instance was last updated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="faultSeverity" type="D2LogicalModel:FaultSeverityEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The severity of the fault in terms of how it affects the usability of the equipment or the reliability of the data generated by the equipment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="faultExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="FaultSeverityEnum">
    <xs:annotation>
      <xs:documentation>Classification of the severity of faults.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="low">
        <xs:annotation>
          <xs:documentation>The fault is of low severity and has only limited impact on the usability of the equipment or the value of the data generated by the equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="medium">
        <xs:annotation>
          <xs:documentation>The fault is of medium severity which will significantly limit the usability of the equipment or devalue the usefulness of the data generated by the equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="high">
        <xs:annotation>
          <xs:documentation>The fault is of high severity which will render the equipment unusable or any data generated by the equipment to be of no value.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The fault is of unknown severity and hence its effect on the usability of the equipment or the usefulness of the data generated by the equipment can not be assessed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Float">
    <xs:annotation>
      <xs:documentation>A floating point number whose value space consists of the values m × 2^e, where m is an integer whose absolute value is less than 2^24, and e is an integer between -149 and 104, inclusive.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:complexType name="FloatingPointMetreDistanceValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of distance in metres in a floating point format.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="floatingPointMetreDistance" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of distance expressed in metres in a floating point format.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="floatingPointMetreDistanceValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GroupOfLocations" abstract="true">
    <xs:annotation>
      <xs:documentation>One or more physically separate locations. Multiple locations may be related, as in an itinerary (or route), or may be unrelated. It is not for identifying the same physical location using different Location objects for different referencing systems.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="groupOfLocationsExtension" type="D2LogicalModel:_ExtensionType" 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="areaOfInterest" type="D2LogicalModel:AreaOfInterestEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The extent of the geographic area to which the related information should be distributed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="confidentiality" type="D2LogicalModel:ConfidentialityValueEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The extent to which the related information may be circulated, according to the recipient type. Recipients must comply with this confidentiality statement.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="informationStatus" type="D2LogicalModel: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="urgency" type="D2LogicalModel:UrgencyEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>This indicates the urgency with which a message recipient or Client should distribute the enclosed information.  Urgency particularly relates to functions within RDS-TMC applications.  </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="headerInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Humidity">
    <xs:annotation>
      <xs:documentation>Details of atmospheric humidity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="relativeHumidity" type="D2LogicalModel:PercentageValue">
        <xs:annotation>
          <xs:documentation>The amount of water vapour in the air, as a percentage of the amount of water vapour in saturated air at the same temperature and at atmospheric pressure. The measurement is taken between 1.5 and 2 m above the ground and behind a meteorological screen.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="humidityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="HumidityInformation">
    <xs:annotation>
      <xs:documentation>Measurements of atmospheric humidity.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="humidity" type="D2LogicalModel:Humidity" />
          <xs:element name="humidityInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <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:restriction>
  </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="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="integerMetreDistance" type="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="IntensityKilogramsPerSquareMetre">
    <xs:annotation>
      <xs:documentation>A measure of the quantity of application of a substance to an area defined in kilograms per square metre.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="IntensityMillimetresPerHour">
    <xs:annotation>
      <xs:documentation>A measure of precipitation intensity defined in millimetres per hour.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="InternationalIdentifier">
    <xs:annotation>
      <xs:documentation>An identifier/name whose range is specific to the particular country.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="country" type="D2LogicalModel:CountryEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ISO 3166-1 two character country code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="nationalIdentifier" type="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="KilogramsConcentrationValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of concentration of a substance in grams per unit volume.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="kilogramsConcentration" type="D2LogicalModel:ConcentrationKilogramsPerCubicMetre" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value defining the amount of a substance in a given volume (concentration) expressed in kilograms per cubic metre.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="kilogramsConcentrationValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </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="D2LogicalModel:Float" />
  </xs:simpleType>
  <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 median 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.</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="lane1">
        <xs:annotation>
          <xs:documentation>In the first lane numbered from nearest the hard shoulder to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane2">
        <xs:annotation>
          <xs:documentation>In the second lane numbered from nearest the hard shoulder to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane3">
        <xs:annotation>
          <xs:documentation>In the third lane numbered from nearest the hard shoulder to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane4">
        <xs:annotation>
          <xs:documentation>In the fourth lane numbered from nearest the hard shoulder to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane5">
        <xs:annotation>
          <xs:documentation>In the fifth lane numbered from nearest the hard shoulder to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane6">
        <xs:annotation>
          <xs:documentation>In the sixth lane numbered from nearest the hard shoulder to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane7">
        <xs:annotation>
          <xs:documentation>In the seventh lane numbered from nearest the hard shoulder to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane8">
        <xs:annotation>
          <xs:documentation>In the eighth lane numbered from nearest the hard shoulder to central median.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane9">
        <xs:annotation>
          <xs:documentation>In the ninth lane numbered from nearest the hard shoulder to central median.</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="opposingLanes">
        <xs:annotation>
          <xs:documentation>In the opposing lanes.</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 the slow vehicle lane.</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:restriction>
  </xs:simpleType>
  <xs:simpleType name="Language">
    <xs:annotation>
      <xs:documentation>A language datatype, identifies a specified language by an ISO 639-1 2-alpha / ISO 639-2 3-alpha code.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:language" />
  </xs:simpleType>
  <xs:complexType name="LinearElement">
    <xs:annotation>
      <xs:documentation>A linear element along a single linear object, consistent with ISO 19148 definitions. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="roadName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of the road of which the linear element forms a part.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="linearElementExtension" type="D2LogicalModel:_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="D2LogicalModel:LinearElement">
        <xs:sequence>
          <xs:element name="linearElementIdentifier" type="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="LinearReferencingDirectionEnum">
    <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:restriction>
  </xs:simpleType>
  <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="D2LogicalModel:GroupOfLocations">
        <xs:sequence>
          <xs:element name="locationForDisplay" type="D2LogicalModel:PointCoordinates" minOccurs="0">
            <xs:annotation>
              <xs:documentation>A location which may be used by clients for visual display on user interfaces.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="locationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="LocationDescriptorEnum">
    <xs:annotation>
      <xs:documentation>List of descriptors 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="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="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="inGallery">
        <xs:annotation>
          <xs:documentation>In gallery.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTheCentre">
        <xs:annotation>
          <xs:documentation>In the centre of the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTheOppositeDirection">
        <xs:annotation>
          <xs:documentation>In the opposite direction.</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="onBorder">
        <xs:annotation>
          <xs:documentation>On border crossing.</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="onPass">
        <xs:annotation>
          <xs:documentation>On mountain pass.</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="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="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="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="overCrestOfHill">
        <xs:annotation>
          <xs:documentation>Over the crest of a hill.</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: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="D2LogicalModel: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="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="MultilingualString">
    <xs:sequence>
      <xs:element name="values">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="D2LogicalModel:MultilingualStringValue" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MultilingualStringValue">
    <xs:simpleContent>
      <xs:extension base="D2LogicalModel: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="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="D2LogicalModel:Location">
        <xs:sequence>
          <xs:element name="supplementaryPositionalDescription" type="D2LogicalModel:SupplementaryPositionalDescription" minOccurs="0" />
          <xs:element name="networkLocationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </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="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="D2LogicalModel: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="D2LogicalModel:_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="D2LogicalModel: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="D2LogicalModel:InternationalIdentifier" />
      <xs:element name="payloadPublicationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="lang" type="D2LogicalModel:Language" use="required">
      <xs:annotation>
        <xs:documentation>The default language used throughout the payload publication.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:simpleType name="Percentage">
    <xs:annotation>
      <xs:documentation>A measure of percentage.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="D2LogicalModel: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="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="percentage" type="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Point">
    <xs:annotation>
      <xs:documentation>A single geospatial point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkLocation">
        <xs:sequence>
          <xs:element name="alertCPoint" type="D2LogicalModel:AlertCPoint" minOccurs="0" />
          <xs:element name="pointAlongLinearElement" type="D2LogicalModel:PointAlongLinearElement" minOccurs="0" />
          <xs:element name="pointByCoordinates" type="D2LogicalModel:PointByCoordinates" minOccurs="0" />
          <xs:element name="pointExtension" type="D2LogicalModel:_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 ISO 19148 definitions. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="directionRelativeAtPoint" type="D2LogicalModel:LinearReferencingDirectionEnum" 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="linearElement" type="D2LogicalModel:LinearElement" />
      <xs:element name="distanceAlongLinearElement" type="D2LogicalModel:DistanceAlongLinearElement" />
      <xs:element name="pointAlongLinearElementExtension" type="D2LogicalModel:_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="pointCoordinates" type="D2LogicalModel:PointCoordinates" />
      <xs:element name="pointByCoordinatesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointCoordinates">
    <xs:annotation>
      <xs:documentation>A pair of 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="D2LogicalModel: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="D2LogicalModel: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="pointCoordinatesExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PrecipitationDetail">
    <xs:annotation>
      <xs:documentation>Details of precipitation (rain, snow etc.).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="precipitationType" type="D2LogicalModel:PrecipitationTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of precipitation which is affecting the driving conditions.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="precipitationIntensity" type="D2LogicalModel:PrecipitationIntensityValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The height of the precipitation received per unit time.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="depositionDepth" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The equivalent depth of the water layer resulting from precipitation or deposition on a non-porous horizontal surface. Non liquid precipitation is considered as melted in water form. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="precipitationDetailExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PrecipitationInformation">
    <xs:annotation>
      <xs:documentation>Measurements of precipitation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="noPrecipitation" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indication of whether precipitation is present or not. True indicates there is no precipitation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="precipitationDetail" type="D2LogicalModel:PrecipitationDetail" minOccurs="0" />
          <xs:element name="precipitationInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PrecipitationIntensityValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of the accumulation rate of precipitation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="millimetresPerHourIntensity" type="D2LogicalModel:IntensityMillimetresPerHour" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of precipitation intensity expressed in units of millimetres per hour.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="precipitationIntensityValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PrecipitationTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of precipitation.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="drizzle">
        <xs:annotation>
          <xs:documentation>Light, fine rain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freezingRain">
        <xs:annotation>
          <xs:documentation>Freezing rain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hail">
        <xs:annotation>
          <xs:documentation>Small balls of ice and compacted snow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rain">
        <xs:annotation>
          <xs:documentation>Rain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sleet">
        <xs:annotation>
          <xs:documentation>Wet snow mixed with rain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snow">
        <xs:annotation>
          <xs:documentation>Snow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RoadSurfaceConditionInformation">
    <xs:annotation>
      <xs:documentation>Measurements of road surface conditions which are related to the weather.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="weatherRelatedRoadConditionType" type="D2LogicalModel:WeatherRelatedRoadConditionTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The type of road surface condition that is related to the weather which is affecting the driving conditions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="roadSurfaceConditionMeasurements" type="D2LogicalModel:RoadSurfaceConditionMeasurements" />
          <xs:element name="roadSurfaceConditionInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="RoadSurfaceConditionMeasurements">
    <xs:annotation>
      <xs:documentation>Measurements of the road surface condition which relate specifically to the weather.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="roadSurfaceTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The temperature measured on the road surface.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="protectionTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The road surface temperature down to which the surface is protected from freezing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deIcingApplicationRate" type="D2LogicalModel:ApplicationRateValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates the rate at which de-icing agents have been applied to the specified road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deIcingConcentration" type="D2LogicalModel:KilogramsConcentrationValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates the concentration of de-icing agent present in surface water on the specified road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="depthOfSnow" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The depth of snow recorded on the road surface.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="waterFilmThickness" type="D2LogicalModel:FloatingPointMetreDistanceValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The depth of standing water to be found on the road surface.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="roadSurfaceConditionMeasurementsExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Seconds">
    <xs:annotation>
      <xs:documentation>Seconds.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="Source">
    <xs:annotation>
      <xs:documentation>Details of the source from which the information was obtained.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="sourceCountry" type="D2LogicalModel:CountryEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ISO 3166-1 two character country code of the source of the information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sourceIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifier of the organisation or the traffic equipment which has produced the information relating to this version of the information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sourceName" type="D2LogicalModel:MultilingualString" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the organisation which has produced the information relating to this version of the information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sourceType" type="D2LogicalModel:SourceTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Information about the technology used for measuring the data or the method used for obtaining qualitative descriptions relating to this version of the information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sourceExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SourceTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of sources from which situation information may be derived.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="automobileClubPatrol">
        <xs:annotation>
          <xs:documentation>A patrol of an automobile club.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cameraObservation">
        <xs:annotation>
          <xs:documentation>A camera observation (either still or video camera).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freightVehicleOperator">
        <xs:annotation>
          <xs:documentation>An operator of freight vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inductionLoopMonitoringStation">
        <xs:annotation>
          <xs:documentation>A station dedicated to the monitoring of the road network by processing inductive loop information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="infraredMonitoringStation">
        <xs:annotation>
          <xs:documentation>A station dedicated to the monitoring of the road network by processing infrared image information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="microwaveMonitoringStation">
        <xs:annotation>
          <xs:documentation>A station dedicated to the monitoring of the road network by processing microwave information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mobileTelephoneCaller">
        <xs:annotation>
          <xs:documentation>A caller using a mobile telephone (who may or may not be on the road network).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonPoliceEmergencyServicePatrol">
        <xs:annotation>
          <xs:documentation>Emergency service patrols other than police.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="otherInformation">
        <xs:annotation>
          <xs:documentation>Other sources of information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="otherOfficialVehicle">
        <xs:annotation>
          <xs:documentation>Personnel from a vehicle belonging to the road operator or authority or any emergency service, including authorised breakdown service organisations.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="policePatrol">
        <xs:annotation>
          <xs:documentation>A police patrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="privateBreakdownService">
        <xs:annotation>
          <xs:documentation>A private breakdown service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicAndPrivateUtilities">
        <xs:annotation>
          <xs:documentation>A utility organisation, either public or private.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="registeredMotoristObserver">
        <xs:annotation>
          <xs:documentation>A motorist who is an officially registered observer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadAuthorities">
        <xs:annotation>
          <xs:documentation>A road authority.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadOperatorPatrol">
        <xs:annotation>
          <xs:documentation>A patrol of the road operator or authority.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadsideTelephoneCaller">
        <xs:annotation>
          <xs:documentation>A caller who is using an emergency roadside telephone.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="spotterAircraft">
        <xs:annotation>
          <xs:documentation>A spotter aircraft of an organisation specifically assigned to the monitoring of the traffic network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficMonitoringStation">
        <xs:annotation>
          <xs:documentation>A station, usually automatic, dedicated to the monitoring of the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="transitOperator">
        <xs:annotation>
          <xs:documentation>An operator of a transit service, e.g. bus link operator.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleProbeMeasurement">
        <xs:annotation>
          <xs:documentation>A specially equipped vehicle used to provide measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="videoProcessingMonitoringStation">
        <xs:annotation>
          <xs:documentation>A station dedicated to the monitoring of the road network by processing video image information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </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="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="speed" type="D2LogicalModel: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="D2LogicalModel:_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: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="locationDescriptor" type="D2LogicalModel:LocationDescriptorEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Specifies a descriptor which helps to identify the specific location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sequentialRampNumber" type="D2LogicalModel: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="affectedCarriagewayAndLanes" type="D2LogicalModel:AffectedCarriagewayAndLanes" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="supplementaryPositionalDescriptionExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="locationPrecision" type="D2LogicalModel: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="Temperature">
    <xs:annotation>
      <xs:documentation>Details of atmospheric temperature.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="airTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The air temperature measured in the shade between 1.5 and 2 metres above ground level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dewPointTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The temperature to which the air would have to cool (at constant pressure and water vapour content) in order to reach saturation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximumTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The maximum temperature during the forecast or measurement period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minimumTemperature" type="D2LogicalModel:TemperatureValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The minimum temperature during the forecast or measurement period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="temperatureExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TemperatureCelsius">
    <xs:annotation>
      <xs:documentation>A measure of temperature defined in degrees Celsius.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="TemperatureInformation">
    <xs:annotation>
      <xs:documentation>Measurements of atmospheric temperature.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="temperature" type="D2LogicalModel:Temperature" />
          <xs:element name="temperatureInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TemperatureValue">
    <xs:annotation>
      <xs:documentation>A measured or calculated value of temperature.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:DataValue">
        <xs:sequence>
          <xs:element name="temperature" type="D2LogicalModel:TemperatureCelsius" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A value of temperature expressed in degrees Celsius.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="temperatureValueExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </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:restriction>
  </xs:simpleType>
  <xs:complexType name="TpegAreaDescriptor">
    <xs:annotation>
      <xs:documentation>A descriptor for describing an area location.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TpegDescriptor">
        <xs:sequence>
          <xs:element name="tpegAreaDescriptorType" type="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </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="D2LogicalModel: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="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <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:restriction>
  </xs:simpleType>
  <xs:simpleType name="UrgencyEnum">
    <xs:annotation>
      <xs:documentation>Degrees of urgency that a receiving client should associate with the disseminate of the information contained in the publication.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="extremelyUrgent">
        <xs:annotation>
          <xs:documentation>Dissemination of the information is extremely urgent.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="urgent">
        <xs:annotation>
          <xs:documentation>Dissemination of the information is urgent.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="normalUrgency">
        <xs:annotation>
          <xs:documentation>Dissemination of the information is of normal urgency.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Visibility">
    <xs:annotation>
      <xs:documentation>Details of atmospheric visibility.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="minimumVisibilityDistance" type="D2LogicalModel:IntegerMetreDistanceValue">
        <xs:annotation>
          <xs:documentation>The minimum distance, measured or estimated, beyond which drivers may be unable to clearly see a vehicle or an obstacle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="visibilityExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VisibilityInformation">
    <xs:annotation>
      <xs:documentation>Measurements of atmospheric visibility.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="visibility" type="D2LogicalModel:Visibility" />
          <xs:element name="visibilityInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="WeatherData" abstract="true">
    <xs:annotation>
      <xs:documentation>Measured or derived values relating to the weather at a specific location or locations.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicData">
        <xs:sequence>
          <xs:element name="weatherDataExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="WeatherRelatedRoadConditionTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of road surface conditions which are related to the weather.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="blackIce">
        <xs:annotation>
          <xs:documentation>Severe skid risk due to black ice (i.e. clear ice, which is impossible or very difficult to see).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="deepSnow">
        <xs:annotation>
          <xs:documentation>Deep snow on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dry">
        <xs:annotation>
          <xs:documentation>The road surface is dry.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freezingOfWetRoads">
        <xs:annotation>
          <xs:documentation>The wet road surface is subject to freezing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freezingPavements">
        <xs:annotation>
          <xs:documentation>The pavements for pedestrians are subject to freezing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freezingRain">
        <xs:annotation>
          <xs:documentation>Severe skid risk due to rain falling on sub-zero temperature road surface and freezing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freshSnow">
        <xs:annotation>
          <xs:documentation>Fresh snow (with little or no traffic yet) on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ice">
        <xs:annotation>
          <xs:documentation>Increased skid risk due to ice (of any kind).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iceBuildUp">
        <xs:annotation>
          <xs:documentation>Ice is building up on the roadway causing a serious skid hazard.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iceWithWheelBarTracks">
        <xs:annotation>
          <xs:documentation>Ice on the road frozen in the form of wheel tracks.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="icyPatches">
        <xs:annotation>
          <xs:documentation>Severe skid risk due to icy patches (i.e. intermittent ice on roadway).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="looseSnow">
        <xs:annotation>
          <xs:documentation>Powdery snow on the road which is subject to being blown by the wind.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="normalWinterConditionsForPedestrians">
        <xs:annotation>
          <xs:documentation>Conditions for pedestrians are consistent with those normally expected in winter.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="packedSnow">
        <xs:annotation>
          <xs:documentation>Packed snow (heavily trafficked) on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadSurfaceMelting">
        <xs:annotation>
          <xs:documentation>The road surface is melting, or has melted due to abnormally high temperatures.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slipperyRoad">
        <xs:annotation>
          <xs:documentation>The road surface is slippery due to bad weather conditions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slushOnRoad">
        <xs:annotation>
          <xs:documentation>Increased skid risk due to melting snow (slush) on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slushStrings">
        <xs:annotation>
          <xs:documentation>Melting snow (slush) on the roadway is formed into wheel tracks.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowDrifts">
        <xs:annotation>
          <xs:documentation>Snow drifting is in progress or patches of deep snow are present due to earlier drifting.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowOnPavement">
        <xs:annotation>
          <xs:documentation>Snow is on the pedestrian pavement.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowOnTheRoad">
        <xs:annotation>
          <xs:documentation>Snow is lying on the road surface.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="surfaceWater">
        <xs:annotation>
          <xs:documentation>Water is resting on the roadway which provides an increased hazard to vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wet">
        <xs:annotation>
          <xs:documentation>Road surface is wet.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wetAndIcyRoad">
        <xs:annotation>
          <xs:documentation>Increased skid risk due to partly thawed, wet road with packed snow and ice, or rain falling on packed snow and ice.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wetIcyPavement">
        <xs:annotation>
          <xs:documentation>Partly thawed, wet pedestrian pavement with packed snow and ice, or rain falling on packed snow and ice.</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:restriction>
  </xs:simpleType>
  <xs:complexType name="Wind">
    <xs:annotation>
      <xs:documentation>Wind conditions on the road. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="windMeasurementHeight" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The height in metres above the road surface at which the wind is measured.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="windSpeed" type="D2LogicalModel:SpeedValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The wind speed averaged over at least 10 minutes, measured at a default height of10 metres (meteorological standard) above the road surface, unless measurement height is specified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximumWindSpeed" type="D2LogicalModel:SpeedValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The maximum wind speed in a measurement period of 10 minutes.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="windDirectionBearing" type="D2LogicalModel:DirectionBearingValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The average direction from which the wind blows, in terms of a bearing measured in degrees (0 - 359).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="windDirectionCompass" type="D2LogicalModel:DirectionCompassValue" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The average direction from which the wind blows, in terms of points of the compass.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="windExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="WindInformation">
    <xs:annotation>
      <xs:documentation>Measurements of wind conditions.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherData">
        <xs:sequence>
          <xs:element name="wind" type="D2LogicalModel:Wind" />
          <xs:element name="windInformationExtension" type="D2LogicalModel:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>