﻿<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:D2LogicalModel="http://datex2.eu/schema/1_0/1_0" targetNamespace="http://datex2.eu/schema/1_0/1_0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="AbnormalTraffic">
    <xs:annotation>
      <xs:documentation>A traffic condition which is not normal.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="abnormalTrafficType" type="D2LogicalModel:AbnormalTrafficTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A characterisation of the nature of abnormal traffic flow, i.e. specifically relating to the nature of the traffic movement.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="numberOfVehiclesWaiting" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The number of vehicles waiting in a queue.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="queueLength" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The length of a queue or the average length of queues in separate lanes due to a situation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="relativeTrafficFlow" type="D2LogicalModel:RelativeTrafficFlowEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Assessement of the traffic flow conditions relative to normally expected conditions at this date/time.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="trafficTrendType" type="D2LogicalModel:TrafficTrendTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A characterisation of the trend in the traffic conditions at the specified location and direction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="abnormalTrafficExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AbnormalTrafficTypeEnum">
    <xs:annotation>
      <xs:documentation>Collection of descriptive terms for abnormal traffic conditions specifically relating to the nature of the traffic movement.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="queueingTraffic">
        <xs:annotation>
          <xs:documentation>Traffic is queueing at the specified location, although there is still some traffic movement.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stopAndGo">
        <xs:annotation>
          <xs:documentation>Current traffic conditions are of a stop and go nature with queues forming and ending continuously on the specified section of road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slowTraffic">
        <xs:annotation>
          <xs:documentation>Traffic is slow moving at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stationaryTraffic">
        <xs:annotation>
          <xs:documentation>Traffic is stationary, or very near stationary, at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Accident">
    <xs:annotation>
      <xs:documentation>Accidents are events in which one or more vehicles lose control and do not recover.  They include collisions between vehicle(s) or other road user(s), between vehicle(s) and any obstacle(s), or they result from a vehicle running off the road.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="accidentCause" type="D2LogicalModel:AccidentCauseEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A descriptor indicating the most significant factor causing an accident.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="accidentType" type="D2LogicalModel:AccidentTypeEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A characterization of the nature of the accident.  May be used as part of the core information during a broadcast of a situation containing an accident.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vehicleInvolved" type="D2LogicalModel:Vehicle" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="overviewOfVehiclesInvolved" type="D2LogicalModel:VehiclesInvolved" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="overviewOfPeopleInvolved" type="D2LogicalModel:PeopleInvolved" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="accidentExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AccidentCauseEnum">
    <xs:annotation>
      <xs:documentation>Collection of the type of accident causes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="avoidanceOfObstacles">
        <xs:annotation>
          <xs:documentation>Avoidance of obstacles on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="driverDistraction">
        <xs:annotation>
          <xs:documentation>Driver distraction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="driverDrugAbuse">
        <xs:annotation>
          <xs:documentation>Driver under the influence of drugs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="driverIllness">
        <xs:annotation>
          <xs:documentation>Driver illness.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exceedingSpeedsLimits">
        <xs:annotation>
          <xs:documentation>Loss of vehicle control due to excessive vehicle speed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="excessAlcohol">
        <xs:annotation>
          <xs:documentation>Driver abilities reduced due to driving under the influence of alcohol.  Alcohol levels above nationally accepted limit. </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="excessiveDriverTiredness">
        <xs:annotation>
          <xs:documentation>Excessive tiredness of the driver.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="impermissibleManoeuvre">
        <xs:annotation>
          <xs:documentation>A driving manoeuvre which was not permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="limitedVisibility">
        <xs:annotation>
          <xs:documentation>Limited or impared visibility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notKeepingASafeDistance">
        <xs:annotation>
          <xs:documentation>Not keeping a safe distance from the vehicle infront.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onTheWrongSideOfTheRoad">
        <xs:annotation>
          <xs:documentation>Driving on the wrong side of the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pedestrianInRoad">
        <xs:annotation>
          <xs:documentation>Pedestrian in the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poorLaneAdherence">
        <xs:annotation>
          <xs:documentation>Not keeping to lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poorMergeEntryOrExitJudgement">
        <xs:annotation>
          <xs:documentation>Poor judgement when merging at an entry or exit point of a carriageway or junction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poorRoadSurfaceCondition">
        <xs:annotation>
          <xs:documentation>Poor road surface condition.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poorSurfaceAdherence">
        <xs:annotation>
          <xs:documentation>Poor road surface adherence.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="undisclosed">
        <xs:annotation>
          <xs:documentation>Undisclosed cause.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown cause.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleFailure">
        <xs:annotation>
          <xs:documentation>Malfunction or failure of vehicle function.</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="AccidentTypeEnum">
    <xs:annotation>
      <xs:documentation>Collection of descriptive terms for types of accidents.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="accident">
        <xs:annotation>
          <xs:documentation>Accidents are situations in which one or more vehicles lose control and do not recover.  They include collisions between vehicle(s) or other road user(s), between vehicle(s) and fixed obstacle(s), or they result from a vehicle running off the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accidentInvestigationWork">
        <xs:annotation>
          <xs:documentation>Authorised investigation work connected to an earlier reported accident that may disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accidentInvolvingBicycles">
        <xs:annotation>
          <xs:documentation>Includes all accidents involving at least one bicycle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accidentInvolvingBuses">
        <xs:annotation>
          <xs:documentation>Includes all accidents involving at least one passenger vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accidentInvolvingHazardousMaterials">
        <xs:annotation>
          <xs:documentation>Includes all accidents involving at least one vehicle believed to be carrying materials, which could present an additional hazard to road users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accidentInvolvingHeavyLorries">
        <xs:annotation>
          <xs:documentation>Includes all accidents involving at least one heavy goods vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accidentInvolvingMopeds">
        <xs:annotation>
          <xs:documentation>Includes all accidents involving at least one moped.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accidentInvolvingMotorcycles">
        <xs:annotation>
          <xs:documentation>Includes all accidents involving at least one motorcycle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accidentInvolvingTrain">
        <xs:annotation>
          <xs:documentation>Includes all accidents involving collision with a train.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="chemicalSpillageAccident">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in a spillage of chemicals on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="collision">
        <xs:annotation>
          <xs:documentation>Collision of vehicle with another object of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="collisionWithAnimal">
        <xs:annotation>
          <xs:documentation>Collision of vehicle with one or more animals.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="collisionWithObstruction">
        <xs:annotation>
          <xs:documentation>Collision of vehicle with an object of a stationary nature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="collisionWithPerson">
        <xs:annotation>
          <xs:documentation>Collision of vehicle with one or more pedestrians.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="earlierAccident">
        <xs:annotation>
          <xs:documentation>An earlier reported accident that is causing disruption to traffic or is resulting in further accidents.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fuelSpillageAccident">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in a spillage of fuel on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="headOnCollision">
        <xs:annotation>
          <xs:documentation>Collision of vehicle with another vehicle head on.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="headOnOrSideCollision">
        <xs:annotation>
          <xs:documentation>Collision of vehicle with another vehicle either head on or sideways.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="jackknifedArticulatedLorry">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in a heavy goods vehicle folding together in an accidental skidding movement on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="jackknifedCaravan">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in a vehicle and caravan folding together in an accidental skidding movement on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="jackknifedTrailer">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in a vehicle and trailer folding together in an accidental skidding movement on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="multipleVehicleCollision">
        <xs:annotation>
          <xs:documentation>Multiple vehicles involved in a collision.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="multivehicleAccident">
        <xs:annotation>
          <xs:documentation>Includes all accidents involving three or more vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="oilSpillageAccident">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in a spillage of oil on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overturnedHeavyLorry">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in the overturning of a heavy goods vehicle on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overturnedTrailer">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in the overturning of a trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overturnedVehicle">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting in the overturning of a vehicle (of unspecified type) on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rearCollision">
        <xs:annotation>
          <xs:documentation>Includes all accidents where one or more vehicles have collided with the rear of one or more other vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="secondaryAccident">
        <xs:annotation>
          <xs:documentation>Includes all situations resulting from vehicles avoiding or being distracted by earlier accidents.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seriousAccident">
        <xs:annotation>
          <xs:documentation>Includes all accidents believed to involve fatality or injury expected to require overnight hospitalisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sideCollision">
        <xs:annotation>
          <xs:documentation>Includes all accidents where one or more vehicles have collided with the side of one or more other vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleOffRoad">
        <xs:annotation>
          <xs:documentation>Includes all accidents where one or more vehicles have left the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleSpunAround">
        <xs:annotation>
          <xs:documentation>Includes all accidents where a vehicle has skidded and has come to rest not facing its intended line of travel.</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="Activities">
    <xs:annotation>
      <xs:documentation>Deliberate human actions external to the traffic stream or roadway which could disrupt traffic.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="authorityOperationType" type="D2LogicalModel:AuthorityOperationTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Indicates the nature of the authority-initiated activity that will, is or has been taking place. </xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="disturbanceActivityType" type="D2LogicalModel:DisturbanceActivityTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Includes all situations of public disorder, with potential to disrupt traffic.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="publicEventType" type="D2LogicalModel:PublicEventTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Type of major display or trade show which could disrupt traffic.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="mobilityOfActivities" type="D2LogicalModel:Mobility" minOccurs="0" maxOccurs="1" />
          <xs:element name="activitiesExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Advice" abstract="true">
    <xs:annotation>
      <xs:documentation>Information/advice that supplements the traffic/travel information contained in a situation publication.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="adviceExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCArea">
    <xs:annotation>
      <xs:documentation>An area defined by reference to a predefined Alert C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="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. prENV12313-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 to an ALERT C table reference.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="areaLocation" type="D2LogicalModel:AlertCLocation" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCAreaExtension" 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" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>ALERT C name of a direction e.g. Brussels -&gt; Lille.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="alertCDirectionSense" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates for circular routes the sense in which navigation should be made from the primary location to the secondary location, to avoid ambiguity. The value TRUE indicates the positive RDS direction which is the direction of coding of the 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="AlertCLinear" abstract="true">
    <xs:annotation>
      <xs:documentation>A linear section along a road defined between two points on the road by reference to a pre-defined Alert C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="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. prENV12313-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 to an ALERT C table reference.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alertCLinearExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCLinearByCode">
    <xs:annotation>
      <xs:documentation>A linear section along a road defined by reference to a linear section in a pre-defined Alert C location table.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" minOccurs="1" maxOccurs="1" />
          <xs:element name="locationCodeForLinearLocation" type="D2LogicalModel:AlertCLocation" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCLinearByCodeExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCLocation">
    <xs:annotation>
      <xs:documentation>Identification of a specific point, linear or area location in an Alert C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocationName" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of Alert C location.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="specificLocation" type="D2LogicalModel:AlertCLocationCode" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Unique code within the an Alert C location table which identifes 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:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="AlertCMethod2Linear">
    <xs:annotation>
      <xs:documentation>A linear section along a road between two points, Primary and Secondary, which are pre-defined in an Alert C location table. Direction is FROM the Secondary point TO the Primary point, i.e. the Primary point is downstream of the Secondary point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod2PrimaryPointLocation" type="D2LogicalModel:AlertCMethod2PrimaryPointLocation" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod2SecondaryPointLocation" type="D2LogicalModel:AlertCMethod2SecondaryPointLocation" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod2LinearExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2Point">
    <xs:annotation>
      <xs:documentation>A single point on the road network defined by reference to a point in a pre-defined Alert C location table and which has an associated direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod2PrimaryPointLocation" type="D2LogicalModel:AlertCMethod2PrimaryPointLocation" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod2PointExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2PrimaryPointLocation">
    <xs:annotation>
      <xs:documentation>The point (called Primary point) which is either a single point or at the downstream end of a linear road section. The point is specified by a reference to a point in a pre-defined Alert C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocation" type="D2LogicalModel:AlertCLocation" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCMethod2PrimaryPointLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2SecondaryPointLocation">
    <xs:annotation>
      <xs:documentation>The point (called Secondary point) which is at the upstream end of a linear road section. The point is specified by a reference to a point in a pre-defined Alert C location table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocation" type="D2LogicalModel:AlertCLocation" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCMethod2SecondaryPointLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4Linear">
    <xs:annotation>
      <xs:documentation>A linear section along a road between two points, Primary and Secondary, which are pre-defined Alert C locations plus offset distance. Direction is FROM the Secondary point TO the Primary point, i.e. the Primary point is downstream of the Secondary point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod4PrimaryPointLocation" type="D2LogicalModel:AlertCMethod4PrimaryPointLocation" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod4SecondaryPointLocation" type="D2LogicalModel:AlertCMethod4SecondaryPointLocation" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod4LinearExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4Point">
    <xs:annotation>
      <xs:documentation>A single point on the road network defined by reference to a point in a pre-defined Alert C location table plus an offset distance and which has an associated direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="D2LogicalModel:AlertCDirection" minOccurs="1" maxOccurs="1" />
          <xs:element name="alertCMethod4PrimaryPointLocation" type="D2LogicalModel:AlertCMethod4PrimaryPointLocation" minOccurs="1" maxOccurs="1" />
          <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" minOccurs="1" maxOccurs="1" />
      <xs:element name="offsetDistance" type="D2LogicalModel:OffsetDistance" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCMethod4PrimaryPointLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4SecondaryPointLocation">
    <xs:annotation>
      <xs:documentation>The point (called Secondary point) which is at the upstream end of a linear road section. The point is specified by a reference to a point in a pre-defined Alert C location table plus a non-negative offset distance.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="alertCLocation" type="D2LogicalModel:AlertCLocation" minOccurs="1" maxOccurs="1" />
      <xs:element name="offsetDistance" type="D2LogicalModel:OffsetDistance" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCMethod4SecondaryPointLocationExtension" 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. prENV12313-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 to 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:complexType name="AnimalPresenceObstruction">
    <xs:annotation>
      <xs:documentation>An obstruction on the road resulting from the presence of animals.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="alive" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates whether the identified animals are dead (immobile) or alive (potentially mobile).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="animalPresenceType" type="D2LogicalModel:AnimalPresenceTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the nature of animals present on or near the roadway.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="animalPresenceObstructionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AnimalPresenceTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of animal presence.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="animalsOnTheRoad">
        <xs:annotation>
          <xs:documentation>Traffic may be disrupted due to animals on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="herdOfAnimalsOnTheRoad">
        <xs:annotation>
          <xs:documentation>Traffic may be disrupted due to a herd of animals on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="largeAnimalsOnTheRoad">
        <xs:annotation>
          <xs:documentation>Traffic may be disrupted due to large animals on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Area">
    <xs:annotation>
      <xs:documentation>A geographic or geometric defined area which may be qualified by height information to provide additional geospatial descrimination (e.g. for snow in an area but only above a certain altitude).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Location">
        <xs:sequence>
          <xs:element name="alertCArea" type="D2LogicalModel:AlertCArea" minOccurs="0" maxOccurs="1" />
          <xs:element name="tpegareaLocation" type="D2LogicalModel:TPEGAreaLocation" minOccurs="0" maxOccurs="1" />
          <xs:element name="areaExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AreaDestination">
    <xs:annotation>
      <xs:documentation>The specification of the destination of a defined route or itinerary which is an area.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Destination">
        <xs:sequence>
          <xs:element name="area" type="D2LogicalModel:Area" minOccurs="1" maxOccurs="1" />
          <xs:element name="areaDestinationExtension" 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="AssociatedMaintenanceVehicles">
    <xs:annotation>
      <xs:documentation>Details of the maintenance vehicles involved in the roadworks activity.#NOTES#
</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="numberOfMaintenanceVehicles" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of maintenance vehicles associated with the roadworks activities at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maintenanceVehicleActions" type="D2LogicalModel:MaintenanceVehicleActionsEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The actions of the maintenance vehicles associated with the roadworks activities.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="associatedMaintenanceVehiclesExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AtoD" abstract="true">
    <xs:annotation>
      <xs:documentation>Enumerations alphabetically ordered between A and D.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="dayGroupEnum" type="D2LogicalModel:DayGroupEnum" />
      <xs:element name="computationMethodEnum" type="D2LogicalModel:ComputationMethodEnum" />
      <xs:element name="atoDExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
      <xs:element name="carParkConfigurationEnum" type="D2LogicalModel:CarParkConfigurationEnum" />
      <xs:element name="authorityOperationTypeEnum" type="D2LogicalModel:AuthorityOperationTypeEnum" />
      <xs:element name="comparisonOperatorEnum" type="D2LogicalModel:ComparisonOperatorEnum" />
      <xs:element name="dataClassEnum" type="D2LogicalModel:DataClassEnum" />
      <xs:element name="abnormalTrafficTypeEnum" type="D2LogicalModel:AbnormalTrafficTypeEnum" />
      <xs:element name="delaysTypeEnum" type="D2LogicalModel:DelaysTypeEnum" />
      <xs:element name="diversionAdviceEnum" type="D2LogicalModel:DiversionAdviceEnum" />
      <xs:element name="confidentialityValueEnum" type="D2LogicalModel:ConfidentialityValueEnum" />
      <xs:element name="countryEnum" type="D2LogicalModel:CountryEnum" />
      <xs:element name="datexPictogramEnum" type="D2LogicalModel:DatexPictogramEnum" />
      <xs:element name="carParkStatusEnum" type="D2LogicalModel:CarParkStatusEnum" />
      <xs:element name="animalPresenceTypeEnum" type="D2LogicalModel:AnimalPresenceTypeEnum" />
      <xs:element name="disturbanceActivityTypeEnum" type="D2LogicalModel:DisturbanceActivityTypeEnum" />
      <xs:element name="constructionWorkTypeEnum" type="D2LogicalModel:ConstructionWorkTypeEnum" />
      <xs:element name="delayCodeEnum" type="D2LogicalModel:DelayCodeEnum" />
      <xs:element name="dayEnum" type="D2LogicalModel:DayEnum" />
      <xs:element name="causeTypeEnum" type="D2LogicalModel:CauseTypeEnum" />
      <xs:element name="accidentTypeEnum" type="D2LogicalModel:AccidentTypeEnum" />
      <xs:element name="dangerousGoodRegulationsEnum" type="D2LogicalModel:DangerousGoodRegulationsEnum" />
      <xs:element name="areaOfInterestEnum" type="D2LogicalModel:AreaOfInterestEnum" />
      <xs:element name="accidentCauseEnum" type="D2LogicalModel:AccidentCauseEnum" />
      <xs:element name="drivingConditionTypeEnum" type="D2LogicalModel:DrivingConditionTypeEnum" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AuthorityOperationTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of authority operations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="policeCheckPoint">
        <xs:annotation>
          <xs:documentation>A permanent or temporary operation established on or adjacent to the carriageway for use by police or other authorities.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="policeInvestigation">
        <xs:annotation>
          <xs:documentation>A temporary operation established on or adjacent to the carriageway by the police associated with an ongoing investigation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="survey">
        <xs:annotation>
          <xs:documentation>A permanent or temporary operation established on or adjacent to the carriageway for the purpose of gathering statistics or other traffic related information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleInspectionCheckPoint">
        <xs:annotation>
          <xs:documentation>A permanent or temporary operation established on or adjacent to the carriageway for inspection of vehicles by authorities (e.g. vehicle saftey checks and tachograph checks).</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="AxleSpacing">
    <xs:annotation>
      <xs:documentation>The spacing details between the axle sets of an individual vehicle numbered from the front to the back of the vehicle. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="axleSpacing" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The spacing interval, indicated by the axleSpacingSequenceIdentifier, between the axles of an individual vehicle from front to back of the vehicle. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="axleSpacingSequenceIdentifier" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the sequence of intervals between the axles of the individual vehicle from front to back (e.g. 1, 2, 3...).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="axleSpacingExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AxlesPerHour">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="AxleWeight">
    <xs:annotation>
      <xs:documentation>The weight details of a specific axle set of an individual vehicle. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="axleSequenceIdentifier" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the sequence of the axle set of the individual vehicle numbered from front to back (e.g. 1, 2, 3...).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="axleWeight" type="D2LogicalModel:Tonnes" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The weight of the axle, indicated by the axleSequenceIdentifier, of an individual vehicle numbered from front to back of this vehicle. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="maximumPermittedAxleWeight" type="D2LogicalModel:Tonnes" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The maximum permitted weight of any individual axle on the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="axleWeightExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BasicDataValue" abstract="true">
    <xs:annotation>
      <xs:documentation>Generic data values of either measured or elaborated data.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="accuracy" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The extent to which the data value may be subject to error, measured as a percentage of the data value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="computationalMethod" type="D2LogicalModel:ComputationMethodEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Method of computation which has been used to compute this data value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="fault" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication of whether the value is deemed to be faulty by the supplier, (true = faulty). 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="faultReason" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The reason why the value is deemed to be faulty by the supplier.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="numberOfIncompleteInputs" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <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:element>
      <xs:element name="numberOfInputValuesUsed" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <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:element>
      <xs:element name="period" 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="smoothingFactor" type="D2LogicalModel:Float" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Coefficient required, when a moving average is computed, to give specific weights to the former average and the new data value. A typical formula is, F being the smoothing factor: New average = (old average) F + (new data) (1 - F).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="standardDeviation" type="D2LogicalModel:Float" minOccurs="0" maxOccurs="1">
        <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:element>
      <xs:element name="supplierCalculatedDataQuality" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1">
        <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:element>
      <xs:element name="time" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Point in time at which this specific value has been computed or measured.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="affectedLocation" type="D2LogicalModel:GroupOfLocations" minOccurs="0" maxOccurs="1" />
      <xs:element name="basicDataValueExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Boolean">
    <xs:restriction base="xs:boolean" />
  </xs:simpleType>
  <xs:simpleType name="CarParkConfigurationEnum">
    <xs:annotation>
      <xs:documentation>Types of configuration/layout of a car park.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="multiStorey">
        <xs:annotation>
          <xs:documentation>Parking is on multiple levels within a car park building.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndRide">
        <xs:annotation>
          <xs:documentation>Car parking facility is associated with a park and ride service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="singleLevel">
        <xs:annotation>
          <xs:documentation>Parking is on a single ground floor level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="underground">
        <xs:annotation>
          <xs:documentation>Parking is on one or more floors below ground level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CarParks">
    <xs:annotation>
      <xs:documentation>Provides information on the status of one or more car parks.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonRoadEventInformation">
        <xs:sequence>
          <xs:element name="carParkConfiguration" type="D2LogicalModel:CarParkConfigurationEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The configuration/layout of a car park.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="carParkIdentity" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The identity of one or a group of car parks.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="carParkOccupancy" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The percentage value of car parking spaces occupied.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="carParkStatus" type="D2LogicalModel:CarParkStatusEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the status of one or more specified car parks.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="exitRate" type="D2LogicalModel:VehiclesPerHour" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The rate at which vehicles are exiting the car park.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="fillRate" type="D2LogicalModel:VehiclesPerHour" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The rate at which vehicles are entering the car park.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="numberOfVacantParkingSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the number of vacant parking spaces available in a specified parking area.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="occupiedSpaces" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Number of currently occupied spaces.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="queueingTime" type="D2LogicalModel:Time" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The current queuing time for entering the car park.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="totalCapacity" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Total number of car parking spaces.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="carParksExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="CarParkStatusEnum">
    <xs:annotation>
      <xs:documentation>Collection of statuses which may be associated with car parks.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="carParkClosed">
        <xs:annotation>
          <xs:documentation>The specified car park is closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="allCarParksFull">
        <xs:annotation>
          <xs:documentation>All car parks are full within a specified area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carParkFacilityFaulty">
        <xs:annotation>
          <xs:documentation>The specified car parking facility is not operating normally.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carParkFull">
        <xs:annotation>
          <xs:documentation>A specified car park is completely occupied.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carParkStatusUnknown">
        <xs:annotation>
          <xs:documentation>The status of the specified car park(s) is unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="enoughSpacesAvailable">
        <xs:annotation>
          <xs:documentation>Specified car parks have car-parking spaces available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="multiStoryCarParksFull">
        <xs:annotation>
          <xs:documentation>Multi level car parks are fully occupied.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noMoreParkingSpacesAvailable">
        <xs:annotation>
          <xs:documentation>Specified car parks are fully occupied.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noParkAndRideInformation">
        <xs:annotation>
          <xs:documentation>No park and ride information will be available until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noParkingAllowed">
        <xs:annotation>
          <xs:documentation>No parking allowed until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noParkingInformationAvailable">
        <xs:annotation>
          <xs:documentation>Car-parking information is not available until a specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="normalParkingRestrictionsLifted">
        <xs:annotation>
          <xs:documentation>The parking restrictions that normally apply in the specified location have been temporarily lifted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onlyAFewSpacesAvailable">
        <xs:annotation>
          <xs:documentation>Specified car parks have 95% or greater occupancy.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndRideServiceNotOperating">
        <xs:annotation>
          <xs:documentation>Park and ride services are not operating until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkAndRideServiceOperating">
        <xs:annotation>
          <xs:documentation>Park and ride services are operating until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="specialParkingRestrictionsInForce">
        <xs:annotation>
          <xs:documentation>Parking restrictions, other than those that normally apply, are in force in a specified area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </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.</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 parrallel 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="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.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CatalogueReference">
    <xs:annotation>
      <xs:documentation>Identification of the supplier's data catalogue in a data exchange context.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="keyCatalogueReference" type="D2LogicalModel:Reference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of the supplier's data catalogue in a data exchange context.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="catalogueReferenceExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Cause" abstract="true">
    <xs:annotation>
      <xs:documentation>Contains details of the cause of a record within a situation</xs:documentation>
    </xs:annotation>
  </xs:complexType>
  <xs:simpleType name="CauseTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of causes of situations which are not managed or off network.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="accident">
        <xs:annotation>
          <xs:documentation>Accident.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="congestion">
        <xs:annotation>
          <xs:documentation>Traffic congestion.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equipmentFailure">
        <xs:annotation>
          <xs:documentation>Failure of roadside equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="infrastructureFailure">
        <xs:annotation>
          <xs:documentation>Failure of road infrastructure.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="obstruction">
        <xs:annotation>
          <xs:documentation>Obstruction (of unspecified type) on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poorWeather">
        <xs:annotation>
          <xs:documentation>Poor weather conditions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="problemsAtBorderPost">
        <xs:annotation>
          <xs:documentation>Problems at the border crossing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="problemsAtCustomPost">
        <xs:annotation>
          <xs:documentation>Problems at the customs post on the border.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="problemsOnLocalRoads">
        <xs:annotation>
          <xs:documentation>Problems (of an unspecified nature) on the local roads.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadsideEvent">
        <xs:annotation>
          <xs:documentation>A roadside event (of unspecified nature) whether planned or not.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="securityIncident">
        <xs:annotation>
          <xs:documentation>A security incident.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="terrorism">
        <xs:annotation>
          <xs:documentation>A terrorist incident.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vandalism">
        <xs:annotation>
          <xs:documentation>A vandalism incident.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="CCTVImages">
    <xs:annotation>
      <xs:documentation>Details of CCTV images which form part of a traffic view record.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="cctvUri" type="D2LogicalModel:String" minOccurs="1" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The URI of a resource from where a CCTV image relating to the traffic view record can be obtained.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="cctvimagesExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ChangedFlagEnum">
    <xs:annotation>
      <xs:documentation>List of flags to indicate what has changed in an exchage.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="catalogue">
        <xs:annotation>
          <xs:documentation>Catalogue has changed indicator.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="filter">
        <xs:annotation>
          <xs:documentation>Filter has changed indicator.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Comment">
    <xs:annotation>
      <xs:documentation>A free text comment with an optional date/time stamp that can be used by the operator to convey uncoded observations/information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comment" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A free text comment that can be used by the operator to convey uncoded observations/information.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="commentDateTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date/time at which the comment was made.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="commentExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ComparisonOperatorEnum">
    <xs:annotation>
      <xs:documentation>Logical comparison operations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="equalTo">
        <xs:annotation>
          <xs:documentation>Logical comparison operator of "equal to".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="greaterThan">
        <xs:annotation>
          <xs:documentation>Logical comparison operator of "greater than".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessThan">
        <xs:annotation>
          <xs:documentation>Logical comparison operator of "less than".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CompressionMethodEnum">
    <xs:annotation>
      <xs:documentation>Types of compression that may be used in the data exchange.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="deflate">
        <xs:annotation>
          <xs:documentation>A compression algorithm defined by RFC 1951.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gzip">
        <xs:annotation>
          <xs:documentation>The GNU zip compression utility defined by RFC 1952: GZIP 4.3 specification.</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="ConcentrationGramsPerCubicCentimetre">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="ConcentrationMicrogramsPerCubicMetre">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="ConcentrationVehiclesPerKilometre">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="Conditions">
    <xs:annotation>
      <xs:documentation>Any conditions which have the potential to degrade normal driving conditions.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="drivingConditionType" type="D2LogicalModel:DrivingConditionTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Description of the driving conditions at the specified location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="conditionsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <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:restriction>
  </xs:simpleType>
  <xs:complexType name="ConstructionWorks">
    <xs:annotation>
      <xs:documentation>Roadworks involving the construction of new infrastructure.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Roadworks">
        <xs:sequence>
          <xs:element name="constructionWorkType" type="D2LogicalModel:ConstructionWorkTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of construction work being performed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="constructionWorksExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ConstructionWorkTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of works relating to construction.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="blastingWork">
        <xs:annotation>
          <xs:documentation>Blasting or quarrying work at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="constructionWork">
        <xs:annotation>
          <xs:documentation>Construction work of a general nature at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="demolitionWork">
        <xs:annotation>
          <xs:documentation>Demolition work associated with the construction work.</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>Gibralta</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:simpleType name="CubicMetres">
    <xs:restriction base="D2LogicalModel:Float" />
  </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" minOccurs="1" maxOccurs="1" />
      <xs:element name="payloadPublication" type="D2LogicalModel:PayloadPublication" minOccurs="0" maxOccurs="1" />
      <xs:element name="d2LogicalModelExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="modelBaseVersion" use="required" fixed="1.0" />
  </xs:complexType>
  <xs:simpleType name="DangerousGoodRegulationsEnum">
    <xs:annotation>
      <xs:documentation>Types of dangerous goods regulations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="ADR">
        <xs:annotation>
          <xs:documentation>European agreement on the international carriage of dangerous goods on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="iataIcao">
        <xs:annotation>
          <xs:documentation>Regulations covering the international transportation of dangerous goods issued by the International Air Transport Association and the International Civil Aviation Organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="imoImdg">
        <xs:annotation>
          <xs:documentation>Regulations regarding the transportation of dangerous goods on ocean-going vessels issued by the International Maritime Organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railroadDangerousGoodsBook">
        <xs:annotation>
          <xs:documentation>International regulations concerning the international carriage of dangerous goods by rail.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DataClassEnum">
    <xs:annotation>
      <xs:documentation>Classes of data contained in a data exchange.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="abnormalTraffic">
        <xs:annotation>
          <xs:documentation>Abnormal traffic information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="accident">
        <xs:annotation>
          <xs:documentation>Accident information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="activity">
        <xs:annotation>
          <xs:documentation>Activity information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="elaboratedData">
        <xs:annotation>
          <xs:documentation>Elaborated data information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="elaboratedTravelTime">
        <xs:annotation>
          <xs:documentation>Elaborated travel time information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="information">
        <xs:annotation>
          <xs:documentation>Information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="massData">
        <xs:annotation>
          <xs:documentation>Mass data information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="obstruction">
        <xs:annotation>
          <xs:documentation>Obstruction information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="operatorAction">
        <xs:annotation>
          <xs:documentation>Operator action information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="planActivation">
        <xs:annotation>
          <xs:documentation>Plan activation information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poorDrivingConditions">
        <xs:annotation>
          <xs:documentation>Poor driving conditions information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="poorRoadInfrastructure">
        <xs:annotation>
          <xs:documentation>Poor road infrastructure information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadMaintenance">
        <xs:annotation>
          <xs:documentation>Road maintenance information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadsideAssistance">
        <xs:annotation>
          <xs:documentation>Roadside Assistance information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="situation">
        <xs:annotation>
          <xs:documentation>Situation information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficElement">
        <xs:annotation>
          <xs:documentation>Traffic element information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficManagement">
        <xs:annotation>
          <xs:documentation>Traffic management information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficMeasurement">
        <xs:annotation>
          <xs:documentation>Traffic measurement information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="weatherMeasurement">
        <xs:annotation>
          <xs:documentation>Weather measurement information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Date">
    <xs:simpleContent>
      <xs:extension base="xs:date" />
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="DateTime">
    <xs:simpleContent>
      <xs:extension base="xs:dateTime" />
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="DatexPictogramEnum">
    <xs:annotation>
      <xs:documentation>Types of pictograms.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="advisorySpeed">
        <xs:annotation>
          <xs:documentation>Advisory speed limit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="blankVoid">
        <xs:annotation>
          <xs:documentation>Blank or void.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="chainsOrSnowTyresRecommended">
        <xs:annotation>
          <xs:documentation>Chains or snow tyres are recommended.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="crossWind">
        <xs:annotation>
          <xs:documentation>Cross wind.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="drivingOfVehiclesLessThanXMetresApartProhibited">
        <xs:annotation>
          <xs:documentation>The driving of vehicles less than X metres apart is prohibited.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="endOfAdvisorySpeed">
        <xs:annotation>
          <xs:documentation>End of advisory speed limit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="endOfProhibitionOfOvertaking">
        <xs:annotation>
          <xs:documentation>End of prohibition of overtaking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="endOfProhibitionOfOvertakingForGoodsVehicles">
        <xs:annotation>
          <xs:documentation>End of prohibition of overtaking for goods vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="endOfSpeedLimit">
        <xs:annotation>
          <xs:documentation>End of mandatory speed limit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exitClosed">
        <xs:annotation>
          <xs:documentation>Exit closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fog">
        <xs:annotation>
          <xs:documentation>Fog.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="keepASafeDistance">
        <xs:annotation>
          <xs:documentation>Keep a safe distance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="maximumSpeedLimit">
        <xs:annotation>
          <xs:documentation>Mandatory speed limit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noEntry">
        <xs:annotation>
          <xs:documentation>No entry.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noEntryForGoodsVehicles">
        <xs:annotation>
          <xs:documentation>No entry for goods vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noEntryForVehiclesExceedingXTonnesLadenMass">
        <xs:annotation>
          <xs:documentation>No entry for vehicles exceeding X tonnes laden mass.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noEntryForVehiclesHavingAMassExceedingXTonnesOnOneAxle">
        <xs:annotation>
          <xs:documentation>No entry for vehicles having a mass exceeding X tonnes on a single axle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noEntryForVehiclesHavingAnOverallHeightExceedingXMetres">
        <xs:annotation>
          <xs:documentation>No entry for vehicles having an overall height exceeding X metres.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noEntryForVehiclesHavingAnOverallLengthExceedingXMetres">
        <xs:annotation>
          <xs:documentation>No entry for vehicles having an overall length exceeding X metres.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noEntryForVehiclesCarryingDangerousGoods">
        <xs:annotation>
          <xs:documentation>No entry for vehicles carrying dangerous goods.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="otherDanger">
        <xs:annotation>
          <xs:documentation>Danger ahead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overtakingByGoodsVehiclesProhibited">
        <xs:annotation>
          <xs:documentation>Overtaking prohibited for goods vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overtakingProhibited">
        <xs:annotation>
          <xs:documentation>Overtaking prohibited.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadClosedAhead">
        <xs:annotation>
          <xs:documentation>Road closed ahead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadworks">
        <xs:annotation>
          <xs:documentation>Roadworks.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slipperyRoad">
        <xs:annotation>
          <xs:documentation>Slippery road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snow">
        <xs:annotation>
          <xs:documentation>Snow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowTyresCompulsory">
        <xs:annotation>
          <xs:documentation>Snow types compulsory.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficCongestion">
        <xs:annotation>
          <xs:documentation>Traffic congestion and possible queues.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DayEnum">
    <xs:annotation>
      <xs:documentation>Days of the week.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="monday">
        <xs:annotation>
          <xs:documentation>Monday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tuesday">
        <xs:annotation>
          <xs:documentation>Tuesday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wednesday">
        <xs:annotation>
          <xs:documentation>Wednesday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="thursday">
        <xs:annotation>
          <xs:documentation>Thursday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="friday">
        <xs:annotation>
          <xs:documentation>Friday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="saturday">
        <xs:annotation>
          <xs:documentation>Saturday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sunday">
        <xs:annotation>
          <xs:documentation>Sunday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DayGroupEnum">
    <xs:annotation>
      <xs:documentation>A group of sequential days.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="allDaysOfWeek">
        <xs:annotation>
          <xs:documentation>All days of the week (Monday to Sunday).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mondayToFriday">
        <xs:annotation>
          <xs:documentation>Monday to Friday (inclusive).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mondayToSaturday">
        <xs:annotation>
          <xs:documentation>Monday to Saturday (inclusive).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sundayToFriday">
        <xs:annotation>
          <xs:documentation>Sunday to Friday (inclusive).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="weekend">
        <xs:annotation>
          <xs:documentation>Saturday and Sunday.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DayWeekMonth">
    <xs:annotation>
      <xs:documentation>Specification of periods defined by the intersection of days, weeks and months. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="applicableDay" type="D2LogicalModel:DayEnum" minOccurs="1" maxOccurs="7">
        <xs:annotation>
          <xs:documentation>Applicable day of the week.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="applicableWeek" type="D2LogicalModel:WeekOfMonthEnum" minOccurs="1" maxOccurs="5">
        <xs:annotation>
          <xs:documentation>Applicable week of the month (1 to 5).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="applicableMonth" type="D2LogicalModel:MonthOfYearEnum" minOccurs="1" maxOccurs="12">
        <xs:annotation>
          <xs:documentation>Applicable month of the year.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dayWeekMonthExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DelayCodeEnum">
    <xs:annotation>
      <xs:documentation>Classifications of a delay coded by length (i.e. the additional travel time).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="delayBetweenOneHourAndThreeHours">
        <xs:annotation>
          <xs:documentation>Delay between one hour and three hours.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delayBetweenThirtyMinutesAndOneHour">
        <xs:annotation>
          <xs:documentation>Delay between thirty minutes and one hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delayBetweenThreeHoursAndSixHours">
        <xs:annotation>
          <xs:documentation>Delay between three hours and six hours.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delayLessThanThirtyMinutes">
        <xs:annotation>
          <xs:documentation>Delay less than thirty minutes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delayLongerThanSixHours">
        <xs:annotation>
          <xs:documentation>Delay longer than six hours.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="negligible">
        <xs:annotation>
          <xs:documentation>Negligible delay.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Delays">
    <xs:annotation>
      <xs:documentation>The details of the delays being caused by the situation element defined in the situation record.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="delayCoded" type="D2LogicalModel:DelayCodeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The coded additional travel time due to adverse travel conditions of any kind, when compared to "normal conditions".</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="delaysType" type="D2LogicalModel:DelaysTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Course classification of the delay.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="delayTimeValue" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The value of the additional travel time due to adverse travel conditions of any kind, when compared to "normal conditions", given in seconds.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="delaysExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DelaysTypeEnum">
    <xs:annotation>
      <xs:documentation>Course classifications of a delay.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="delays">
        <xs:annotation>
          <xs:documentation>Delays on the road network as a result of any situation which causes hold-ups.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delaysOfUncertainDuration">
        <xs:annotation>
          <xs:documentation>Delays on the road network whose predicted duration cannot be estimated.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="longDelays">
        <xs:annotation>
          <xs:documentation>Delays on the road network of unusual severity.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="veryLongDelays">
        <xs:annotation>
          <xs:documentation>Delays on the road network of abnormally unusual severity.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DenyReasonEnum">
    <xs:annotation>
      <xs:documentation>Reasons for denial of a request.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="unknownReason">
        <xs:annotation>
          <xs:documentation>Reason unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wrongCatalogue">
        <xs:annotation>
          <xs:documentation>Wrong catalogue specified.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wrongFilter">
        <xs:annotation>
          <xs:documentation>Wrong filter specified.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wrongOrder">
        <xs:annotation>
          <xs:documentation>Wrong order specified.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="wrongPartner">
        <xs:annotation>
          <xs:documentation>Wrong partner specified.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Destination" abstract="true">
    <xs:annotation>
      <xs:documentation>The specification of the destination of a defined route or itinerary. This may be either a location on a network or an area location.</xs:documentation>
    </xs:annotation>
  </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:simpleType name="DirectionEnum">
    <xs:annotation>
      <xs:documentation>List of general directions of travel.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="anticlockwise">
        <xs:annotation>
          <xs:documentation>In the anticlockwise direction of travel on a ring road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clockwise">
        <xs:annotation>
          <xs:documentation>In the clockwise direction of travel on a ring road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northBound">
        <xs:annotation>
          <xs:documentation>In the north bound direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northEastBound">
        <xs:annotation>
          <xs:documentation>In the north east bound direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="eastBound">
        <xs:annotation>
          <xs:documentation>In the east bound direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southEastBound">
        <xs:annotation>
          <xs:documentation>In the south east bound direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southBound">
        <xs:annotation>
          <xs:documentation>In the south bound direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southWestBound">
        <xs:annotation>
          <xs:documentation>In the south west bound direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="westBound">
        <xs:annotation>
          <xs:documentation>In the west bound direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northWestBound">
        <xs:annotation>
          <xs:documentation>In the north west bound direction of travel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DisturbanceActivityTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of disturbance activities.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="airRaid">
        <xs:annotation>
          <xs:documentation>A situation relating to any threat from foreign air power.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="altercationOfVehicleOccupants">
        <xs:annotation>
          <xs:documentation>An altercation (argument, dispute or fight) between two or more vehicle occupants.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="assault">
        <xs:annotation>
          <xs:documentation>A situation where an assault has taken place on one or more persons.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="assetDestruction">
        <xs:annotation>
          <xs:documentation>A situation where assets of one or more persons or authorities have been destroyed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="attack">
        <xs:annotation>
          <xs:documentation>A situation where an attack on a group of people or properties has taken place.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bombAlert">
        <xs:annotation>
          <xs:documentation>A situation where a suspected or actual explosive or incendiary devices may cause disruption to traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="civilEmergency">
        <xs:annotation>
          <xs:documentation>A situation, perceived or actual, relating to a civil emergency which could disrupt traffic.  This includes large scale destruction, through events such as earthquakes, insurrection, and civil disobedience.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="crowd">
        <xs:annotation>
          <xs:documentation>A major gathering of people that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="demonstration">
        <xs:annotation>
          <xs:documentation>A public protest with the potential to disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="evacuation">
        <xs:annotation>
          <xs:documentation>A situation where a definite area is being cleared due to dangerous conditions or for security reasons.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="explosion">
        <xs:annotation>
          <xs:documentation>A situation where an explosive or incendiary device has gone off.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="explosionHazard">
        <xs:annotation>
          <xs:documentation>A situation where there is danger of an explosion which may cause disruption to traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="filterBlockade">
        <xs:annotation>
          <xs:documentation>A manned blockade of a road where only certain vehicles are allowed through.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="goSlowOperation">
        <xs:annotation>
          <xs:documentation>As a form of protest, several vehicles are driving in a convoy at a low speed which is affecting the normal traffic flow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gunfireOnRoadway">
        <xs:annotation>
          <xs:documentation>A situation involving gunfire, perceived or actual, on or near the roadway through an act of terrorism or crime, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="illVehicleOccupants">
        <xs:annotation>
          <xs:documentation>One or more occupants of a vehicle are seriously ill, possibly requiring specialist services or assistance.This may disrupt normal traffic flow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="march">
        <xs:annotation>
          <xs:documentation>A situation where people are walking together in large groups for a common purpose, with potential to disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="procession">
        <xs:annotation>
          <xs:documentation>An organised procession which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicDisturbance">
        <xs:annotation>
          <xs:documentation>A situation of public disorder, with potential to disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sabotage">
        <xs:annotation>
          <xs:documentation>A situation resulting from any act of sabotage.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="securityAlert">
        <xs:annotation>
          <xs:documentation>An official response to a perceived or actual threat of crime or terrorism, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="securityIncident">
        <xs:annotation>
          <xs:documentation>A situation related to a perceived or actual threat of crime or terrorism, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sightseersObstructingAccess">
        <xs:annotation>
          <xs:documentation>Attendees or sightseers to reported event(s) causing obstruction to access.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="strike">
        <xs:annotation>
          <xs:documentation>A situation resulting from industrial action that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="terroristIncident">
        <xs:annotation>
          <xs:documentation>A situation related to a perceived or actual threat of terrorism, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="theft">
        <xs:annotation>
          <xs:documentation>A situation where assets of one or more persons or authorities have been stollen.</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="Diversion">
    <xs:annotation>
      <xs:documentation>Supplementary diversion advice.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Advice">
        <xs:sequence>
          <xs:element name="diversionAdvice" type="D2LogicalModel:DiversionAdviceEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Advice indicating whether travellers are recommended to find and follow an alternative route around a traffic/travel situation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="diversionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="DiversionAdviceEnum">
    <xs:annotation>
      <xs:documentation>Types of diversion advice.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="compulsoryDiversionInOperation">
        <xs:annotation>
          <xs:documentation>Compulsory diversion in operation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="diversionInOperation">
        <xs:annotation>
          <xs:documentation>Diversion in operation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="diversionIsNoLongerRecommended">
        <xs:annotation>
          <xs:documentation>Diversion is no longer recommended.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doNotFollowDiversionSigns">
        <xs:annotation>
          <xs:documentation>Do not follow diversion signs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="followDiversionSigns">
        <xs:annotation>
          <xs:documentation>Follow diversion signs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="followLocalDiversion">
        <xs:annotation>
          <xs:documentation>Follow local diversion.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="followSigns">
        <xs:annotation>
          <xs:documentation>Follow signs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="followSpecialDiversionMarkers">
        <xs:annotation>
          <xs:documentation>Follow special diversion markers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyLorriesAreRecommendedToAvoidTheArea">
        <xs:annotation>
          <xs:documentation>Heavy lorries are recommended to avoid the area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="localDriversAreRecommendedToAvoidTheArea">
        <xs:annotation>
          <xs:documentation>Local drivers are recommended to avoid the area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noSuitableDiversionAvailable">
        <xs:annotation>
          <xs:documentation>No suitable diversion available.</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="DrivingConditionTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of the perceived driving conditions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="impossible">
        <xs:annotation>
          <xs:documentation>Current conditions are making driving impossible.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hazardous">
        <xs:annotation>
          <xs:documentation>Driving conditions are hazardous due to environmental conditions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="normal">
        <xs:annotation>
          <xs:documentation>Driving conditions are normal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="passableWithCare">
        <xs:annotation>
          <xs:documentation>The roadway is passable to vehicles with driver care.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Driving conditions are unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="veryHazardous">
        <xs:annotation>
          <xs:documentation>Driving conditions are very hazardous due to environmental conditions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="winterConditions">
        <xs:annotation>
          <xs:documentation>Driving conditions are consistent with those expected in winter.</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="EffectOnRoadLayoutEnum">
    <xs:annotation>
      <xs:documentation>Types of effects that roadworks may have on the road layout.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="carriagewayClosures">
        <xs:annotation>
          <xs:documentation>Roadworks are resulting in carriageway closures at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="contraflow">
        <xs:annotation>
          <xs:documentation>Roadworks are resulting in contraflow of traffic at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="laneClosures">
        <xs:annotation>
          <xs:documentation>Roadworks are resulting in lane closures at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanesDeviated">
        <xs:annotation>
          <xs:documentation>Roadworks are resulting in lane deviations at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="narrowLanes">
        <xs:annotation>
          <xs:documentation>Roadworks are resulting in narrow lanes at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="newRoadworksLayout">
        <xs:annotation>
          <xs:documentation>A new layout of lanes/carriageway has been implemeted associated with the roadworks.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="obstacleSignalling">
        <xs:annotation>
          <xs:documentation>Signs are being put out before or around an obstacle to protect drivers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadLayoutUnchanged">
        <xs:annotation>
          <xs:documentation>The existing road layout is unchanged during the period of roadworks.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temporaryTrafficLights">
        <xs:annotation>
          <xs:documentation>Traffic is being controlled by temporary traffic lights (red-yellow-green or red-green).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ElaboratedData">
    <xs:annotation>
      <xs:documentation>An identifiable 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="forecast" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication of whether this elaborated data is a forecast (true = forecast).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sourceInformation" type="D2LogicalModel:SourceInformation" minOccurs="0" maxOccurs="1" />
      <xs:element name="validity" type="D2LogicalModel:Validity" minOccurs="0" maxOccurs="1" />
      <xs:element name="basicDataValue" type="D2LogicalModel:BasicDataValue" minOccurs="1" maxOccurs="1" />
      <xs:element name="elaboratedDataExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <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="forecastDefault" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The default value for the publication of whether the elaborated data is a forecast (true = forecast).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="periodDefault" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The default value for the publication of 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="timeDefault" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The default for the publication of the time at which the values have been computed/derived.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" minOccurs="1" maxOccurs="1" />
          <xs:element name="referenceSettings" type="D2LogicalModel:ReferenceSettings" minOccurs="0" maxOccurs="1" />
          <xs:element name="elaboratedData" type="D2LogicalModel:ElaboratedData" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="elaboratedDataPublicationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="EnvironmentalObstruction">
    <xs:annotation>
      <xs:documentation>An obstruction on the road resulting from an environmental cause.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="depth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The depth of flooding or of snow on the road.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="environmentalObstructionType" type="D2LogicalModel:EnvironmentalObstructionTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Characterization of an obstruction on the road resulting from an environmental cause.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="environmentalObstructionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="EnvironmentalObstructionTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of environmental obstructions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="avalanches">
        <xs:annotation>
          <xs:documentation>The road may be obstructed or partially obstructed due to snowslides.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="earthquakeDamage">
        <xs:annotation>
          <xs:documentation>The road may be obstructed or partially obstructed because of damage caused by an earthquake.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fallenTrees">
        <xs:annotation>
          <xs:documentation>The road is obstructed or partially obstructed by one or more fallen trees.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="flashFloods">
        <xs:annotation>
          <xs:documentation>The road may become quickly inundated by powerful floodwaters due to heavy rain nearby.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="flooding">
        <xs:annotation>
          <xs:documentation>The road is obstructed or partially obstructed by flood water.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="grassFire">
        <xs:annotation>
          <xs:documentation>Traffic may be disrupted due to a grass fire adjacent to the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="landslips">
        <xs:annotation>
          <xs:documentation>The road may be obstructed or partially obstructed due to landslides.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mudSlide">
        <xs:annotation>
          <xs:documentation>The road may be obstructed or partially obstructed due to mudslides.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rockfalls">
        <xs:annotation>
          <xs:documentation>The road may be obstructed or partially obstructed due to fallen rocks.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seriousFire">
        <xs:annotation>
          <xs:documentation>Traffic may be disrupted due to a fire (other than a vehicle fire) adjacent to the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sewerOverflow">
        <xs:annotation>
          <xs:documentation>The road is obstructed or partially obstructed by overflows from one or more sewers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stormDamage">
        <xs:annotation>
          <xs:documentation>The road may be obstructed or partially obstructed by debris caused by strong winds.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="subsidence">
        <xs:annotation>
          <xs:documentation>The road surface has sunken or collapsed in places.</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="EquipmentDamageObstruction">
    <xs:annotation>
      <xs:documentation>An obstruction on the road resulting from the failure of equipment on, under, above or close to the road.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="equipmentDamageType" type="D2LogicalModel:EquipmentDamageTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Characterization of an obstruction on the road resulting from the failure of equipment on, under, above or close to the road.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="equipmentDamageObstructionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="EquipmentDamageTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of equipment damage which may have an effect on the road network.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="burstPipe">
        <xs:annotation>
          <xs:documentation>The road surface has sunken or collapsed in places due to burst pipes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="burstWaterMain">
        <xs:annotation>
          <xs:documentation>Traffic may be disrupted due to local flooding and/or subsidence because of a broken water main.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fallenPowerCables">
        <xs:annotation>
          <xs:documentation>The road is obstructed or partially obstructed by one or more fallen power cables.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gasLeak">
        <xs:annotation>
          <xs:documentation>Traffic may be disrupted due to an explosion hazard from gas escaping in or near the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadInfrastructureDamage">
        <xs:annotation>
          <xs:documentation>The road infrastructure has been damaged.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sewerCollapse">
        <xs:annotation>
          <xs:documentation>The road surface has sunken or collapsed in places due to sewer failure.</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="EtoH" abstract="true">
    <xs:annotation>
      <xs:documentation>Enumerations alphabetically ordered between E and H.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="environmentalObstructionTypeEnum" type="D2LogicalModel:EnvironmentalObstructionTypeEnum" />
      <xs:element name="effectOnRoadLayoutEnum" type="D2LogicalModel:EffectOnRoadLayoutEnum" />
      <xs:element name="etoHExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
      <xs:element name="fuelTypeEnum" type="D2LogicalModel:FuelTypeEnum" />
      <xs:element name="equipmentDamageTypeEnum" type="D2LogicalModel:EquipmentDamageTypeEnum" />
    </xs:sequence>
  </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="changedFlag" type="D2LogicalModel:ChangedFlagEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that either a filter or a catalogue has been changed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="clientIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>In a data exchange process, an identifier of the organisation or group of organisations which receives information from the DATEX II supplier system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deliveryBreak" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that a data delivery is stopped for unplanned reasons, i.e. excluding the end of the order validity (attribute FIL) or the case when the filter expression is not met (attribute OOR).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="denyReason" type="D2LogicalModel:DenyReasonEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the reason for the refusal of the requested exchange.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="historicalStartDate" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="historicalStopDate" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="keepAlive" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicator that this exchange is due to "keep alive" functionality.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="requestType" type="D2LogicalModel:RequestTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The types of request that has been made by the client on the supplier.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="response" type="D2LogicalModel:ResponseEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of the response that the supplier is returning to the requesting client.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="subscriptionReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Unique identifier of the client's subscription with the supplier.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="supplierIdentification" type="D2LogicalModel:InternationalIdentifier" minOccurs="1" maxOccurs="1" />
      <xs:element name="target" type="D2LogicalModel:Target" minOccurs="0" maxOccurs="1" />
      <xs:element name="subscription" type="D2LogicalModel:Subscription" minOccurs="0" maxOccurs="1" />
      <xs:element name="filterReference" type="D2LogicalModel:FilterReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="catalogueReference" type="D2LogicalModel:CatalogueReference" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="exchangeExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ExchangeEnumerations" abstract="true">
    <xs:annotation>
      <xs:documentation>Collection of enumerations which are used within the Exchange sub-model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="exchangeEnumerationsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
      <xs:element name="denyReasonEnum" type="D2LogicalModel:DenyReasonEnum" />
      <xs:element name="subscriptionStateEnum" type="D2LogicalModel:SubscriptionStateEnum" />
      <xs:element name="requestTypeEnum" type="D2LogicalModel:RequestTypeEnum" />
      <xs:element name="changedFlagEnum" type="D2LogicalModel:ChangedFlagEnum" />
      <xs:element name="compressionMethodEnum" type="D2LogicalModel:CompressionMethodEnum" />
      <xs:element name="updateMethodEnum" type="D2LogicalModel:UpdateMethodEnum" />
      <xs:element name="responseEnum" type="D2LogicalModel:ResponseEnum" />
      <xs:element name="operatingModeEnum" type="D2LogicalModel:OperatingModeEnum" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Extension" />
  <xs:complexType name="ExtensionType">
    <xs:sequence>
      <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FilterExitManagement">
    <xs:annotation>
      <xs:documentation>Filter indicators management information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="filterEnd" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>This attribute, set to true, indicates that the filter, for which a previous record version has been published, becomes inactive.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="filterOutOfRange" type="D2LogicalModel:Boolean" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>This attribute is set to true when a previous version of this record has been published and now, for this new record version, the record goes out of the filter range.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="filterExitManagementExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FilterReference">
    <xs:annotation>
      <xs:documentation>Details of a supplier's filter in a data exchange context.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="deleteFilter" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that a client defined filter has to be deleted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="filterOperationApproved" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that a client defined filter was either stored or deleted successfully.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="keyFilterReference" type="D2LogicalModel:Reference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The unique key identifier of a supplier applied filter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="filterReferenceExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Float">
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="FuelTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of fuel used by a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="diesel">
        <xs:annotation>
          <xs:documentation>Diesel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="liquidGas">
        <xs:annotation>
          <xs:documentation>Liquid gas of any type including LPG.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lPG">
        <xs:annotation>
          <xs:documentation>Liquid petroleum gas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="methane">
        <xs:annotation>
          <xs:documentation>Methane gas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol">
        <xs:annotation>
          <xs:documentation>Petroleum.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="General" />
  <xs:complexType name="GeneralObstruction">
    <xs:annotation>
      <xs:documentation>Any stationary or moving obstacle of a physical nature, other than of an animal, vehicle, environmental, or damaged equipment nature.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="obstructionType" type="D2LogicalModel:ObstructionTypeEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Chartacterization of the type of general obstruction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="generalObstructionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GrossWeightCharacteristic">
    <xs:annotation>
      <xs:documentation>Gross weight characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="grossVehicleWeight" type="D2LogicalModel:Tonnes" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The gross weight of the vehicle and its load, including any trailers.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="grossWeightCharacteristicExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GroupOfLocations">
    <xs:annotation>
      <xs:documentation>A group of one or more physically separate locations. Locations maybe related, as in an itinerary or route, or maybe unrelated. It is not for identifying the same physical location using different referencing systems.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="locationContainedInGroup" type="D2LogicalModel:Location" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="routeDestination" type="D2LogicalModel:Destination" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="groupOfLocationsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GroupOfLocationsByReference">
    <xs:annotation>
      <xs:documentation>A group of locations defined by reference to a predefined set of locations.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:GroupOfLocations">
        <xs:sequence>
          <xs:element name="predefinedLocationSetReference" type="D2LogicalModel:Reference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to a predefined location set.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="groupOfLocationsByReferenceExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="HazardousMaterials">
    <xs:annotation>
      <xs:documentation>Details of hazardous materials.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="chemicalName" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The chemical name of the hazardous substance carried by the vehicle.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="dangerousGoodsFlashPoint" type="D2LogicalModel:TemperatureCelsius" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The temperature at which the vapour from a hazardous substance will ignite in air.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="dangerousGoodsRegulations" type="D2LogicalModel:DangerousGoodRegulationsEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The code defining the regulations, international or national, applicable for a means of transport.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hazardCodeIdentification" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The dangerous goods description code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hazardCodeVersionNumber" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The version/revision number of date of issuance of the hazardous material code used.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hazardSubstanceItemPageNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A number giving additional hazard code classification of a goods item within the applicable dangerous goods regulation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tremCardNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The identification of a transport emergency card giving advice for emergency actions.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="uNDGNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A unique serial number assigned within the United Nations to substances and articles contained in a list of the dangerous goods most commonly carried.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="volumeOfDangerousGoods" type="D2LogicalModel:CubicMetres" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The volume of dangerous goods on the vehicle(s) reported in a traffic/travel situation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="weightOfDangerousGoods" type="D2LogicalModel:Tonnes" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The weight of dangerous goods on the vehicle(s) reported in a traffic/travel situation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="hazardousMaterialsExtension" type="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 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="informationUsage" type="D2LogicalModel:InformationUsageEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The use to which the related information contained can be put.</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="HeaviestAxleWeightCharacteristic">
    <xs:annotation>
      <xs:documentation>Weight characteristic of the heaviest axle on the vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heaviestAxleWeight" type="D2LogicalModel:Tonnes" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The weight of the heaviest axle on the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heaviestAxleWeightCharacteristicExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Hectopascals">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="HeightCharacteristic">
    <xs:annotation>
      <xs:documentation>Height characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleHeight" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The height of the highest part, excluding antennae, of an individual vehicle above the road surface, in metres.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heightCharacteristicExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Impact">
    <xs:annotation>
      <xs:documentation>High level assessment of the impact that an unplanned event or operator action defined by the situation record has on the driving conditions.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="impactOnTraffic" type="D2LogicalModel:TrafficStatusEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Assessment of the impact on traffic conditions resulting from the event.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="impactDetails" type="D2LogicalModel:ImpactDetails" minOccurs="0" maxOccurs="1" />
      <xs:element name="delays" type="D2LogicalModel:Delays" minOccurs="0" maxOccurs="1" />
      <xs:element name="impactExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ImpactDetails">
    <xs:annotation>
      <xs:documentation>Detailed assessment of the impact that an unplanned event or operator action defined by the situation record has on the driving conditions.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="capacityRemaining" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The ratio of current capacity to the normal (freeflow) road capacity in the defined direction, expressed as a percentage. Capacity is the maximum number of vehicles that can pass a specified point on the road, in unit time given the specified conditions.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfLanesRestricted" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of normally operational lanes on the carriageway which are now restricted either fully or partially.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfOperationalLanes" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of lanes in the specified direction which remain fully operational.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="originalNumberOfLanes" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The normal number of lanes in the specified direction that the carriageway has before reduction due to roadworks or traffic events.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trafficRestrictionType" type="D2LogicalModel:TrafficRestrictionTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of restriction to which traffic is subjected as a result of an unplanned event.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="impactDetailsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="IndividualVehicleMeasurements">
    <xs:annotation>
      <xs:documentation>Measurements relating to individual vehicles.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficValue">
        <xs:sequence>
          <xs:element name="vehicleSpeed" type="D2LogicalModel:VehicleSpeed" minOccurs="0" maxOccurs="1" />
          <xs:element name="vehicleDetectionTime" type="D2LogicalModel:VehicleDetectionTime" minOccurs="0" maxOccurs="1" />
          <xs:element name="vehicleHeadway" type="D2LogicalModel:VehicleHeadway" minOccurs="0" maxOccurs="1" />
          <xs:element name="individualVehicleMeasurementsExtension" 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:simpleType name="InformationUsageEnum">
    <xs:annotation>
      <xs:documentation>Types of usage to which information can be put.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="broadcast">
        <xs:annotation>
          <xs:documentation>For broadcast usage to any interested party.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="internal">
        <xs:annotation>
          <xs:documentation>For internal usage within the recipient organisation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="internet">
        <xs:annotation>
          <xs:documentation>For support of Internet services.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="variableMessageSign">
        <xs:annotation>
          <xs:documentation>For variable message sign usage.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InjuryStatusTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of injury status of people.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="dead">
        <xs:annotation>
          <xs:documentation>Dead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seriouslyInjured">
        <xs:annotation>
          <xs:documentation>Seriously injured requiring urgent hospital treatment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slightInjury">
        <xs:annotation>
          <xs:documentation>Slightly injured requiring medical treatment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="uninjured">
        <xs:annotation>
          <xs:documentation>Uninjured.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Injury status unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Instructions">
    <xs:annotation>
      <xs:documentation>Supplementary instructions advice.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Advice">
        <xs:sequence>
          <xs:element name="instruction" type="D2LogicalModel:InstructionsEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Additional information of an instructional nature that can be provided to travellers.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="instructionsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="InstructionsEnum">
    <xs:annotation>
      <xs:documentation>Collection of instruction for drivers.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="allowEmergencyVehiclesToPass">
        <xs:annotation>
          <xs:documentation>Allow emergency vehicles to pass.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="approachWithCare">
        <xs:annotation>
          <xs:documentation>Approach with care.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clearALaneForEmergencyVehicles">
        <xs:annotation>
          <xs:documentation>Clear a lane for emergency vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clearALaneForSnowploughsAndGrittingVehicles">
        <xs:annotation>
          <xs:documentation>Clear a lane for snow ploughs and gritting vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="closeAllWindowsTurnOffHeaterAndVents">
        <xs:annotation>
          <xs:documentation>Close all windows and turn off heater and vents.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="crossJunctionWithCare">
        <xs:annotation>
          <xs:documentation>Cross junction with care.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doNotAllowUnnecessaryGaps">
        <xs:annotation>
          <xs:documentation>Do not allow unnecessary gaps.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doNotDriveOnTheHardShoulder">
        <xs:annotation>
          <xs:documentation>Do not drive on the hard shoulder.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doNotLeaveYourVehicle">
        <xs:annotation>
          <xs:documentation>Do not leave your vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doNotSlowdownUnnecessarily">
        <xs:annotation>
          <xs:documentation>Do not slow down unnecessarily.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="doNotThrowOutAnyBurningObjects">
        <xs:annotation>
          <xs:documentation>Do not throw out any burning objects.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="driveCarefully">
        <xs:annotation>
          <xs:documentation>Drive carefully.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="driveWithExtremeCaution">
        <xs:annotation>
          <xs:documentation>Drive with extreme caution.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="followTheVehicleInFrontSmoothly">
        <xs:annotation>
          <xs:documentation>Follow the vehicle in front, smoothly.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="increaseNormalFollowingDistance">
        <xs:annotation>
          <xs:documentation>Increase normal following distance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inEmergencyWaitForPolicePatrol">
        <xs:annotation>
          <xs:documentation>In emergency, wait for police patrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="keepYourDistance">
        <xs:annotation>
          <xs:documentation>Keep your distance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="leaveYourVehicleProceedToNextSafePlace">
        <xs:annotation>
          <xs:documentation>Leave your vehicle and proceed to next save place.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noNakedFlames">
        <xs:annotation>
          <xs:documentation>No naked flames.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noOvertaking">
        <xs:annotation>
          <xs:documentation>No overtaking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noSmoking">
        <xs:annotation>
          <xs:documentation>No smoking.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="observeSignals">
        <xs:annotation>
          <xs:documentation>Observe signals.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="observeSigns">
        <xs:annotation>
          <xs:documentation>Observe signs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onlyTravelIfAbsolutelyNecessary">
        <xs:annotation>
          <xs:documentation>Only travel if absolutely necessary.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overtakeWithCare">
        <xs:annotation>
          <xs:documentation>Overtake with care.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pleaseUseBusService">
        <xs:annotation>
          <xs:documentation>Please use bus service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pleaseUseRailService">
        <xs:annotation>
          <xs:documentation>Please use rail service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pleaseUseTramService">
        <xs:annotation>
          <xs:documentation>Please use tram service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pleaseUseUndergroundService">
        <xs:annotation>
          <xs:documentation>Please use underground service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pullOverToTheEdgeOfTheRoadway">
        <xs:annotation>
          <xs:documentation>Pull over to the edge of the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stopAtNextSafePlace">
        <xs:annotation>
          <xs:documentation>Stop at next safe place.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stopAtNextServiceArea">
        <xs:annotation>
          <xs:documentation>Stop at next rest service area or car park.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="switchOffEngine">
        <xs:annotation>
          <xs:documentation>Switch off engine.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="switchOffMobilePhonesAndTwoWayRadios">
        <xs:annotation>
          <xs:documentation>Switch off mobile phones and two-way radios.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="testYourBrakes">
        <xs:annotation>
          <xs:documentation>Test your brakes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useFogLights">
        <xs:annotation>
          <xs:documentation>Use fog lights.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useHardShoulderAsLane">
        <xs:annotation>
          <xs:documentation>Use hard shoulder as lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useHazardWarningLights">
        <xs:annotation>
          <xs:documentation>Use hazard warning lights.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useHeadlights">
        <xs:annotation>
          <xs:documentation>Use headlights.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waitForEscortVehicle">
        <xs:annotation>
          <xs:documentation>Wait for escort vehicle.</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="Integer">
    <xs:restriction base="xs:integer" />
  </xs:simpleType>
  <xs:simpleType name="IntensityKilogrammesPerSquareMetre">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="IntensityMillimetresPerHour">
    <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:simpleType name="InvolvementRolesEnum">
    <xs:annotation>
      <xs:documentation>Involvement role of a person in event.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="cyclist">
        <xs:annotation>
          <xs:documentation>Cyclist.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pedestrian">
        <xs:annotation>
          <xs:documentation>Pedestrian.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Involvement role is unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleDriver">
        <xs:annotation>
          <xs:documentation>Vehicle driver.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleOccupant">
        <xs:annotation>
          <xs:documentation>Vehicle occupant (driver or passenger not specified).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehiclePassenger">
        <xs:annotation>
          <xs:documentation>Vehicle passenger.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="witness">
        <xs:annotation>
          <xs:documentation>Witness.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ItoM" abstract="true">
    <xs:annotation>
      <xs:documentation>Enumerations alphabetically ordered between I and M.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="itoMExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
      <xs:element name="instructionsEnum" type="D2LogicalModel:InstructionsEnum" />
      <xs:element name="injuryStatusTypeEnum" type="D2LogicalModel:InjuryStatusTypeEnum" />
      <xs:element name="loadTypeEnum" type="D2LogicalModel:LoadTypeEnum" />
      <xs:element name="mobilityEnum" type="D2LogicalModel:MobilityEnum" />
      <xs:element name="maintenanceVehicleActionsEnum" type="D2LogicalModel:MaintenanceVehicleActionsEnum" />
      <xs:element name="matrixFaultEnum" type="D2LogicalModel:MatrixFaultEnum" />
      <xs:element name="informationStatusEnum" type="D2LogicalModel:InformationStatusEnum" />
      <xs:element name="involvementRolesEnum" type="D2LogicalModel:InvolvementRolesEnum" />
      <xs:element name="laneUsageEnum" type="D2LogicalModel:LaneUsageEnum" />
      <xs:element name="informationUsageEnum" type="D2LogicalModel:InformationUsageEnum" />
      <xs:element name="measuredOrDerivedDataTypeEnum" type="D2LogicalModel:MeasuredOrDerivedDataTypeEnum" />
      <xs:element name="logicalOperatorEnum" type="D2LogicalModel:LogicalOperatorEnum" />
      <xs:element name="monthOfYearEnum" type="D2LogicalModel:MonthOfYearEnum" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Kilohertz">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="KilometresPerHour">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="LanesEnum">
    <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 carriagways 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:complexType name="LaneUsage">
    <xs:annotation>
      <xs:documentation>Supplementary lane usage advice.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Advice">
        <xs:sequence>
          <xs:element name="laneUsageAdvice" type="D2LogicalModel:LaneUsageEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Additional information advising of potential lane usage that can be provided to travellers.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="laneUsageExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="LaneUsageEnum">
    <xs:annotation>
      <xs:documentation>Types of lane usage.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="heavyVehiclesUseLeftLane">
        <xs:annotation>
          <xs:documentation>Heavy vehicles use left lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyVehiclesUseRightLane">
        <xs:annotation>
          <xs:documentation>Heavy vehicles use right lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="keepToTheLeft">
        <xs:annotation>
          <xs:documentation>Keep to the left.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="keepToTheRight">
        <xs:annotation>
          <xs:documentation>Keep to the right.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useBusLane">
        <xs:annotation>
          <xs:documentation>Use the bus lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useHardShoulder">
        <xs:annotation>
          <xs:documentation>Use the hard shoulder as a lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useHeavyVehicleLane">
        <xs:annotation>
          <xs:documentation>Use heavy vehicle lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useLeftHandParallelCarriageway">
        <xs:annotation>
          <xs:documentation>Use left-hand parallel carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useLeftLane">
        <xs:annotation>
          <xs:documentation>Use left lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useLocalTrafficLanes">
        <xs:annotation>
          <xs:documentation>Use local traffic lanes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useRightHandParallelCarriageway">
        <xs:annotation>
          <xs:documentation>Use right-hand parallel carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useRightLane">
        <xs:annotation>
          <xs:documentation>Use right lane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useThroughTrafficLanes">
        <xs:annotation>
          <xs:documentation>Use through traffic lanes.</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="LengthCharacteristic">
    <xs:annotation>
      <xs:documentation>Length characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleLength" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The overall distance between the front and back of an individual vehicle, including the length of any trailers, couplings, etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lengthCharacteristicExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LifeCycleManagement">
    <xs:annotation>
      <xs:documentation>Information relating to the life cycle management of the situation record.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="cancel" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indication that all the element information previously sent is not considered valid, due to an incorrect content.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="end" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A binary attribute specifying whether the situation element is finished (yes) or not (no).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="lifeCycleManagementExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Linear">
    <xs:annotation>
      <xs:documentation>A linear section along a road with optional directionality defined between two points on the road. </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NetworkLocation">
        <xs:sequence>
          <xs:element name="tpeglinearLocation" type="D2LogicalModel:TPEGLinearLocation" minOccurs="0" maxOccurs="1" />
          <xs:element name="alertCLinear" type="D2LogicalModel:AlertCLinear" minOccurs="0" maxOccurs="1" />
          <xs:element name="referencePointLinear" type="D2LogicalModel:ReferencePointLinear" minOccurs="0" maxOccurs="1" />
          <xs:element name="linearExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearTrafficView">
    <xs:annotation>
      <xs:documentation>An identifiable instance of a linear traffic view at a single point in time relating to a linear section of road, comprising one or more traffic view records.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="linearPredefinedLocationReference" type="D2LogicalModel:Reference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a predefined location which is of type linear.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trafficViewRecord" type="D2LogicalModel:TrafficViewRecord" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="linearTrafficViewExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:simpleType name="LoadTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of load carried by a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="abnormalLoad">
        <xs:annotation>
          <xs:documentation>A load that exceeds normal vehicle dimensions in terms of height, length, width, gross vehicle weight or axle weight or any combination of these. Generally termed an "abnormal load".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ammunition">
        <xs:annotation>
          <xs:documentation>Ammunition.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="chemicals">
        <xs:annotation>
          <xs:documentation>Chemicals of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="combustibleMaterials">
        <xs:annotation>
          <xs:documentation>Combustible materials of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="corrosiveMaterials">
        <xs:annotation>
          <xs:documentation>Corrosive materials of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="debris">
        <xs:annotation>
          <xs:documentation>Debris of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="explosiveMaterials">
        <xs:annotation>
          <xs:documentation>Explosive materials of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extraHighLoad">
        <xs:annotation>
          <xs:documentation>A load of exceptional height.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extraLongLoad">
        <xs:annotation>
          <xs:documentation>A load of exceptional length.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extraWideLoad">
        <xs:annotation>
          <xs:documentation>A load of exceptional width.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fuel">
        <xs:annotation>
          <xs:documentation>Fuel of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="glass">
        <xs:annotation>
          <xs:documentation>Glass.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hazardousMaterials">
        <xs:annotation>
          <xs:documentation>Materials classed as being of a hazardous nature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="livestock">
        <xs:annotation>
          <xs:documentation>Livestock.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="materials">
        <xs:annotation>
          <xs:documentation>General materials of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="materialsDangerousForPeople">
        <xs:annotation>
          <xs:documentation>Materials classed as being of a danger to people or animals.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="materialsDangerousForTheEnvironment">
        <xs:annotation>
          <xs:documentation>Materials classed as being potentially dangerous to the environment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="oil">
        <xs:annotation>
          <xs:documentation>Oil.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ordinary">
        <xs:annotation>
          <xs:documentation>Materials that present limited environmental or health risk. Non-combustible, non-toxic, non-corrosive.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="perishableProducts">
        <xs:annotation>
          <xs:documentation>Products or produce that will significantly degrade in quality or freshness over a short period of time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrol">
        <xs:annotation>
          <xs:documentation>Petrol.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pharmaceuticalMaterials">
        <xs:annotation>
          <xs:documentation>Pharmaceutical materials.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="radioactiveMaterials">
        <xs:annotation>
          <xs:documentation>Materials that emit significant quantities of electro-magnetic radiation that may present a risk to people, animals or the environment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="refuse">
        <xs:annotation>
          <xs:documentation>Refuse.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="toxicMaterials">
        <xs:annotation>
          <xs:documentation>Materials of a toxic nature which may damage the environment or endanger public health.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicles">
        <xs:annotation>
          <xs:documentation>Vehicles of any type which are being transported.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs: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:sequence>
      <xs:element name="locationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LocationByReference">
    <xs:annotation>
      <xs:documentation>A location defined by reference to a predefined location.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Location">
        <xs:sequence>
          <xs:element name="predefinedLocationReference" type="D2LogicalModel:Reference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to a predefined location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="locationByReferenceExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationCharacteristicsOverride">
    <xs:annotation>
      <xs:documentation>Location characteristics which override values set in the referenced measurement point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="measurementLanesOverride" type="D2LogicalModel:LanesEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Overrides for this single measured value instance the lane(s) defined for the set of measurements.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="reversedFlow" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that the direction of flow for the measured lane(s) is the reverse of the normal direction of traffic flow.  Default is "no", which indicates traffic flow is in the normal sense as defined by the referenced measurement point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="locationCharacteristicsOverrideExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </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="inGallery">
        <xs:annotation>
          <xs:documentation>In galley.</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="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="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:complexType name="LocationEnumations" abstract="true">
    <xs:annotation>
      <xs:documentation>Enumerations used within the location referencing sub-model except those for specific location referencing sub-models (e.g. TPEG-Loc) which are listed separately.</xs:documentation>
    </xs:annotation>
  </xs:complexType>
  <xs:complexType name="LocationEnumerations" />
  <xs:simpleType name="LogicalOperatorEnum">
    <xs:annotation>
      <xs:documentation>Logical operators.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="and">
        <xs:annotation>
          <xs:documentation>Logical operator "AND".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="or">
        <xs:annotation>
          <xs:documentation>Logical operator "OR".</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MaintenanceVehicleActionsEnum">
    <xs:annotation>
      <xs:documentation>Types of maintenance vehicle actions associated with roadworks.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="maintenanceVehiclesMergingIntoTrafficFlow">
        <xs:annotation>
          <xs:documentation>Maintenance vehicles are merging into the traffic flow creating a potential hazard for road users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="saltAndGritSpreading">
        <xs:annotation>
          <xs:documentation>Maintenance vehicle(s) are spreading salt and/or grit.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slowMoving">
        <xs:annotation>
          <xs:documentation>Maintenance vehicles are slow moving.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowClearing">
        <xs:annotation>
          <xs:documentation>Maintenance vehicle(s) are involved in the clearance of snow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stoppingToServiceEquipments">
        <xs:annotation>
          <xs:documentation>Maintenance vehicles are stopping to service equipments on or next to the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MaintenanceWorks">
    <xs:annotation>
      <xs:documentation>Roadworks involving the maintenance or installation of infrastructure.#NOTES#
</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Roadworks">
        <xs:sequence>
          <xs:element name="roadMaintenanceType" type="D2LogicalModel:RoadMaintenanceTypeEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The type of road maintenance or installation work at the specified location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="maintenanceWorksExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MalfunctioningTrafficControls">
    <xs:annotation>
      <xs:documentation>Malfunctioning or failed traffic control equipments.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="malfunctioningTrafficControlEquipmentType" type="D2LogicalModel:TrafficControlEquipmentTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of traffic control equipment which is malfunctioning or has failed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfMalfunctioningTrafficControlEquipments" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of traffic control equipments which are malfunctioning or have failed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="malfunctioningTrafficControlsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ManagedCause">
    <xs:annotation>
      <xs:documentation>Contains a reference to another situation record which defines a cause of the event defined here.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Cause">
        <xs:sequence>
          <xs:element name="managedCause" type="D2LogicalModel:Reference" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to another situation record which defines a cause of the event defined here.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="managedCauseExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Management">
    <xs:annotation>
      <xs:documentation>Information relating to the management of the situation record.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="lifeCycleManagement" type="D2LogicalModel:LifeCycleManagement" minOccurs="0" maxOccurs="1" />
      <xs:element name="filterExitManagement" type="D2LogicalModel:FilterExitManagement" minOccurs="0" maxOccurs="1" />
      <xs:element name="managementExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ManagementDescriptiveData">
    <xs:annotation>
      <xs:documentation>General management information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="messageChain" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>This indicates the identification of previous message sender(s) of the same message when a situation element is forwarded by a recipient to a further recipient. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="managementDescriptiveDataExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MatrixFaultEnum">
    <xs:annotation>
      <xs:documentation>Types of matrix sign faults.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="communicationsFailure">
        <xs:annotation>
          <xs:documentation>Comunications failure affecting matrix sign.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="incorrectAspectDisplayed">
        <xs:annotation>
          <xs:documentation>Incorrect aspect (face) is being displayed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="powerFailure">
        <xs:annotation>
          <xs:documentation>Power to matrix sign has failed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unableToClearDown">
        <xs:annotation>
          <xs:documentation>Unable to clear down aspect displayed on matrix sign.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown matrix sign fault.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MatrixSignSetting">
    <xs:annotation>
      <xs:documentation>Details of a matrix sign and its displayed aspect.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SignSetting">
        <xs:sequence>
          <xs:element name="aspectDisplayed" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates which sign aspect (face) is being displayed.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="matrixFault" type="D2LogicalModel:MatrixFaultEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Indicates the type of fault which is being recorded for the specified matrix sign.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="matrixIdentifier" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to aid identification of the subject matrix sign.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="matrixSignSettingExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasuredDataPublication">
    <xs:annotation>
      <xs:documentation>A publication containing one or more measurement data sets, each set being measured at a single measurement site.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="measurementSiteTableReference" type="D2LogicalModel:Reference" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to a measurement site table.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" minOccurs="1" maxOccurs="1" />
          <xs:element name="siteMeasurements" type="D2LogicalModel:SiteMeasurements" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="measuredDataPublicationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="MeasuredOrDerivedDataTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of measured or derived data.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="humidityInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived humidity information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pollutionInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived pollution information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="precipitationInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived precipitation information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pressureInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived pressure information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="radiationInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived radiation information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadSurfaceConditionInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived road surface conditions information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temperatureInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived temperature information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="visibilityInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived visibility information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="windInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived wind information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="individualVehicleMeasurements">
        <xs:annotation>
          <xs:documentation>Measured or derived individual vehicle measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficConcentration">
        <xs:annotation>
          <xs:documentation>Measured or derived traffic concentration information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficFlow">
        <xs:annotation>
          <xs:documentation>Measured or derived traffic flow information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficHeadway">
        <xs:annotation>
          <xs:documentation>Measured or derived traffic headway information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficSpeed">
        <xs:annotation>
          <xs:documentation>Measured or derived traffic speed information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficStatusInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived traffic status information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="travelTimeInformation">
        <xs:annotation>
          <xs:documentation>Measured or derived travel time information.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MeasuredValue">
    <xs:annotation>
      <xs:documentation>Contains optional characteristics for the specific measured value (ordered/indexed to correspond with that of the referenced measurement point) which override the static characteristics defined for the measurement point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="measurementEquipmentTypeUsed" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of equipment used to gather the raw information from which the data values are determined, e.g. 'loop', 'ANPR' (automatic number plate recognition) or 'urban traffic management system' (such as SCOOT).</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="locationCharacteristicsOverride" type="D2LogicalModel:LocationCharacteristicsOverride" minOccurs="0" maxOccurs="1" />
      <xs:element name="basicDataValue" type="D2LogicalModel:BasicDataValue" minOccurs="1" maxOccurs="1" />
      <xs:element name="measuredValueExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MeasurementSiteRecord">
    <xs:annotation>
      <xs:documentation>An identifiable single measurement site entry/record in the Measurement Site table.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="computationMethod" type="D2LogicalModel:ComputationMethodEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Method of computation which is used to compute the measured value(s) at the measurement site.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementEquipmentReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The reference given to the measurement equipment at the site.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementEquipmentTypeUsed" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of equipment used to gather the raw information from which the data values are determined, e.g. 'loop', 'ANPR' (automatic number plate recognition) or 'urban traffic management system' (such as SCOOT).</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="measurementSiteName" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of a measurement site.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="measurementSiteNumberOfLanes" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of lanes over which the measured value is determined.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementSiteReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of a measurement site used by the supplier or consumer systems.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementSide" type="D2LogicalModel:DirectionEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Side of the road on which measurements are acquired, corresponding to the direction of the road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementSpecificCharacteristics" minOccurs="1" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="D2LogicalModel:MeasurementSpecificCharacteristics">
              <xs:attribute name="index" type="xs:int" use="required" />
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="measurementSiteLocation" type="D2LogicalModel:Location" minOccurs="1" maxOccurs="1" />
      <xs:element name="measurementSiteRecordExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:complexType name="MeasurementSiteTable">
    <xs:annotation>
      <xs:documentation>A Measurement Site Table comprising a number of sets of data, each describing the location from where a stream of measured data may be derived.  Each location is known as a "measurement site" which can be a point, a linear road section or an area.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="measurementSiteTableReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An alphanumeric reference for the measurement site table, possibly human readable. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementSiteTableVersion" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The version of the measurement site table.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementSiteRecord" type="D2LogicalModel:MeasurementSiteRecord" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="measurementSiteTableExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:complexType name="MeasurementSiteTablePublication">
    <xs:annotation>
      <xs:documentation>A publication containing one or more Measurment Site Tables.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" minOccurs="1" maxOccurs="1" />
          <xs:element name="measurementSiteTable" type="D2LogicalModel:MeasurementSiteTable" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="measurementSiteTablePublicationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasurementSpecificCharacteristics">
    <xs:annotation>
      <xs:documentation>Characteristics which are specific to an individual measurement type (specified in a known order) at the given measurement site.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="accuracy" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The extent to which the specific measured values may be subject to error, measured as a percentage of the data value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="period" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time elapsed between the beginning and the end of the sampling or measurements 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="smoothingFactor" type="D2LogicalModel:Float" minOccurs="0" maxOccurs="1">
        <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:element>
      <xs:element name="specificLane" type="D2LogicalModel:LanesEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The lane to which the specific measurement at the measurement site relates. This overrides any lane specified for the measurement site as a whole.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="specificMeasurementValueType" type="D2LogicalModel:MeasuredOrDerivedDataTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of this specific measurement at the measurement site.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="specificVehicleCharacteristics" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="1" />
      <xs:element name="measurementSpecificCharacteristicsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MegaHertz">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="MetresAsFloat">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:simpleType name="MetresAsNonNegativeInteger">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:simpleType name="MetresPerSecond">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="Mobility">
    <xs:annotation>
      <xs:documentation>Indicating whether an activity or a roadwork is mobile (e.g..  a march or parade) or static (e.g. a crowd, or sign-post maintenance).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="mobilityType" type="D2LogicalModel:MobilityEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicating whether an activity or a roadwork is mobile (e.g..  a march or parade) or static (e.g. a crowd, or sign-post maintenance).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="mobilityExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="MobilityEnum">
    <xs:annotation>
      <xs:documentation>Types of mobility relating to a situation.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="mobile">
        <xs:annotation>
          <xs:documentation>The described event is moving.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stationary">
        <xs:annotation>
          <xs:documentation>The described event is stationary.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The mobility of the described event is unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MonthOfYearEnum">
    <xs:annotation>
      <xs:documentation>A list of the months of the year.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="january">
        <xs:annotation>
          <xs:documentation>The month of January.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="february">
        <xs:annotation>
          <xs:documentation>The month of February.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="march">
        <xs:annotation>
          <xs:documentation>The month of March.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="april">
        <xs:annotation>
          <xs:documentation>The month of April.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="may">
        <xs:annotation>
          <xs:documentation>The month of May.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="june">
        <xs:annotation>
          <xs:documentation>The month of June.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="july">
        <xs:annotation>
          <xs:documentation>The month of July.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="august">
        <xs:annotation>
          <xs:documentation>The month of August.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="september">
        <xs:annotation>
          <xs:documentation>The month of September.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="october">
        <xs:annotation>
          <xs:documentation>The month of October.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="november">
        <xs:annotation>
          <xs:documentation>The month of November.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="december">
        <xs:annotation>
          <xs:documentation>The month of December.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MultiLingualString">
    <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" maxOccurs="1" />
          <xs:element name="destination" type="D2LogicalModel:Destination" minOccurs="0" maxOccurs="1" />
          <xs:element name="networkLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NetworkManagement">
    <xs:annotation>
      <xs:documentation>Changes to the configuration or usability of the road network whether by legal order or by operational decisions. It includes road and lane closures, weight and dimensional limits, vehicle restrictions, contraflows and rerouting operations.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OperatorAction">
        <xs:sequence>
          <xs:element name="networkManagementType" type="D2LogicalModel:NetworkManagementTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of network control imposed by an operator.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="forVehicleWithCharacteristicsOf" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="restriction" type="D2LogicalModel:Restriction" minOccurs="0" maxOccurs="1" />
          <xs:element name="trafficControl" type="D2LogicalModel:TrafficControl" minOccurs="0" maxOccurs="1" />
          <xs:element name="networkManagementExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NetworkManagementTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of lane control that can be imposed by an operator.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="bridgeSwingInOperation">
        <xs:annotation>
          <xs:documentation>The bridge at the specified location has swung or lifted and is therfore temporarily closed to traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carPoolLaneInOperation">
        <xs:annotation>
          <xs:documentation>Dedicated car pool lane(s) are in operation for vehicles carrying at least the specified number of occupants.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="closedPermanentlyForTheWinter">
        <xs:annotation>
          <xs:documentation>The road is closed to vehicles with the specified characteristics or all, if none defined, for the duration of the winter.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="contraflow">
        <xs:annotation>
          <xs:documentation>Two-way traffic is temporarily sharing a single carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="convoyServiceDueToBadWeather">
        <xs:annotation>
          <xs:documentation>Traffic is only possible in convoys due to bad weather conditions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="intermittentClosures">
        <xs:annotation>
          <xs:documentation>Road closures occur intermittently on the specified road in the specified direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="intermittentShortTermClosures">
        <xs:annotation>
          <xs:documentation>Road closures occur intermittently on the specified road in the specified direction for short durations.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="laneOrCarriagewayClosed">
        <xs:annotation>
          <xs:documentation>One or more lanes or carriageways (as specified in the location elements) are closed to vehicles with the specified characteristics or all, if none defined, in the specified direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="narrowLanes">
        <xs:annotation>
          <xs:documentation>Normal lane widths are temporarily reduced.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noOvertaking">
        <xs:annotation>
          <xs:documentation>Overtaking is prohibited for vehicles with the specified characteristics or all, if none defined, on the specified section of road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noThroughTraffic">
        <xs:annotation>
          <xs:documentation>The road is closed to vehicles with the specified characteristics or all, if none defined, in the specified direction, except for local access.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overnightClosures">
        <xs:annotation>
          <xs:documentation>Every night the road is closed to vehicles with the specified characteristics or all, if none defined, in the specified direction by decision of the appropriate authorities.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictions">
        <xs:annotation>
          <xs:documentation>Restrictions different from the normal highway restrictions have been imposed on specific sections of the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadClosed">
        <xs:annotation>
          <xs:documentation>The road is closed to vehicles with the specified characteristics or all, if none defined, in the specified direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rushHourLaneInOperation">
        <xs:annotation>
          <xs:documentation>Dedicated rush (peak) hour lane(s) are in operation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="singleAlternateLineTraffic">
        <xs:annotation>
          <xs:documentation>Traffic is being controlled to move in alternate single lines. This control may be undertaken by traffic lights or flagman. Congestion is expected.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tidalFlowLaneInOperation">
        <xs:annotation>
          <xs:documentation>Dedicated tidal flow lane(s) are in operation in the specified direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficContolInOperation">
        <xs:annotation>
          <xs:documentation>Traffic control measures are in operation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficHeld">
        <xs:annotation>
          <xs:documentation>Traffic in the specified direction is temporarily held up due to an unplanned event (e.g. for clearance of wreckage following an accident).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useOfSpecifiedLaneAllowed">
        <xs:annotation>
          <xs:documentation>All vehicles may currently use the specified lane (as defined by the location elements). The normal lane restrictions are not currently in force.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useSpecifiedLane">
        <xs:annotation>
          <xs:documentation>Use the specified lane (as defined by the location elements).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="useUnderSpecifiedRestrictions">
        <xs:annotation>
          <xs:documentation>Vehicles satisfying the defined restrictions may use the specified lane (as defined by the location elements).</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="NonManagedCause">
    <xs:annotation>
      <xs:documentation>Contains details of the cause of a record within a situation, when this cause is not managed as a situation record in its own right.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Cause">
        <xs:sequence>
          <xs:element name="causeDescription" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Description of a cause which is not managed by the operator (e.g. an off network cause).</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="value" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="D2LogicalModel:MultiLingualString">
                        <xs:attribute name="lang" type="xs:language" />
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="causeType" type="D2LogicalModel:CauseTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates an external influence that may be the causation of components of a situation.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="nonManagedCauseExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NonNegativeInteger">
    <xs:restriction base="xs:nonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="NonRoadEventInformation" abstract="true">
    <xs:annotation>
      <xs:documentation>Information about an event which is not on the road, but which may influence the behaviour of drivers and hence the characteristics of the traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SituationRecord">
        <xs:sequence>
          <xs:element name="nonRoadEventInformationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="NonWeatherRelatedRoadConditions">
    <xs:annotation>
      <xs:documentation>Road surface conditions that are not related to the weather but which may affect driving conditions.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:RoadConditions">
        <xs:sequence>
          <xs:element name="nonWeatherRelatedRoadConditionType" type="D2LogicalModel:NonWeatherRelatedRoadConditionTypeEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The type of road conditions which are not related to the weather.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="nonWeatherRelatedRoadConditionsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NonWeatherRelatedRoadConditionTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of road surface conditions which are not related to the weather.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="leavesOnRoad">
        <xs:annotation>
          <xs:documentation>Increased skid risk due to leaves on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="looseChippings">
        <xs:annotation>
          <xs:documentation>Increased skid risk and injury risk due to loose chippings on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="looseSandOnRoad">
        <xs:annotation>
          <xs:documentation>Increased skid risk due to loose sand on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mudOnRoad">
        <xs:annotation>
          <xs:documentation>Increased skid risk due to mud on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="oilOnRoad">
        <xs:annotation>
          <xs:documentation>Increased skid risk due to oil on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolOnRoadway">
        <xs:annotation>
          <xs:documentation>Increased skid risk due to fuel on road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadSurfaceInPoorCondition">
        <xs:annotation>
          <xs:documentation>The road surface is damaged, severely rutted or potholed (i.e. it is in a poor state of repair).</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="NtoR" abstract="true">
    <xs:annotation>
      <xs:documentation>Enumerations alphabetically ordered between N and R.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="precipitationTypeEnum" type="D2LogicalModel:PrecipitationTypeEnum" />
      <xs:element name="poorRoadInfrastructureEnum" type="D2LogicalModel:PoorRoadInfrastructureEnum" />
      <xs:element name="roadMaintenanceTypeEnum" type="D2LogicalModel:RoadMaintenanceTypeEnum" />
      <xs:element name="ntoRExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
      <xs:element name="roadsideAssistanceTypeEnum" type="D2LogicalModel:RoadsideAssistanceTypeEnum" />
      <xs:element name="publicEventTypeEnum" type="D2LogicalModel:PublicEventTypeEnum" />
      <xs:element name="roadworksScaleEnum" type="D2LogicalModel:RoadworksScaleEnum" />
      <xs:element name="operatorActionStatusEnum" type="D2LogicalModel:OperatorActionStatusEnum" />
      <xs:element name="overallImpactEnum" type="D2LogicalModel:OverallImpactEnum" />
      <xs:element name="probabilityOfOccurrenceEnum" type="D2LogicalModel:ProbabilityOfOccurrenceEnum" />
      <xs:element name="networkManagementTypeEnum" type="D2LogicalModel:NetworkManagementTypeEnum" />
      <xs:element name="periodByPhaseOfDayEnum" type="D2LogicalModel:PeriodByPhaseOfDayEnum" />
      <xs:element name="placesAdviceEnum" type="D2LogicalModel:PlacesAdviceEnum" />
      <xs:element name="roadworksDurationEnum" type="D2LogicalModel:RoadworksDurationEnum" />
      <xs:element name="relativeTrafficFlowEnum" type="D2LogicalModel:RelativeTrafficFlowEnum" />
      <xs:element name="obstructionTypeEnum" type="D2LogicalModel:ObstructionTypeEnum" />
      <xs:element name="reroutingTypeEnum" type="D2LogicalModel:ReroutingTypeEnum" />
      <xs:element name="poorEnvironmentTypeEnum" type="D2LogicalModel:PoorEnvironmentTypeEnum" />
      <xs:element name="personCategoryEnum" type="D2LogicalModel:PersonCategoryEnum" />
      <xs:element name="pollutantTypeEnum" type="D2LogicalModel:PollutantTypeEnum" />
      <xs:element name="operatorActionOriginEnum" type="D2LogicalModel:OperatorActionOriginEnum" />
      <xs:element name="nonWeatherRelatedRoadConditionTypeEnum" type="D2LogicalModel:NonWeatherRelatedRoadConditionTypeEnum" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NumberOfAxlesCharacteristic">
    <xs:annotation>
      <xs:documentation>Number of axles characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfAxles" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The total number of axles of an individual vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfAxlesCharacteristicExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Obstruction" abstract="true">
    <xs:annotation>
      <xs:documentation>Any stationary or moving obstacle of a physical nature (e.g. obstacles or vehicles from an earlier accident, shed loads on carriageway, rock fall, abnormal or dangerous loads, or animals etc.) which could disrupt or endanger traffic.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="numberOfObstructions" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The number of obstructions that are partly or wholly blocking the road.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="mobilityOfObstruction" type="D2LogicalModel:Mobility" minOccurs="0" maxOccurs="1" />
          <xs:element name="obstructionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ObstructionTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of obstructions on the roadway.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="airCrash">
        <xs:annotation>
          <xs:documentation>An air crash adjacent to the roadway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="childrenOnRoadway">
        <xs:annotation>
          <xs:documentation>Children on the roadway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clearanceWork">
        <xs:annotation>
          <xs:documentation>Clearance work associated with an earlier traffic problem which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="craneOperating">
        <xs:annotation>
          <xs:documentation>A crane is operating either on or adjacent to the road which may cause an obstruction to traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cyclistsOnRoadway">
        <xs:annotation>
          <xs:documentation>Cyclists on the roadway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="damagedCrashBarrier">
        <xs:annotation>
          <xs:documentation>Damaged crash barrier which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fallingIce">
        <xs:annotation>
          <xs:documentation>Falling ice off trees, powerlines or structures which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fallingLightIceOrSnow">
        <xs:annotation>
          <xs:documentation>Falling light ice or snow off trees, powerlines or structures which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="highSpeedChase">
        <xs:annotation>
          <xs:documentation>Authorised and unauthorised vehicles are travelling at high speeds along the roadway.  This may present a hazard to other vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="houseFire">
        <xs:annotation>
          <xs:documentation>House fire(s) near the road way resulting in smoke and driver distraction which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="incident">
        <xs:annotation>
          <xs:documentation>Incidents are chance occurrences involving vehicles from the traffic stream, which could present potential hazards to road users.  This item excludes accidents.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="industrialAccident">
        <xs:annotation>
          <xs:documentation>The road is obstructed or partially obstructed due to the output or outcome of an industrial accident.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="movingHazardsOnTheRoad">
        <xs:annotation>
          <xs:documentation>Unspecified moving hazard(s) on the road which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="objectOnTheRoad">
        <xs:annotation>
          <xs:documentation>The road may be obstructed or traffic hindered due to objects laying on the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="objectsFallingFromMovingVehicle">
        <xs:annotation>
          <xs:documentation>Objects falling from moving vehicles which are presenting a hazard to other vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="obstructionOnTheRoad">
        <xs:annotation>
          <xs:documentation>Unspecified obstruction on the roadway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="peopleOnRoadway">
        <xs:annotation>
          <xs:documentation>People on the roadway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railCrash">
        <xs:annotation>
          <xs:documentation>A rail crash adjacent to the roadway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="recklessDriver">
        <xs:annotation>
          <xs:documentation>A vehicle being driven without due care and attention is causing a harzard to other vehicles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rescueAndRecoveryWork">
        <xs:annotation>
          <xs:documentation>Work is being undertaken by emergency services which may present a hazard to road users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="severeFrostDamagedRoadway">
        <xs:annotation>
          <xs:documentation>Severe frost damage to the roadway causing an obstruction to traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shedLoad">
        <xs:annotation>
          <xs:documentation>Spillage of transported goods on the roadway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowAndIceDebris">
        <xs:annotation>
          <xs:documentation>Snow and ice debris on the roadway which may present a hazard to road users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="spillageOccurringFromMovingVehicle">
        <xs:annotation>
          <xs:documentation>Substances are spilling out from a moving vehicle which is presenting a hazard to other road users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="spillageOnTheRoad">
        <xs:annotation>
          <xs:documentation>Includes all situations where a spillage has occurred on the roadway due to an earlier incident.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unprotectedAccidentArea">
        <xs:annotation>
          <xs:documentation>An accident area which has not been protected and may present a hazard to road users.</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="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:simpleType name="OperatingModeEnum">
    <xs:annotation>
      <xs:documentation>Modes of operation of the exchange.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="operatingMode0">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="operatingMode1">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="operatingMode2">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="operatingMode3">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OperatorAction" abstract="true">
    <xs:annotation>
      <xs:documentation>Actions that a traffic operator can decide to implement to prevent or help correct dangerous or poor driving conditions, including maintenance of the road infrastructure.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SituationRecord">
        <xs:sequence>
          <xs:element name="actionOrigin" type="D2LogicalModel:OperatorActionOriginEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates whether the actions to be undertaken by the operator are the result of an internal operation or external influence.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="operatorActionStatus" type="D2LogicalModel:OperatorActionStatusEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The status of the defined operator action.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="provisional" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indication of whether the action is provisional, i.e. the action is subject to change. True indicates it is provisional.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="operatorActionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OperatorActionOriginEnum">
    <xs:annotation>
      <xs:documentation>Origins of operator actions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="external">
        <xs:annotation>
          <xs:documentation>Operator action originated externally to the authority which is taking the action.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="internal">
        <xs:annotation>
          <xs:documentation>Operator action originated within the authority which is taking the action.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OperatorActionStatusEnum">
    <xs:annotation>
      <xs:documentation>List of statuses associated with operator actions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="approved">
        <xs:annotation>
          <xs:documentation>Action is approved by the relevant authority.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="implemented">
        <xs:annotation>
          <xs:documentation>Action has been implemented.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inProgress">
        <xs:annotation>
          <xs:documentation>Action is in the process of being implemented.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="over">
        <xs:annotation>
          <xs:documentation>Action has been completed and is now finished.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="requested">
        <xs:annotation>
          <xs:documentation>Permission is being requested of the relevant authority for the action.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OverallImpactEnum">
    <xs:annotation>
      <xs:documentation>Levels of assessed impact that the situation as a whole may have on traffic flow as perceived by the supplier.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="highest">
        <xs:annotation>
          <xs:documentation>Perceived by supplier as being of the highest level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="high">
        <xs:annotation>
          <xs:documentation>Perceived by supplier as being of a high level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="normal">
        <xs:annotation>
          <xs:documentation>Perceived by supplier as being of a normal level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="low">
        <xs:annotation>
          <xs:documentation>Perceived by supplier as being of a low level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lowest">
        <xs:annotation>
          <xs:documentation>Perceived by supplier as being of the lowest level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OverallPeriod">
    <xs:annotation>
      <xs:documentation>A continuous or discontinous period of validity defined by overall bounding start and end times and the possible intersection of valid periods (potentially recurring) with the complement of exception periods (also potentially recurring).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="overallStartTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Start of bounding period of validity defined by date and time.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="overallEndTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>End of bounding period of validity defined by date and time.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="validPeriod" type="D2LogicalModel:Period" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="exceptionPeriod" type="D2LogicalModel:Period" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="overallPeriodExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PartsPerMillionConcentration">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:simpleType name="PassengerCarUnitsPerHour">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:complexType name="PayloadEnumerations" abstract="true">
    <xs:annotation>
      <xs:documentation>A collection of lists of enumeration values used throughout the DATEX II model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="locationEnumerations" type="D2LogicalModel:LocationEnumerations" minOccurs="0" maxOccurs="1" />
      <xs:element name="payloadEnumerationsExtension" 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="feedType" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A classification of the information which is to be found in the publications originating from the particular feed (URL). Different URLs from one source may be used to filter the information which is made available to clients (e.g. by type or location).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <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" minOccurs="1" maxOccurs="1" />
      <xs:element name="payloadPublicationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="lang" type="xs:language" use="required" />
  </xs:complexType>
  <xs:complexType name="PeopleInvolved">
    <xs:annotation>
      <xs:documentation>Overview of people involved in the event and their injury status.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="numberOfPeople" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of people involved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="injuryStatus" type="D2LogicalModel:InjuryStatusTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The injury status of the people involved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="involvementRole" type="D2LogicalModel:InvolvementRolesEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The invlovement role of the people.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="typeOfPeopleInvolved" type="D2LogicalModel:PersonCategoryEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of people involved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="peopleInvolvedExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Percentage">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="Period">
    <xs:annotation>
      <xs:documentation>A continuous time period or a set of discontinuous time periods defined by the intersection of a set of criteria all within an overall delimiting interval.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="startOfPeriod" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Start of period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="endOfPeriod" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>End of a period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="periodName" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the period</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="recurringTimePeriodOfDay" type="D2LogicalModel:TimePeriodOfDay" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="recurringDayWeekMonthPeriod" type="D2LogicalModel:DayWeekMonth" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="periodExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PeriodByPhaseOfDayEnum">
    <xs:annotation>
      <xs:documentation>Period of time enumerations defined by the phase of the day.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="duringDarknessHours">
        <xs:annotation>
          <xs:documentation>Period during hours of darkness from sunset to sunrise.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="duringDayLightHours">
        <xs:annotation>
          <xs:documentation>Period during hours of daylight from sunrise to sunset.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="duringEveningBeforeSunset">
        <xs:annotation>
          <xs:documentation>Period from 5 pm until sunset.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="duringEveningRushHour">
        <xs:annotation>
          <xs:documentation>Period of the normally recognised evening local rush hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="duringMorningBeforeSunrise">
        <xs:annotation>
          <xs:documentation>Period from 5 am until sunrise.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="duringMorningRushHour">
        <xs:annotation>
          <xs:documentation>Period of the normally recognised morning local rush hour.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fromMidnightToSunrise">
        <xs:annotation>
          <xs:documentation>Period from midnight until sunrise.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fromSunsetToMidnight">
        <xs:annotation>
          <xs:documentation>Period from sunset until midnight.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Person" />
  <xs:simpleType name="PersonCategoryEnum">
    <xs:annotation>
      <xs:documentation>Categories of person.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="adult">
        <xs:annotation>
          <xs:documentation>Adult.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="child">
        <xs:annotation>
          <xs:documentation>Child (age 4 to 17).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyServicesPerson">
        <xs:annotation>
          <xs:documentation>A member of the emergency services, other than the police.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="infant">
        <xs:annotation>
          <xs:documentation>Infant (age 0 to 3).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="medicalStaff">
        <xs:annotation>
          <xs:documentation>A member of the medical staff.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="police">
        <xs:annotation>
          <xs:documentation>A member of the police force.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="politician">
        <xs:annotation>
          <xs:documentation>A politician.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="publicTransportPassenger">
        <xs:annotation>
          <xs:documentation>A passenger on or from a public transport vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sickPerson">
        <xs:annotation>
          <xs:documentation>A sick person.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficPatrolOfficer">
        <xs:annotation>
          <xs:documentation>A traffic patrol officer of the road authority.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="veryImportantPerson">
        <xs:annotation>
          <xs:documentation>A very important person.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Places">
    <xs:annotation>
      <xs:documentation>Supplementary places advice.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Advice">
        <xs:sequence>
          <xs:element name="placesAdvice" type="D2LogicalModel:PlacesAdviceEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Additional information about places that can be provided to travellers.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="placesExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PlacesAdviceEnum">
    <xs:annotation>
      <xs:documentation>List of advice relating to location.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="aroundBendsInTheRoad">
        <xs:annotation>
          <xs:documentation>Around bends in the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atCustomsPosts">
        <xs:annotation>
          <xs:documentation>At customs posts.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atHighAltitudes">
        <xs:annotation>
          <xs:documentation>At high altitudes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atTollPlazas">
        <xs:annotation>
          <xs:documentation>At toll plazas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inGallaries">
        <xs:annotation>
          <xs:documentation>In gallaries.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inLowLyingAreas">
        <xs:annotation>
          <xs:documentation>In low lying areas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inShadedAreas">
        <xs:annotation>
          <xs:documentation>In shaded areas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTheCityCentre">
        <xs:annotation>
          <xs:documentation>In the city centre.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTheInnerCityAreas">
        <xs:annotation>
          <xs:documentation>In the inner city areas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inRoadworksAreas">
        <xs:annotation>
          <xs:documentation>In roadworks areas.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="inTunnels">
        <xs:annotation>
          <xs:documentation>In tunnels.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onBridges">
        <xs:annotation>
          <xs:documentation>On bridges.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onEnteringOrLeavingTunnels">
        <xs:annotation>
          <xs:documentation>On entering or leaving tunnels.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onSlipRoads">
        <xs:annotation>
          <xs:documentation>On slip roads.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overTheCrestOfHills">
        <xs:annotation>
          <xs:documentation>Over the crest of hills.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onMotorways">
        <xs:annotation>
          <xs:documentation>On motorways.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onRoundabouts">
        <xs:annotation>
          <xs:documentation>On roundabouts.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onUndergroundSections">
        <xs:annotation>
          <xs:documentation>On underground sections of the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="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="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="tpegpointLocation" type="D2LogicalModel:TPEGPointLocation" minOccurs="0" maxOccurs="1" />
          <xs:element name="alertCPoint" type="D2LogicalModel:AlertCPoint" minOccurs="0" maxOccurs="1" />
          <xs:element name="referencePoint" type="D2LogicalModel:ReferencePoint" minOccurs="0" maxOccurs="1" />
          <xs:element name="pointByCoordinates" type="D2LogicalModel:PointByCoordinates" minOccurs="0" maxOccurs="1" />
          <xs:element name="pointExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PointByCoordinates">
    <xs:annotation>
      <xs:documentation>A single point defined only by a coordinate set with an optional bearing direction.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="bearing" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A bearing at the point measured in degrees (0 - 359).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pointCoordinates" type="D2LogicalModel:PointCoordinates" minOccurs="1" maxOccurs="1" />
      <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="PointDestination">
    <xs:annotation>
      <xs:documentation>The specification of the destination of a defined route or itinerary which is a point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Destination">
        <xs:sequence>
          <xs:element name="point" type="D2LogicalModel:Point" minOccurs="1" maxOccurs="1" />
          <xs:element name="pointDestinationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PollutantTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of pollutant that can be measured in the atmosphere.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="benzeneTolueneXylene">
        <xs:annotation>
          <xs:documentation>Benzene, toluene or xylene.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carbonMonoxide">
        <xs:annotation>
          <xs:documentation>Carbon monoxide.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lead">
        <xs:annotation>
          <xs:documentation>Lead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="methane">
        <xs:annotation>
          <xs:documentation>Methane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nitricOxide">
        <xs:annotation>
          <xs:documentation>Nitric oxide.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nitrogenDioxide">
        <xs:annotation>
          <xs:documentation>Nitrogen dioxide.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nitrogenMonoxide">
        <xs:annotation>
          <xs:documentation>Nitrogen monoxide.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nitrogenOxides">
        <xs:annotation>
          <xs:documentation>Nitrogen oxides.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonMethaneHydrocarbons">
        <xs:annotation>
          <xs:documentation>Non-methane hydrocarbons.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ozone">
        <xs:annotation>
          <xs:documentation>Ozone.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="particulates10">
        <xs:annotation>
          <xs:documentation>Particulate matter which passes through a size-selective inlet with a 50% cut-off efficiency at an aerodynamic diameter of 10 µm (micrometres).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="polycyclicAromaticHydrocarbons">
        <xs:annotation>
          <xs:documentation>PolycyclicAromaticHydrocarbons.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="primaryParticulate">
        <xs:annotation>
          <xs:documentation>Primary particulate particles.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sulphurDioxide">
        <xs:annotation>
          <xs:documentation>Sulphur dioxide.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="totalHydrocarbons">
        <xs:annotation>
          <xs:documentation>Total hydrocarbons, i.e. including methane and non-methane.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PollutionInformation">
    <xs:annotation>
      <xs:documentation>Measurements of atmospheric pollution.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:WeatherValue">
        <xs:sequence>
          <xs:element name="pollutionMeasurement" type="D2LogicalModel:PollutionMeasurement" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="pollutionInformationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PollutionMeasurement">
    <xs:annotation>
      <xs:documentation>Details of atmospheric pollution.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="pollutantConcentration" type="D2LogicalModel:ConcentrationMicrogramsPerCubicMetre" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The average concentration of the pollutant in the air.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pollutantType" type="D2LogicalModel:PollutantTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of pollutant in the air.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="pollutionMeasurementExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PoorEnvironmentConditions">
    <xs:annotation>
      <xs:documentation>Any environmental conditions which may be affecting the driving conditions on the road.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Conditions">
        <xs:sequence>
          <xs:element name="poorEnvironmentType" type="D2LogicalModel:PoorEnvironmentTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of environment condition which is affecting driving conditions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="precipitationDetail" type="D2LogicalModel:PrecipitationDetail" minOccurs="0" maxOccurs="1" />
          <xs:element name="visibility" type="D2LogicalModel:Visibility" minOccurs="0" maxOccurs="1" />
          <xs:element name="pollutionMeasurement" type="D2LogicalModel:PollutionMeasurement" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="temperature" type="D2LogicalModel:Temperature" minOccurs="0" maxOccurs="1" />
          <xs:element name="wind" type="D2LogicalModel:Wind" minOccurs="0" maxOccurs="1" />
          <xs:element name="poorEnvironmentConditionsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PoorEnvironmentTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of poor environmental conditions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="abnormalTemperature">
        <xs:annotation>
          <xs:documentation>The temperature is outside the normally expected range.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="badWeather">
        <xs:annotation>
          <xs:documentation>Adverse weather conditions are affecting driving conditions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="blizzard">
        <xs:annotation>
          <xs:documentation>Heavy snowfall in combination with strong winds, limiting visibility to 50m or less.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="blowingDust">
        <xs:annotation>
          <xs:documentation>Dust blowing across the roadway causing significantly reduced visibility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="blowingSnow">
        <xs:annotation>
          <xs:documentation>Fallen snow moving due to the forces of wind.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="crosswinds">
        <xs:annotation>
          <xs:documentation>Strong cross winds across the direction of the roadway (e.g. on a ridge or bridge).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="damagingHail">
        <xs:annotation>
          <xs:documentation>Large falling ice pellets or frozen rain capable of causing injury or damage to property.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="denseFog">
        <xs:annotation>
          <xs:documentation>Dense fog, limiting visibility to 50m or less.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="eclipse">
        <xs:annotation>
          <xs:documentation>Eclipse, either partial or full, of the sun causing low light levels during normal daylight period.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extremeCold">
        <xs:annotation>
          <xs:documentation>Abnormally low temperatures.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extremeHeat">
        <xs:annotation>
          <xs:documentation>Abnormally high expected maximum temperature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fog">
        <xs:annotation>
          <xs:documentation>Fog, visibility more than 50m.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freezingFog">
        <xs:annotation>
          <xs:documentation>Fog, in conjunction with sub-zero air temperatures causing possible freezing of road surface.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="frost">
        <xs:annotation>
          <xs:documentation>Frost can be expected.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gales">
        <xs:annotation>
          <xs:documentation>Winds between 60 km/h and 90 km/h.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gustyWinds">
        <xs:annotation>
          <xs:documentation>Constantly varying winds, significant at times.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hail">
        <xs:annotation>
          <xs:documentation>Falling ice pellets or frozen rain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyFrost">
        <xs:annotation>
          <xs:documentation>A thick coating of frost can be expected.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyRain">
        <xs:annotation>
          <xs:documentation>Heavy rainfall, limiting visibility to 50m or less.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavySnowfall">
        <xs:annotation>
          <xs:documentation>Dense falling snow, limiting visibility to 50m or less.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hurricaneForceWinds">
        <xs:annotation>
          <xs:documentation>Winds over 120 km/h.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lowSunGlare">
        <xs:annotation>
          <xs:documentation>Difficult visibility conditions created by low elevation sunlight.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="moderateFog">
        <xs:annotation>
          <xs:documentation>Misty conditions impairing vision over 100m.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ozonePollution">
        <xs:annotation>
          <xs:documentation>High concentrations of ozone are present.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="patchyFog">
        <xs:annotation>
          <xs:documentation>Fog, in which intermittent areas of dense fog may be encountered.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="precipitationInTheArea">
        <xs:annotation>
          <xs:documentation>Unspecified precipitation is falling on the area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rain">
        <xs:annotation>
          <xs:documentation>Rain, visibility more than 50m.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rainChangingToSnow">
        <xs:annotation>
          <xs:documentation>Falling rain is changing to snow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sandStorms">
        <xs:annotation>
          <xs:documentation>Sand blowing across the roadway causing significantly reduced visibility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="severeExhaustPollution">
        <xs:annotation>
          <xs:documentation>Pollution from exhaust fumes has reached a level sufficient to cause concern.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="severeSmog">
        <xs:annotation>
          <xs:documentation>Environmental warning of very poor air quality resulting from smog.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="showers">
        <xs:annotation>
          <xs:documentation>Light rain or intermittent rain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sleet">
        <xs:annotation>
          <xs:documentation>Rain mingled with snow or hail.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="smogAlert">
        <xs:annotation>
          <xs:documentation>Environmental warning of poor air quality resulting from smog.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="smokeHazard">
        <xs:annotation>
          <xs:documentation>Smoke drifting across the roadway causing significantly reduced visibility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowChangingToRain">
        <xs:annotation>
          <xs:documentation>Falling snow is changing to rain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowfall">
        <xs:annotation>
          <xs:documentation>Falling snow, visibility more than 50m.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sprayHazard">
        <xs:annotation>
          <xs:documentation>Reduced visibility resulting from spray created by moving vehicles on a wet roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stormForceWinds">
        <xs:annotation>
          <xs:documentation>Winds between 90 km/h and 120 km/h.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="strongGustsOfWind">
        <xs:annotation>
          <xs:documentation>Constantly varying winds, strong at times.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="strongWinds">
        <xs:annotation>
          <xs:documentation>Winds between 40 km/h and 60 km/h.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="swarmsOfInsects">
        <xs:annotation>
          <xs:documentation>Large numbers of insects which create a hazard for road users through reduced visibility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temperatureFalling">
        <xs:annotation>
          <xs:documentation>The temperature is falling significantly.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="thunderstorms">
        <xs:annotation>
          <xs:documentation>Electrical storms, generally with heavy rain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tornadoes">
        <xs:annotation>
          <xs:documentation>Very violent, whirling windstorms affecting narrow strips of country.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="veryStrongGustsOfWind">
        <xs:annotation>
          <xs:documentation>Constantly varying winds, very strong at times.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="visibilityReduced">
        <xs:annotation>
          <xs:documentation>Environmental conditions causing reduced visibility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="whiteOut">
        <xs:annotation>
          <xs:documentation>Falling snow in blizzard conditions resulting in very reduced visibility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="winterStorm">
        <xs:annotation>
          <xs:documentation>Heavy rain, sleet, hail and/or snow in combination with strong winds, limiting visibility to 50m or less.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PoorRoadInfrastructure">
    <xs:annotation>
      <xs:documentation>Failures or malfunctions of road infrastructure or related equipment that may be of interest or concern to travellers.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficElement">
        <xs:sequence>
          <xs:element name="poorRoadInfrastructureType" type="D2LogicalModel:PoorRoadInfrastructureEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Failures or malfunctions of road infrastructure or related equipment.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="malfunctioningTrafficControls" type="D2LogicalModel:MalfunctioningTrafficControls" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="poorRoadInfrastructureExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="PoorRoadInfrastructureEnum">
    <xs:annotation>
      <xs:documentation>Failures or malfunctions of road infrastructure or related equipment.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="automaticPaymentLaneNotWorking">
        <xs:annotation>
          <xs:documentation>Automatic payment lane not working at toll plaza.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="automaticTollSystemNotWorkingPayManually">
        <xs:annotation>
          <xs:documentation>Automatic payment system not working at toll plaza. Pay manually instead.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bridgeViaductDamage">
        <xs:annotation>
          <xs:documentation>Damage to bridge or viaduct.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="damageToRoadInfrastructure">
        <xs:annotation>
          <xs:documentation>Unspecified damage to road infrastructure.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyTelephoneNumberNotWorking">
        <xs:annotation>
          <xs:documentation>The designated telephone number for reporting problems or requesting assistance is not working.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyTelephonesNotWorking">
        <xs:annotation>
          <xs:documentation>Emergency telephones within a specified length of road are not working.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="galleryLightsNotWorking">
        <xs:annotation>
          <xs:documentation>Lights within the gallery are not working.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="laneControlSignsNotWorking">
        <xs:annotation>
          <xs:documentation>Electronic traffic lane control signals are not working.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="laneControlSignsWorkingIncorrectly">
        <xs:annotation>
          <xs:documentation>Electronic traffic lane control signals are not working correctly (such that misleading or incorrect information may be provided).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="levelCrossingFailure">
        <xs:annotation>
          <xs:documentation>The traffic control equipment where a railway crosses the road is not working.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="levelCrossingNotWorkingNormally">
        <xs:annotation>
          <xs:documentation>The traffic control equipment where a railway crosses the road is not working correctly, presenting a potential hazard to motorists.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="opticFiberDamage">
        <xs:annotation>
          <xs:documentation>Damage to fibre optic comunications which may cause failures or malfunctuions of other systems.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="powerFailure">
        <xs:annotation>
          <xs:documentation>Power failure.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rampControlSignalsNotWorking">
        <xs:annotation>
          <xs:documentation>The ramp control signals that control the entry and exit of vehicles to and from carriageways at the specified location are not working (i.e. they appear to be switched off).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rampControlSignalsWorkingIncorrectly">
        <xs:annotation>
          <xs:documentation>The traffic lights that control the entry and exit of vehicles to and from a carriageway at the specified location are working incorrectly, presenting a potential hazard to motorists.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="safetyBarrierDamage">
        <xs:annotation>
          <xs:documentation>Damage to the safety barrier.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temporaryTrafficLightsNotWorking">
        <xs:annotation>
          <xs:documentation>The temporary traffic lights at the specified location are not working (i.e. they appear to be switched off).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temporaryTrafficLightsWorkingIncorrectly">
        <xs:annotation>
          <xs:documentation>The temporary traffic lights at the specified location are working incorrectly, presenting a potential hazard to motorists.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficLightsNotWorking">
        <xs:annotation>
          <xs:documentation>The traffic lights at the specified location are not working (i.e. they appear to be switched off).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficLightsWorkingIncorrectly">
        <xs:annotation>
          <xs:documentation>The traffic lights at the specified location are working incorrectly, presenting a potential hazard to motorists.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficSignalControlComputerNotWorking">
        <xs:annotation>
          <xs:documentation>The traffic signal timing computer is not working possibly causing greater disruption to traffic than under normal conditions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficSignalsNotWorkingProperly">
        <xs:annotation>
          <xs:documentation>The traffic signals at the specified location are working incorrectly, presenting a potential hazard to motorists.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficSignalTimingsChanged">
        <xs:annotation>
          <xs:documentation>Traffic signal phase timings or sequence have been altered which may cause a hazard to road users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tunnelLightsNotWorking">
        <xs:annotation>
          <xs:documentation>Lights within the tunnel are not working.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tunnelVentilationNotWorking">
        <xs:annotation>
          <xs:documentation>Ventilation equipment in the tunnel is not working, possibly causing pollution problems and poor air quality.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="variableMessageSignsNotWorking">
        <xs:annotation>
          <xs:documentation>Variable message signs at the specified location are not working.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="variableMessageSignsWorkingIncorrectly">
        <xs:annotation>
          <xs:documentation>Variable message signs at the specified location are not working correctly (such that misleading or incorrect information may be provided).</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="PrecipitationDetail">
    <xs:annotation>
      <xs:documentation>Details of precipitation (rain, snow etc.).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="depositionDepth" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <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 are considered as melted in water. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="precipitationIntensity" type="D2LogicalModel:IntensityMillimetresPerHour" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The height of the precipitation received per unit time.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <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="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:WeatherValue">
        <xs:sequence>
          <xs:element name="precipitationDetail" type="D2LogicalModel:PrecipitationDetail" minOccurs="1" maxOccurs="1" />
          <xs:element name="precipitationInformationExtension" 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="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="PredefinedLocation">
    <xs:annotation>
      <xs:documentation>An identifiable instance of a single predefined location.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="predefinedLocationName" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A name of assigned to a predefined location (e.g. extracted out of the network operator's gazetteer).</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="predefinedLocation" type="D2LogicalModel:Location" minOccurs="1" maxOccurs="1" />
      <xs:element name="predefinedLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:complexType name="PredefinedLocationSet">
    <xs:annotation>
      <xs:documentation>An identifiable instance of a single set of predefined locations.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="predefinedLocationSetName" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A name assigned to a set of predefined locations.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="predefinedLocation" type="D2LogicalModel:PredefinedLocation" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="predefinedLocationSetExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:complexType name="PredefinedLocationsPublication">
    <xs:annotation>
      <xs:documentation>A publication containing one or more sets of predfined locations.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" minOccurs="1" maxOccurs="1" />
          <xs:element name="predefinedLocationSet" type="D2LogicalModel:PredefinedLocationSet" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="predefinedLocationsPublicationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ProbabilityOfOccurrenceEnum">
    <xs:annotation>
      <xs:documentation>Levels of confidence that the sender has in the information, ordered {certain, probable, risk of, improbable}.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="certain">
        <xs:annotation>
          <xs:documentation>The source is compeltely certain of the occurrence of the situation record version content.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="probable">
        <xs:annotation>
          <xs:documentation>The source has a reasonably high level of confidence of the occurrence of the situation record version content.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="riskOf">
        <xs:annotation>
          <xs:documentation>The source has a moderate level of confidence of the occurrence of the situation record version content.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="improbable">
        <xs:annotation>
          <xs:documentation>The source has a low level of confidence of the occurrence of the situation record version content.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PublicEventTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of public events.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="athleticsMeeting">
        <xs:annotation>
          <xs:documentation>Athletics event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ballGame">
        <xs:annotation>
          <xs:documentation>Ball game event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="baseballGame">
        <xs:annotation>
          <xs:documentation>Baseball game event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="basketballGame">
        <xs:annotation>
          <xs:documentation>Basketball game event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bicycleRace">
        <xs:annotation>
          <xs:documentation>Bicycle race that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="boatRace">
        <xs:annotation>
          <xs:documentation>Regatta (boat race event of sailing, powerboat or rowing) that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="boxingTournament">
        <xs:annotation>
          <xs:documentation>Boxing event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bullFight">
        <xs:annotation>
          <xs:documentation>Bull fighting event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ceremonialEvent">
        <xs:annotation>
          <xs:documentation>Formal or religious act, rite or ceremony that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="concert">
        <xs:annotation>
          <xs:documentation>Concert event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cricketMatch">
        <xs:annotation>
          <xs:documentation>Cricket match that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="exhibition">
        <xs:annotation>
          <xs:documentation>Major display or trade show which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fair">
        <xs:annotation>
          <xs:documentation>Periodic (e.g. annual), often traditional, gathering for entertainment or trade promotion, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="festival">
        <xs:annotation>
          <xs:documentation>Celebratory event or series of events which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="filmTVMaking">
        <xs:annotation>
          <xs:documentation>Film or TV making event which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="footballMatch">
        <xs:annotation>
          <xs:documentation>Football match that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="funfair">
        <xs:annotation>
          <xs:documentation>Periodic (e.g. annual), often traditional, gathering for entertainment, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="golfTournament">
        <xs:annotation>
          <xs:documentation>Golf tournament event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hockeyGame">
        <xs:annotation>
          <xs:documentation>Hockey game event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="horseRaceMeeting">
        <xs:annotation>
          <xs:documentation>Horse race meeting that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="internationalSportsMeeting">
        <xs:annotation>
          <xs:documentation>Large sporting event of an international nature that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="majorEvent">
        <xs:annotation>
          <xs:documentation>Significant organised event either on or near the roadway which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="marathon">
        <xs:annotation>
          <xs:documentation>Marathon, cross-country or road running event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="market">
        <xs:annotation>
          <xs:documentation>Periodic (e.g. weekly) gathering for buying and selling, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="match">
        <xs:annotation>
          <xs:documentation>Sports match of unspecified type that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorSportRaceMeeting">
        <xs:annotation>
          <xs:documentation>Motor sport race meeting that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parade">
        <xs:annotation>
          <xs:documentation>Formal display or organised procession which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="raceMeeting">
        <xs:annotation>
          <xs:documentation>Race meeting (other than horse or motor sport) that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rugbyMatch">
        <xs:annotation>
          <xs:documentation>Rugby match that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="severalMajorEvents">
        <xs:annotation>
          <xs:documentation>A series of significant organised events either on or near the roadway which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="show">
        <xs:annotation>
          <xs:documentation>Entertainment event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="showJumping">
        <xs:annotation>
          <xs:documentation>Horse showing jumping and tournament event that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="sportsMeeting">
        <xs:annotation>
          <xs:documentation>Sports event of unspecified type that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stateOccasion">
        <xs:annotation>
          <xs:documentation>Public ceremony or visit of national or international significance which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tennisTournament">
        <xs:annotation>
          <xs:documentation>Tennis tournament that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tournament">
        <xs:annotation>
          <xs:documentation>Sporting event or series of events of unspecified type lasting more than one day which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tradeFair">
        <xs:annotation>
          <xs:documentation>A periodic (e.g. annual), often traditional, gathering for trade promotion, which could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waterSportsMeeting">
        <xs:annotation>
          <xs:documentation>Water sports meeting that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="winterSportsMeeting">
        <xs:annotation>
          <xs:documentation>Winter sports meeting or event (e.g. skiing, ski jumping, skating) that could disrupt traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="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="Reference">
    <xs:restriction base="D2LogicalModel:String" />
  </xs:simpleType>
  <xs:complexType name="ReferencePoint">
    <xs:annotation>
      <xs:documentation>One of a sequence of reference points along a road, normally spaced at regular intervals along each carriageway with a sequence of identification from a known starting point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="referencePointIdentifier" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Road reference point identifier, unique on the specified road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="administrativeArea" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of the road administration area which contains the reference point.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="roadName" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Name of the road on which the reference point is located.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="roadNumber" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identifier/number of the road on which the reference point is located.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="directionBound" type="D2LogicalModel:DirectionEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction at the reference point in terms of general destination direction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="directionRelative" type="D2LogicalModel:ReferencePointDirectionEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction at the reference point relative to the sequence direction of the reference points along the road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="distanceFromPrevious" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The distance in metres from the previous road reference point in the sequence indicated by the direction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="distanceToNext" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The distance in metres to the next road reference point in the sequence indicated by the direction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="elevatedRoadSection" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Identification of whether the reference point is on an elevated section of carriageway or not (true = elevated section). This may distinguish it from a point having coincident latitude / longitude on a carriageway passing beneath the elevated section.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="referencePointDescription" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Description of the road reference point.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="referencePointDistance" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The distance of the road reference point from the starting point of the sequence on the road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="referencePointExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ReferencePointDirectionEnum">
    <xs:annotation>
      <xs:documentation>The direction of traffic flow affected by a situation or related to the traffic data. For reference points along a road the direction in which they are identified (by a sequential numbering scheme) is the positive direction.</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>Indicates that the direction of traffic flow affected by the situation or related to the traffic data is in the opposite sense to the ordering (by their sequential numbering scheme) of the marker posts.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="positive">
        <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 ordering (by their sequential numbering scheme) of the marker posts.</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="ReferencePointLinear">
    <xs:annotation>
      <xs:documentation>A linear section along a road defined between two points on the road identified by reference points.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="referencePointPrimaryLocation" type="D2LogicalModel:ReferencePointPrimaryLocation" minOccurs="1" maxOccurs="1" />
      <xs:element name="referencePointSecondaryLocation" type="D2LogicalModel:ReferencePointSecondaryLocation" minOccurs="1" maxOccurs="1" />
      <xs:element name="referencePointLinearExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReferencePointPrimaryLocation">
    <xs:annotation>
      <xs:documentation>The point (called Primary point) which is at the downstream end of a linear road section. The point is identified by a reference point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="referencePoint" type="D2LogicalModel:ReferencePoint" minOccurs="1" maxOccurs="1" />
      <xs:element name="referencePointPrimaryLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReferencePointSecondaryLocation">
    <xs:annotation>
      <xs:documentation>The point (called Secondary point) which is at the upstream end of a linear road section. The point is identified by a reference point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="referencePoint" type="D2LogicalModel:ReferencePoint" minOccurs="1" maxOccurs="1" />
      <xs:element name="referencePointSecondaryLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReferenceSettings">
    <xs:annotation>
      <xs:documentation>Specification of the default value for traffic status on a set of predefined locations on the road network. Only when traffic status differs from this value at a location in the set need a value be sent.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="locationSetReference" type="D2LogicalModel:Reference" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a predefined location set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trafficStatusDefault" type="D2LogicalModel:TrafficStatusEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The default value of traffic status that can be assumed to apply to the locations defined by the associated predefined location set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="referenceSettingsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="RelativeTrafficFlowEnum">
    <xs:annotation>
      <xs:documentation>Levels of assessement of the traffic flow conditions relative to normally expected conditions at this date/time.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="trafficVeryMuchHeavierThanNormal">
        <xs:annotation>
          <xs:documentation>Traffic is very much heavier than normally expected at the specified location at this date/time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficHeavierThanNormal">
        <xs:annotation>
          <xs:documentation>Traffic is heavier than normally expected at the specified location at this date/time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficLighterThanNormal">
        <xs:annotation>
          <xs:documentation>Traffic is lighter than normally expected at the specified location at this date/time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RequestTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of requests that may be made by a client on a supplier.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="catalogue">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="filter">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="requestData">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="requestHistoricalData">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="subscription">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Rerouting">
    <xs:annotation>
      <xs:documentation>An action which involves diverting traffic, whether mandatory or advisory.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficControl">
        <xs:sequence>
          <xs:element name="alternativeRerouting" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates whether a signed alternative route is available.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="reroutingItineraryDescription" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A description of the rerouting itinerary.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="value" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="D2LogicalModel:MultiLingualString">
                        <xs:attribute name="lang" type="xs:language" />
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="reroutingType" type="D2LogicalModel:ReroutingTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of rerouting that is in force defining whether the alternative route commences at the specified entry or exit of the defined road or at the specified intersecting road or junction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="reroutingExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ReroutingTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of rerouting.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="reroutingUseEntry">
        <xs:annotation>
          <xs:documentation>Rerouted traffic is to use the specified entry onto the identified road to commence the alternative route.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reroutingUseExit">
        <xs:annotation>
          <xs:documentation>Rerouted traffic is to use the specified exit from the identified road to commence the alternative route.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reroutingUseIntersectionOrJunction">
        <xs:annotation>
          <xs:documentation>Rerouted traffic is to use the specified intersection or junction to commence the alternative route.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ResponseEnum">
    <xs:annotation>
      <xs:documentation>Types of response that a supplier can return to a requesting client.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="acknowledge">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="catalogueRequestDenied">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="filterRequestDenied">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="requestDenied">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="subscriptionRequestDenied">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Restriction">
    <xs:annotation>
      <xs:documentation>Defines a restriction which qualifies the operator's management action.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="equipmentRequirement" type="D2LogicalModel:WinterEquipmentRequirementEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines a restriction based on equipment either on or carried by a vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minimumCarOccupancy" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The minimum number of persons in a vehicle required to satisfy a traffic restriction or a special fare condition.</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.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="restrictionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ReusableClasses" />
  <xs:complexType name="RoadConditions" abstract="true">
    <xs:annotation>
      <xs:documentation>Conditions of the road surface which may affect driving conditions. These may be related to the weather (e.g. ice, snow etc.) or to other conditions (e.g. oil, mud, leaves etc. on the road)</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Conditions">
        <xs:sequence>
          <xs:element name="roadConditionsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadMaintenanceTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of road maintenance.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="clearanceWorkOnCarriageway">
        <xs:annotation>
          <xs:documentation>Clearance work of unspecified nature on the traffic carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clearingAction">
        <xs:annotation>
          <xs:documentation>Unspecified clearing action undertaken by the traffic operator.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="installationWork">
        <xs:annotation>
          <xs:documentation>Installation of new equipments or systems on or along-side the roadway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="grassCuttingWork">
        <xs:annotation>
          <xs:documentation>Grass cutting work in progress.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="maintenanceWork">
        <xs:annotation>
          <xs:documentation>Maintenance of road, associated infrastructure or equipments.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overrunningRoadworks">
        <xs:annotation>
          <xs:documentation>Road maintenance work which is overrunning its planned duration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="repairWork">
        <xs:annotation>
          <xs:documentation>Repair work to road, associated infrastructure or equipments.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="resurfacingWork">
        <xs:annotation>
          <xs:documentation>Work associated with relaying or renewal of worn-out road surface (pavement).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadMarkingWork">
        <xs:annotation>
          <xs:documentation>Striping and repainting of road markings, plus placement or replacement of reflecting studs (cats' eyes).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadsideWork">
        <xs:annotation>
          <xs:documentation>Road side work of an unspecified nature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadworkClearanceInProgress">
        <xs:annotation>
          <xs:documentation>Roadworks are completed and are being cleared.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadworks">
        <xs:annotation>
          <xs:documentation>Road maintenance or improvement activity of an unspecified nature which may potentially cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rockFallPreventativeMaintenance">
        <xs:annotation>
          <xs:documentation>Rock fall preventative maintenance is in progress.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="saltingInProgress">
        <xs:annotation>
          <xs:documentation>Spreading of salt and / or grit on the road surface is in progress to prevent or melt snow or ice.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowploughsInUse">
        <xs:annotation>
          <xs:documentation>Snowploughs or other similar mechanical devices are being used to clear snow from the road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="treeAndVegetationCuttingWork">
        <xs:annotation>
          <xs:documentation>Tree and vegetation cutting work is in progress adjacent to the roadway.</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="RoadsideAssistance">
    <xs:annotation>
      <xs:documentation>Details of road side assistance required.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OperatorAction">
        <xs:sequence>
          <xs:element name="roadsideAssistanceType" type="D2LogicalModel:RoadsideAssistanceTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the nature of the road side assistance that will be, is or has been provided.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="roadsideAssistanceExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadsideAssistanceTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of road side assistance.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="airAmbulance">
        <xs:annotation>
          <xs:documentation>Air ambulance assistance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busPassengerAssistance">
        <xs:annotation>
          <xs:documentation>Bus passenger assistance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyServices">
        <xs:annotation>
          <xs:documentation>Emergency services assistance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="firstAid">
        <xs:annotation>
          <xs:documentation>First aid assistance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="foodDelivery">
        <xs:annotation>
          <xs:documentation>Food delivery.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="helicopterRescue">
        <xs:annotation>
          <xs:documentation>Helicopter rescue.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleRepair">
        <xs:annotation>
          <xs:documentation>Vehicle repair assistance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleRecovery">
        <xs:annotation>
          <xs:documentation>Vehicle recovery.</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="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:WeatherValue">
        <xs:sequence>
          <xs:element name="roadSurfaceConditionMeasurements" type="D2LogicalModel:RoadSurfaceConditionMeasurements" minOccurs="1" maxOccurs="1" />
          <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="deIcingApplicationRate" type="D2LogicalModel:IntensityKilogrammesPerSquareMetre" minOccurs="0" maxOccurs="1">
        <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:ConcentrationGramsPerCubicCentimetre" minOccurs="0" maxOccurs="1">
        <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:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The measured depth of snow recorded on the road surface.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="protectionTemperature" type="D2LogicalModel:TemperatureCelsius" minOccurs="0" maxOccurs="1">
        <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="roadSurfaceTemperature" type="D2LogicalModel:TemperatureCelsius" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The temperature measured on the road surface.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="waterFilmThickness" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates 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:complexType name="Roadworks" abstract="true">
    <xs:annotation>
      <xs:documentation>Highway maintenance, installation and construction activities that may potentially affect traffic operations.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OperatorAction">
        <xs:sequence>
          <xs:element name="effectOnRoadLayout" type="D2LogicalModel:EffectOnRoadLayoutEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The effects which the roadworks have or are expected to have on the road layout.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="roadworksDuration" type="D2LogicalModel:RoadworksDurationEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates in general terms the expected duration of the roadworks.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="roadworksScale" type="D2LogicalModel:RoadworksScaleEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates in general terms the scale of the roadworks.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="underTraffic" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates that the road section where the roadworks are located is trafficked or non-trafficked.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="urgentRoadworks" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indication of whether the roadworks are considered to be urgent. 'True' indicates they are urgent.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="mobility" type="D2LogicalModel:Mobility" minOccurs="0" maxOccurs="1" />
          <xs:element name="subjectTypeOfWorks" type="D2LogicalModel:SubjectTypeOfWorks" minOccurs="0" maxOccurs="1" />
          <xs:element name="associatedMaintenanceVehicles" type="D2LogicalModel:AssociatedMaintenanceVehicles" minOccurs="0" maxOccurs="1" />
          <xs:element name="roadworksExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="RoadworksDurationEnum">
    <xs:annotation>
      <xs:documentation>Expected durations of roadworks in general terms.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="longTerm">
        <xs:annotation>
          <xs:documentation>The roadworks are expected to last for a long term ( duration &gt; 6 months)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mediumTerm">
        <xs:annotation>
          <xs:documentation>The roadworks are expected to last for a medium term (1 month &lt; duration &lt; = 6 months).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shortTerm">
        <xs:annotation>
          <xs:documentation>The roadworks are expected to last for a short term ( duration &lt; = 1 month)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RoadworksScaleEnum">
    <xs:annotation>
      <xs:documentation>Scales of roadworks in general terms.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="major">
        <xs:annotation>
          <xs:documentation>The roadworks are of a major scale.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="medium">
        <xs:annotation>
          <xs:documentation>The roadworks are of a medium scale.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="minor">
        <xs:annotation>
          <xs:documentation>The roadworks are of a minor scale.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Seconds">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="ServiceDisruption">
    <xs:annotation>
      <xs:documentation>Details of disruption to normal services (e.g. specific services at a service areas).</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonRoadEventInformation">
        <xs:sequence>
          <xs:element name="serviceDisruptionType" type="D2LogicalModel:ServiceDisruptionTypeEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The type of service which is disrupted.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="serviceDisruptionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ServiceDisruptionTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of disruption to services relevant to road users.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="barClosed">
        <xs:annotation>
          <xs:documentation>Bar closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dieselShortage">
        <xs:annotation>
          <xs:documentation>There is a shortage of diesel at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fuelShortage">
        <xs:annotation>
          <xs:documentation>There is a shortage of fuel (of one or more types) at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lPGShortage">
        <xs:annotation>
          <xs:documentation>There is a shortage of liquid petroleum gas at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="methaneShortage">
        <xs:annotation>
          <xs:documentation>There is a shortage of methane at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noDieselForHeavyVehicles">
        <xs:annotation>
          <xs:documentation>There is no diesel available for heavy goods vehicles at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noDieselForLightVehicles">
        <xs:annotation>
          <xs:documentation>There is no diesel available for light vehicles at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noPublicTelephones">
        <xs:annotation>
          <xs:documentation>There are no available public telephones at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noToiletFacilities">
        <xs:annotation>
          <xs:documentation>There are no available public toilet facilities at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="noVehicleRepairFacilities">
        <xs:annotation>
          <xs:documentation>There are no available vehicle repair facilities at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="petrolShortage">
        <xs:annotation>
          <xs:documentation>There is a shortage of petrol at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restAreaBusy">
        <xs:annotation>
          <xs:documentation>The rest area at the specified location is busy.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restAreaClosed">
        <xs:annotation>
          <xs:documentation>The rest area at the specified location is closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restAreaOvercrowdedDriveToAnotherRestArea">
        <xs:annotation>
          <xs:documentation>The rest area at the specified location is close to capacity and motorists are advised to seek an alternative.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceAreaBusy">
        <xs:annotation>
          <xs:documentation>The service area at the specified location is close to capacity.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceAreaClosed">
        <xs:annotation>
          <xs:documentation>The service area at the specified location is closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceAreaFuelStationClosed">
        <xs:annotation>
          <xs:documentation>The fuel station at the specified service area is closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceAreaOvercrowdedDriveToAnotherServiceArea">
        <xs:annotation>
          <xs:documentation>The service area at the specified location is close to capacity and motorists are advised to seek an alternative.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceAreaRestaurantClosed">
        <xs:annotation>
          <xs:documentation>The restaurant at the specified service area is closed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="someCommercialServicesClosed">
        <xs:annotation>
          <xs:documentation>Some commercial services are closed at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waterShortage">
        <xs:annotation>
          <xs:documentation>There is a shortage of water at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SignSetting" abstract="true">
    <xs:annotation>
      <xs:documentation>Provides information on variable message and matrix signs and the information currently displayed.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:OperatorAction">
        <xs:sequence>
          <xs:element name="datexPictogram" type="D2LogicalModel:DatexPictogramEnum" minOccurs="0" maxOccurs="2">
            <xs:annotation>
              <xs:documentation>Indicates the appropriate pictogram taken from the standardised DATEX pictogram list.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogramList" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates which pictogram list is referenced.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pictogramListEntry" type="D2LogicalModel:String" minOccurs="0" maxOccurs="2">
            <xs:annotation>
              <xs:documentation>Indicates the chosen pictogram within the pictogram list indicated by the pictogram list entry.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="reasonForSetting" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The reason why the sign has been set.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="value" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="D2LogicalModel:MultiLingualString">
                        <xs:attribute name="lang" type="xs:language" />
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="setBy" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The organisation or authority which set the sign.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="value" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="D2LogicalModel:MultiLingualString">
                        <xs:attribute name="lang" type="xs:language" />
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="signAddress" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to indicate the electronic addess to aid identification of the subject sign.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="timeLastSet" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The date/time at which the sign was last set.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="signSettingExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SiteMeasurements">
    <xs:annotation>
      <xs:documentation>A  measurement data set derived from a specific measurement site.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="measurementSiteReference" type="D2LogicalModel:Reference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a measurement site defined in a Measurement Site table.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measurementTimeDefault" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time associated with the set of measurements. It may be the time of the beginning, the end or the middle of the measurement period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="measuredValue" minOccurs="1" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="D2LogicalModel:MeasuredValue">
              <xs:attribute name="index" type="xs:int" use="required" />
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="siteMeasurementsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Situation">
    <xs:annotation>
      <xs:documentation>An identifiable instance of a traffic/travel situation comprising one or more traffic/travel circumstances which are linked by one or more causal relationships. Each traffic/travel circumstance is represented by a Situation Record.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="overallImpact" type="D2LogicalModel:OverallImpactEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The overall assessment of the impact (in terms of severity) that the situation as a whole is having, or will have, on the traffic flow as perceived by the supplier.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="relatedSituation" type="D2LogicalModel:Reference" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A reference to a related situation via its unique identifier.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" minOccurs="1" maxOccurs="1" />
      <xs:element name="situationRecord" type="D2LogicalModel:SituationRecord" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="situationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:complexType name="SituationPublication">
    <xs:annotation>
      <xs:documentation>A publication containing zero or more traffic/travel situations.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="situation" type="D2LogicalModel:Situation" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="situationPublicationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SituationRecord" abstract="true">
    <xs:annotation>
      <xs:documentation>An identifiable instance of a single record/element within a situation.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="situationRecordCreationReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A unique alphanumeric reference (either an external reference or GUID) of the SituationRecord object (the first version of the record) that was created by the original supplier.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="situationRecordCreationTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date/time that the SituationRecord object (the first version of the record) was created by the original supplier.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="situationRecordObservationTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date/time that the information represented by the current version of the SituationRecord was observed by the original (potentially external) source of the information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="situationRecordVersion" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Each record within a situation may iterate through a series of versions during its life time.  The situation record version uniquely identifies the version of a particular record within a situation. It is generated and used by systems external to DATEX 2.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="situationRecordVersionTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date/time that this current version of the SituationRecord was written into the database of the supplier which is involved in the data exchange. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="situationRecordFirstSupplierVersionTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The date/time that the current version of the Situation Record was written into the database of the original supplier in the supply chain.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="informationUsageOverride" type="D2LogicalModel:InformationUsageEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines the use to which the information contained in the situation record can be put. This overrides any usage defined for the situation as a whole in the header information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="probabilityOfOccurrence" type="D2LogicalModel:ProbabilityOfOccurrenceEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An assessment of the degree of likelihood that the reported event will occur.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sourceInformation" type="D2LogicalModel:SourceInformation" minOccurs="0" maxOccurs="1" />
      <xs:element name="validity" type="D2LogicalModel:Validity" minOccurs="1" maxOccurs="1" />
      <xs:element name="impact" type="D2LogicalModel:Impact" minOccurs="0" maxOccurs="1" />
      <xs:element name="cause" type="D2LogicalModel:Cause" minOccurs="0" maxOccurs="1" />
      <xs:element name="advice" type="D2LogicalModel:Advice" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="generalPublicComment" type="D2LogicalModel:Comment" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="nonGeneralPublicComment" type="D2LogicalModel:Comment" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="groupOfLocations" type="D2LogicalModel:GroupOfLocations" minOccurs="1" maxOccurs="1" />
      <xs:element name="management" type="D2LogicalModel:Management" minOccurs="0" maxOccurs="1" />
      <xs:element name="situationRecordExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:complexType name="SourceInformation">
    <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>Coded information 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" 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:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </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="reliable" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>An indication as to whether the source deems the associated information to be reliable/correct. "True" indicates it is deemed reliable.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="sourceInformationExtension" 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:simpleType name="SpeedAdviceEnum">
    <xs:annotation>
      <xs:documentation>Types of advice relating to speed.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="mandatorySpeedLimitInForce">
        <xs:annotation>
          <xs:documentation>Mandatory speed limit in force.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="observeRecommendedSpeed">
        <xs:annotation>
          <xs:documentation>Observe recommended speed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="observeSpeedLimits">
        <xs:annotation>
          <xs:documentation>Observe speed limits.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="policeSpeedChecksInOperation">
        <xs:annotation>
          <xs:documentation>Police speed checks in operation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reduceYourSpeed">
        <xs:annotation>
          <xs:documentation>Reduce your speed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="speedLimitInForceForHeavyVehicles">
        <xs:annotation>
          <xs:documentation>Speed limit in force for heavy vehicles.</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="SpeedPercentile">
    <xs:annotation>
      <xs:documentation>Details of percentage of vehicles whose speeds fall below a stated threshold, expressed as a percentile of the observation set.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="threshold" type="D2LogicalModel:Percentage" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The percentage of vehicles from the observation set whose speed falls below the stated value (i.e. the percentile expressed as a percentage).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="value" type="D2LogicalModel:KilometresPerHour" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The value of the speed corresponding to the associated percentile (defined in "threshold").</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="speedPercentileExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Speeds">
    <xs:annotation>
      <xs:documentation>Supplementary speed advice.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Advice">
        <xs:sequence>
          <xs:element name="speedAdvice" type="D2LogicalModel:SpeedAdviceEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Additional information relating to speed limits or control that can be provided to travellers.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="speedsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="StoZ" abstract="true">
    <xs:annotation>
      <xs:documentation>Enumerations alphabetically ordered between S and Z.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="winterEquipmentAdviceEnum" type="D2LogicalModel:WinterEquipmentAdviceEnum" />
      <xs:element name="vehicleEquipmentEnum" type="D2LogicalModel:VehicleEquipmentEnum" />
      <xs:element name="sourceTypeEnum" type="D2LogicalModel:SourceTypeEnum" />
      <xs:element name="trafficStatusEnum" type="D2LogicalModel:TrafficStatusEnum" />
      <xs:element name="urgencyEnum" type="D2LogicalModel:UrgencyEnum" />
      <xs:element name="trafficDestinationTypeEnum" type="D2LogicalModel:TrafficDestinationTypeEnum" />
      <xs:element name="speedAdviceEnum" type="D2LogicalModel:SpeedAdviceEnum" />
      <xs:element name="transitServiceInformationEnum" type="D2LogicalModel:TransitServiceInformationEnum" />
      <xs:element name="warningAdviceEnum" type="D2LogicalModel:WarningAdviceEnum" />
      <xs:element name="trafficControlTypeEnum" type="D2LogicalModel:TrafficControlTypeEnum" />
      <xs:element name="vehicleTypeEnum" type="D2LogicalModel:VehicleTypeEnum" />
      <xs:element name="vehicleObstructionTypeEnum" type="D2LogicalModel:VehicleObstructionTypeEnum" />
      <xs:element name="vmsfaultEnum" type="D2LogicalModel:VMSFaultEnum" />
      <xs:element name="weatherRelatedRoadConditionTypeEnum" type="D2LogicalModel:WeatherRelatedRoadConditionTypeEnum" />
      <xs:element name="subjectTypeOfWorksEnum" type="D2LogicalModel:SubjectTypeOfWorksEnum" />
      <xs:element name="winterEquipmentRequirementEnum" type="D2LogicalModel:WinterEquipmentRequirementEnum" />
      <xs:element name="vehicleStatusEnum" type="D2LogicalModel:VehicleStatusEnum" />
      <xs:element name="vehicleUsageEnum" type="D2LogicalModel:VehicleUsageEnum" />
      <xs:element name="travelTimeTypeEnum" type="D2LogicalModel:TravelTimeTypeEnum" />
      <xs:element name="serviceDisruptionTypeEnum" type="D2LogicalModel:ServiceDisruptionTypeEnum" />
      <xs:element name="transitServiceTypeEnum" type="D2LogicalModel:TransitServiceTypeEnum" />
      <xs:element name="trafficRestrictionTypeEnum" type="D2LogicalModel:TrafficRestrictionTypeEnum" />
      <xs:element name="validityStatusEnum" type="D2LogicalModel:ValidityStatusEnum" />
      <xs:element name="trafficControlEquipmentTypeEnum" type="D2LogicalModel:TrafficControlEquipmentTypeEnum" />
      <xs:element name="trafficControlOptionsEnum" type="D2LogicalModel:TrafficControlOptionsEnum" />
      <xs:element name="valueCompareOperatorEnum" type="D2LogicalModel:ValueCompareOperatorEnum" />
      <xs:element name="stoZExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
      <xs:element name="travelTimeTrendTypeEnum" type="D2LogicalModel:TravelTimeTrendTypeEnum" />
      <xs:element name="vmstypeEnum" type="D2LogicalModel:VMSTypeEnum" />
      <xs:element name="trafficTrendTypeEnum" type="D2LogicalModel:TrafficTrendTypeEnum" />
      <xs:element name="weekOfMonthEnum" type="D2LogicalModel:WeekOfMonthEnum" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="String">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1024" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SubjectTypeOfWorks">
    <xs:annotation>
      <xs:documentation>The type of subject to which the roadworks are associated.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="subjectTypeOfWorks" type="D2LogicalModel:SubjectTypeOfWorksEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The subject of the roadworks (i.e on what the construction or maintenance work is being performed).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="numberOfSubjects" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of subjects on which the roadworks (construction or maintenance) are being performed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="subjectTypeOfWorksExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SubjectTypeOfWorksEnum">
    <xs:annotation>
      <xs:documentation>Subject types of construction or maintenance work.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="bridge">
        <xs:annotation>
          <xs:documentation>Bridge on, over or under the highway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="buriedCables">
        <xs:annotation>
          <xs:documentation>Buried cables under or along the highway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="buriedServices">
        <xs:annotation>
          <xs:documentation>Unspecified buried services on, under or along the highway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carriageway">
        <xs:annotation>
          <xs:documentation>Road carriageway comprising one or more lanes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="centralReservation">
        <xs:annotation>
          <xs:documentation>Central reservation (median).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="crashBarrier">
        <xs:annotation>
          <xs:documentation>Crash barrier.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gallery">
        <xs:annotation>
          <xs:documentation>Gallery.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="gasMainWork">
        <xs:annotation>
          <xs:documentation>Gas mains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="interchange">
        <xs:annotation>
          <xs:documentation>Motorway or major road interchange.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="junction">
        <xs:annotation>
          <xs:documentation>Motorway or major road junction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lane">
        <xs:annotation>
          <xs:documentation>Lane either along or adjacent to an existing carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="levelCrossing">
        <xs:annotation>
          <xs:documentation>Level-crossing or associated equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lightingSystem">
        <xs:annotation>
          <xs:documentation>Road lighting system.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="measurementEquipment">
        <xs:annotation>
          <xs:documentation>Equipment used for determining traffic measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="road">
        <xs:annotation>
          <xs:documentation>Road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadsideEquipment">
        <xs:annotation>
          <xs:documentation>Road side equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadSigns">
        <xs:annotation>
          <xs:documentation>Road signs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roundabout">
        <xs:annotation>
          <xs:documentation>Roundabout.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tunnel">
        <xs:annotation>
          <xs:documentation>Road tunnel.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="waterMain">
        <xs:annotation>
          <xs:documentation>Water main under or along the highway.</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="Subscription">
    <xs:annotation>
      <xs:documentation>This item contains all information relating to a customer subscription.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="deleteSubscription" type="D2LogicalModel:Boolean" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates that this subscription has to be deleted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="deliveryInterval" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Value of the interval of data delivery in the "periodic" delivery mode.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="operatingMode" type="D2LogicalModel:OperatingModeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The mode of operation of the exchange.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="subscriptionStartTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Gives the date/time at which the subscription becomes active.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="subscriptionState" type="D2LogicalModel:SubscriptionStateEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The current state of the the client's subscription.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="subscriptionStopTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Gives the date/time at which the subscription expires.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="updateMethod" type="D2LogicalModel:UpdateMethodEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of updates of situations requested by the client.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="target" type="D2LogicalModel:Target" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="filterReference" type="D2LogicalModel:FilterReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="catalogueReference" type="D2LogicalModel:CatalogueReference" minOccurs="0" maxOccurs="1" />
      <xs:element name="subscriptionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SubscriptionStateEnum">
    <xs:annotation>
      <xs:documentation>The state of a client's current subscription.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="active">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="suspended">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </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="carriageway" type="D2LogicalModel:CarriagewayEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Indicates the section of carriageway 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="lanes" type="D2LogicalModel:LanesEnum" 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="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="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="supplementaryPositionalDescriptionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Target">
    <xs:annotation>
      <xs:documentation>The details of a DATEX II target client.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="address" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The IP address of a DATEX II target client.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="protocol" type="D2LogicalModel:String" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The exchange protocol used between the supplier and the client.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="targetExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </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:TemperatureCelsius" minOccurs="0" maxOccurs="1">
        <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:TemperatureCelsius" minOccurs="0" maxOccurs="1">
        <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:TemperatureCelsius" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The expected maximum temperature during the forecast period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="minimumTemperature" type="D2LogicalModel:TemperatureCelsius" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The expected minimum temperature during the forecast 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: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:WeatherValue">
        <xs:sequence>
          <xs:element name="temperature" type="D2LogicalModel:Temperature" minOccurs="1" maxOccurs="1" />
          <xs:element name="temperatureInformationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TemporaryLimits">
    <xs:annotation>
      <xs:documentation>Temporary limits imposed by the network/road operator at a location on the road network which may be advisory or mandatory.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficControl">
        <xs:sequence>
          <xs:element name="temporarySpeedLimit" type="D2LogicalModel:KilometresPerHour" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Temporary limit defining the maximum advisory or mandatory speed of vehicles.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="temporaryLimitsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Time">
    <xs:simpleContent>
      <xs:extension base="xs:time" />
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="TimePeriodByHour">
    <xs:annotation>
      <xs:documentation>Specification of a continuous period within a 24 hour period by times.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TimePeriodOfDay">
        <xs:sequence>
          <xs:element name="startTimeOfPeriod" type="D2LogicalModel:Time" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Start of time period.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="endTimeOfPeriod" type="D2LogicalModel:Time" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>End of time period.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="timePeriodByHourExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TimePeriodOfDay" abstract="true">
    <xs:annotation>
      <xs:documentation>Specification of a continuous period of time within a 24 hour period.#NOTES#
</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="timePeriodOfDayExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="Tonnes">
    <xs:restriction base="D2LogicalModel:Float" />
  </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="tpegDescriptorType" type="D2LogicalModel:TPEGLoc03AreaDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the nature of the descriptor used to define the area 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="TPEGAreaLocation" abstract="true">
    <xs:annotation>
      <xs:documentation>A geographic or geometric area defined by a TPEG-Loc structure which may include height information for additional geospatial descrimination.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tpegLocationType" type="D2LogicalModel:TPEGLoc01AreaLocationSubtypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of TPEG loction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tpegheight" type="D2LogicalModel:TPEGHeight" minOccurs="0" maxOccurs="1" />
      <xs:element name="tpegareaLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPEGDescriptor" abstract="true">
    <xs:annotation>
      <xs:documentation>A collection of information providing descriptive references to locations using the TPEG-Loc location referencing approach.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="descriptor" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A text string which describes or elaborates the location.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="tpegdescriptorExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPEGEnumerations" abstract="true">
    <xs:annotation>
      <xs:documentation>Enumerations used exclusively in the TPEG-Loc sub-model.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tpegloc03ILCPointDescriptorSubtypeEnum" type="D2LogicalModel:TPEGLoc03ILCPointDescriptorSubtypeEnum" />
      <xs:element name="tpegenumerationsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
      <xs:element name="tpegloc02DirectionTypeEnum" type="D2LogicalModel:TPEGLoc02DirectionTypeEnum" />
      <xs:element name="tpegloc01LinearLocationSubtypeEnum" type="D2LogicalModel:TPEGLoc01LinearLocationSubtypeEnum" />
      <xs:element name="tpegloc01AreaLocationSubtypeEnum" type="D2LogicalModel:TPEGLoc01AreaLocationSubtypeEnum" />
      <xs:element name="tpegloc01FramedPointLocationSubtypeEnum" type="D2LogicalModel:TPEGLoc01FramedPointLocationSubtypeEnum" />
      <xs:element name="tpegloc03OtherPointDescriptorSubtypeEnum" type="D2LogicalModel:TPEGLoc03OtherPointDescriptorSubtypeEnum" />
      <xs:element name="tpegloc01SimplePointLocationSubtypeEnum" type="D2LogicalModel:TPEGLoc01SimplePointLocationSubtypeEnum" />
      <xs:element name="tpegloc04HeightTypeEnum" type="D2LogicalModel:TPEGLoc04HeightTypeEnum" />
      <xs:element name="tpegloc03JunctionPointDescriptorSubtypeEnum" type="D2LogicalModel:TPEGLoc03JunctionPointDescriptorSubtypeEnum" />
      <xs:element name="tpegloc03AreaDescriptorSubtypeEnum" type="D2LogicalModel:TPEGLoc03AreaDescriptorSubtypeEnum" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPEGFramedPoint">
    <xs:annotation>
      <xs:documentation>A point on the road network which is framed between two other points on the same road.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGPointLocation">
        <xs:sequence>
          <xs:element name="tpegLocationType" type="D2LogicalModel:TPEGLoc01FramedPointLocationSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of TPEG location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="framedPoint" type="D2LogicalModel:TPEGNonJunctionPoint" minOccurs="1" maxOccurs="1" />
          <xs:element name="to" type="D2LogicalModel:TPEGPoint" minOccurs="1" maxOccurs="1" />
          <xs:element name="from" type="D2LogicalModel:TPEGPoint" minOccurs="1" maxOccurs="1" />
          <xs:element name="tpegframedPointExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGGeometricArea">
    <xs:annotation>
      <xs:documentation>A geometric area defined by a centre point and a radius.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGAreaLocation">
        <xs:sequence>
          <xs:element name="radius" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The radius of the geometric area identified.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="centrePoint" type="D2LogicalModel:PointCoordinates" minOccurs="1" maxOccurs="1" />
          <xs:element name="name" type="D2LogicalModel:TPEGAreaDescriptor" minOccurs="0" maxOccurs="1" />
          <xs:element name="tpeggeometricAreaExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGHeight">
    <xs:annotation>
      <xs:documentation>Height information which provides additional descrimination for the applicable area.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="height" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A measurement of height using TPEG-Loc location referencing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="heightType" type="D2LogicalModel:TPEGLoc04HeightTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A descriptive identification of relative height using TPEG-Loc location referencing.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tpegheightExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPEGILCPointDescriptor">
    <xs:annotation>
      <xs:documentation>A descriptor for describing a junction by defining the intersecting roads.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegDescriptorType" type="D2LogicalModel:TPEGLoc03ILCPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The nature of the descriptor used to define the intersecting location under consideration (derived from the TPEG Loc table 03).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="tpegilcpointDescriptorExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGJunction">
    <xs:annotation>
      <xs:documentation>A point on the road network which is a road junction point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGPoint">
        <xs:sequence>
          <xs:element name="pointCoordinates" type="D2LogicalModel:PointCoordinates" minOccurs="1" maxOccurs="1" />
          <xs:element name="name" type="D2LogicalModel:TPEGJunctionPointDescriptor" minOccurs="0" maxOccurs="1" />
          <xs:element name="ilc" type="D2LogicalModel:TPEGILCPointDescriptor" minOccurs="1" maxOccurs="3" />
          <xs:element name="otherName" type="D2LogicalModel:TPEGOtherPointDescriptor" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="tpegjunctionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGJunctionPointDescriptor">
    <xs:annotation>
      <xs:documentation>A descriptor for describing a point at a junction on a road network.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegDescriptorType" type="D2LogicalModel:TPEGLoc03JunctionPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The nature of the descriptor used to define the junction point under consideration (derived from the TPEG Loc table 03).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="tpegjunctionPointDescriptorExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGLinearLocation">
    <xs:annotation>
      <xs:documentation>A linear section along a road defined between two points on the road by a TPEG-Loc structure.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tpegDirection" type="D2LogicalModel:TPEGLoc02DirectionTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow on the linear section of the road.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tpegLocationType" type="D2LogicalModel:TPEGLoc01LinearLocationSubtypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of TPEG location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="to" type="D2LogicalModel:TPEGPoint" minOccurs="1" maxOccurs="1" />
      <xs:element name="from" type="D2LogicalModel:TPEGPoint" minOccurs="1" maxOccurs="1" />
      <xs:element name="tpeglinearLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TPEGLoc01AreaLocationSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Types of area.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="largeArea">
        <xs:annotation>
          <xs:documentation>A geographic or geometric large area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPEGLoc01FramedPointLocationSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Types of points on the road network framed by two other points on the same road.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="framedPoint">
        <xs:annotation>
          <xs:documentation>A point on the road network framed by two other points on the same road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPEGLoc01LinearLocationSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Types of linear location.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="segment">
        <xs:annotation>
          <xs:documentation>A segment (or link) of the road network corresponding to the way in which the road operator has segmented the network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPEGLoc01SimplePointLocationSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Types of simple point.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="intersection">
        <xs:annotation>
          <xs:documentation>An point on the road network at which one or more roads intersect.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonLinkedPoint">
        <xs:annotation>
          <xs:documentation>A point on the road network which is not at a junction or intersection.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPEGLoc02DirectionTypeEnum">
    <xs:annotation>
      <xs:documentation>List of directions of travel.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="allDirections">
        <xs:annotation>
          <xs:documentation>All directions (where more than two are applicable) at this point on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="anticlockwise">
        <xs:annotation>
          <xs:documentation>Anti-clockwise.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bothWays">
        <xs:annotation>
          <xs:documentation>Both directions that are applicable at this point on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="clockwise">
        <xs:annotation>
          <xs:documentation>Clockwise.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="eastBound">
        <xs:annotation>
          <xs:documentation>East bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="innerRing">
        <xs:annotation>
          <xs:documentation>Inner ring direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northBound">
        <xs:annotation>
          <xs:documentation>North bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northEastBound">
        <xs:annotation>
          <xs:documentation>North east bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="northWestBound">
        <xs:annotation>
          <xs:documentation>North west bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="opposite">
        <xs:annotation>
          <xs:documentation>Opposite direction to the normal direction of flow at this point on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="outerRing">
        <xs:annotation>
          <xs:documentation>Outer ring direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southBound">
        <xs:annotation>
          <xs:documentation>South bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southEastBound">
        <xs:annotation>
          <xs:documentation>South east bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="southWestBound">
        <xs:annotation>
          <xs:documentation>South west bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="westBound">
        <xs:annotation>
          <xs:documentation>West bound general direction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Direction is unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPEGLoc03AreaDescriptorSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Descriptors for describing area locations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAreaName">
        <xs:annotation>
          <xs:documentation>Name of an administrative area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="administrativeReferenceName">
        <xs:annotation>
          <xs:documentation>Reference name by which administrative area is known.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="areaName">
        <xs:annotation>
          <xs:documentation>Name of area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="countyName">
        <xs:annotation>
          <xs:documentation>Name of county (administrative sub-division).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lakeName">
        <xs:annotation>
          <xs:documentation>Name of lake.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nationName">
        <xs:annotation>
          <xs:documentation>Name of 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="TPEGLoc03ILCPointDescriptorSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Descriptors for describing a junction by identifying the intersecting roads at a road junction.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="tpegILCName1">
        <xs:annotation>
          <xs:documentation>The name of the road on which the junction point is located.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tpegILCName2">
        <xs:annotation>
          <xs:documentation>The name of the first intersecting road at the junction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tpegILCName3">
        <xs:annotation>
          <xs:documentation>The name of the second intersecting road (if one exists) at the junction.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPEGLoc03JunctionPointDescriptorSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Descriptors for describing a point at a road junction.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="junctionName">
        <xs:annotation>
          <xs:documentation>Name of a road network junction where two or more roads join.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPEGLoc03OtherPointDescriptorSubtypeEnum">
    <xs:annotation>
      <xs:documentation>Descriptors other than junction names and road descriptors which can help to identify the location of points on the road network.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="airportName">
        <xs:annotation>
          <xs:documentation>Name of an airport.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="buildingName">
        <xs:annotation>
          <xs:documentation>Name of a building.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busStopIdentifier">
        <xs:annotation>
          <xs:documentation>Identifier of a bus stop on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="busStopName">
        <xs:annotation>
          <xs:documentation>Name of a bus stop on the road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="canalName">
        <xs:annotation>
          <xs:documentation>Name of a canal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferryPortName">
        <xs:annotation>
          <xs:documentation>Name of a ferry port.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="intersectionName">
        <xs:annotation>
          <xs:documentation>Name of a road network intersection.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lakeName">
        <xs:annotation>
          <xs:documentation>Name of a lake.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="linkName">
        <xs:annotation>
          <xs:documentation>Name of a road link.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="localLinkName">
        <xs:annotation>
          <xs:documentation>Local name of a road link.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="metroStationName">
        <xs:annotation>
          <xs:documentation>Name of a metro/underground station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonLinkedPointName">
        <xs:annotation>
          <xs:documentation>Name of a point on the road network which is not at a junction or intersection. </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="parkingFacilityName">
        <xs:annotation>
          <xs:documentation>Name of a parking facility.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pointName">
        <xs:annotation>
          <xs:documentation>Name of a specific point.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pointOfInterestName">
        <xs:annotation>
          <xs:documentation>Name of general point of interest.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railwayStation">
        <xs:annotation>
          <xs:documentation>Name of a railway station.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="riverName">
        <xs:annotation>
          <xs:documentation>Name of a river.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="seaName">
        <xs:annotation>
          <xs:documentation>Name of a sea.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceAreaName">
        <xs:annotation>
          <xs:documentation>Name of a service area on a road network.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tidalRiverName">
        <xs:annotation>
          <xs:documentation>Name of a river which is of a tidal nature.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="townName">
        <xs:annotation>
          <xs:documentation>Name of a town.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TPEGLoc04HeightTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of height.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="above">
        <xs:annotation>
          <xs:documentation>Height above specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="aboveSeaLevel">
        <xs:annotation>
          <xs:documentation>Height above mean sea high water level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="aboveStreetLevel">
        <xs:annotation>
          <xs:documentation>Height above street level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="at">
        <xs:annotation>
          <xs:documentation>At height of specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atSeaLevel">
        <xs:annotation>
          <xs:documentation>At mean sea high water level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="atStreetLevel">
        <xs:annotation>
          <xs:documentation>At street level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="below">
        <xs:annotation>
          <xs:documentation>Height below specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="belowSeaLevel">
        <xs:annotation>
          <xs:documentation>Height below mean sea high water level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="belowStreetLevel">
        <xs:annotation>
          <xs:documentation>Height below street level.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="undefined">
        <xs:annotation>
          <xs:documentation>Undefined height reference.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown height reference.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TPEGNamedOnlyArea">
    <xs:annotation>
      <xs:documentation>An area defined by a well known name.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGAreaLocation">
        <xs:sequence>
          <xs:element name="name" type="D2LogicalModel:TPEGAreaDescriptor" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="tpegnamedOnlyAreaExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGNonJunctionPoint">
    <xs:annotation>
      <xs:documentation>A point on the road network which is not a road junction point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGPoint">
        <xs:sequence>
          <xs:element name="pointCoordinates" type="D2LogicalModel:PointCoordinates" minOccurs="1" maxOccurs="1" />
          <xs:element name="name" type="D2LogicalModel:TPEGOtherPointDescriptor" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="tpegnonJunctionPointExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGOtherPointDescriptor">
    <xs:annotation>
      <xs:documentation>General descriptor for describing a point.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegDescriptorType" type="D2LogicalModel:TPEGLoc03OtherPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The nature of the "otherName" descriptor used to define the point (derived from the TPEG Loc table 03).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="tpegotherPointDescriptorExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>A point on the road network which is either a junction point or a non junction point.</xs:documentation>
    </xs:annotation>
  </xs:complexType>
  <xs:complexType name="TPEGPointDescriptor" abstract="true">
    <xs:annotation>
      <xs:documentation>A descriptor for describing a point location.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGDescriptor">
        <xs:sequence>
          <xs:element name="tpegpointDescriptorExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TPEGPointLocation" abstract="true">
    <xs:annotation>
      <xs:documentation>A single point on the road network defined by a TPEG-Loc structure and which has an associated direction of traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="tpegDirection" type="D2LogicalModel:TPEGLoc02DirectionTypeEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The direction of traffic flow at the point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="tpegpointLocationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TPEGSimplePoint">
    <xs:annotation>
      <xs:documentation>A point on the road network which is not bounded by any other points on the road network.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TPEGPointLocation">
        <xs:sequence>
          <xs:element name="tpegLocationType" type="D2LogicalModel:TPEGLoc01SimplePointLocationSubtypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of TPEG location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="point" type="D2LogicalModel:TPEGPoint" minOccurs="1" maxOccurs="1" />
          <xs:element name="tpegsimplePointExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficConcentration">
    <xs:annotation>
      <xs:documentation>Averaged measurements of traffic concentration.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficValue">
        <xs:sequence>
          <xs:element name="concentration" type="D2LogicalModel:ConcentrationVehiclesPerKilometre" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An averaged measurement of the concentration of vehicles at the specified measurement point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="occupancy" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An averaged measurement of the percentage of time that a section of road at the specified measurement point is occuppied by vehicles.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="trafficConcentrationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficControl">
    <xs:annotation>
      <xs:documentation>Specification of traffic management controls which affect the road network that have been instigated by the network/road operator. These controls may require either optional or mandatory compliance.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="trafficControlOptions" type="D2LogicalModel:TrafficControlOptionsEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines whether the traffic control carries an optional or mandatory compliance requirement.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trafficControlType" type="D2LogicalModel:TrafficControlTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Defines the type of traffic control instigated by the network/road operator.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trafficControlExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TrafficControlEquipmentTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of traffic control equipment.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="laneControlSigns">
        <xs:annotation>
          <xs:documentation>Signs used to control lane usage (e.g. in tidal flow systems or hard shoulder running).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rampControls">
        <xs:annotation>
          <xs:documentation>Ramp control equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="speedControlSigns">
        <xs:annotation>
          <xs:documentation>Signs used to control traffic speed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tollGates">
        <xs:annotation>
          <xs:documentation>Toll gates.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficLightSets">
        <xs:annotation>
          <xs:documentation>Sets of traffic lights.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TrafficControlOptionsEnum">
    <xs:annotation>
      <xs:documentation>Types of regulatory status of traffic controls.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="advisory">
        <xs:annotation>
          <xs:documentation>Defined traffic control is advisory.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="mandatory">
        <xs:annotation>
          <xs:documentation>Defined traffic control is mandatory.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TrafficControlTypeEnum">
    <xs:annotation>
      <xs:documentation>List of trafic control type measures.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="activeSpeedControl">
        <xs:annotation>
          <xs:documentation>Automatic speed control measures are in place at the specified location, whereby mandatory speed limits are set based on the output from traffic sensing equipment.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hardShoulderRunning">
        <xs:annotation>
          <xs:documentation>Active traffic management is operating whereby hardshoulder running is permitted.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="operatorImposedLimitOrRestriction">
        <xs:annotation>
          <xs:documentation>Operator imposed temporary limit of some type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rampMeteringActive">
        <xs:annotation>
          <xs:documentation>Ramp metering is now active at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rerouting">
        <xs:annotation>
          <xs:documentation>Rerouting of traffic is now active at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tollGatesOpen">
        <xs:annotation>
          <xs:documentation>Toll gates are open with no fee collection at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleStorageActive">
        <xs:annotation>
          <xs:documentation>Vehicles are being stored on the roadway and/or at a rest area or service area at the specified location.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TrafficDestinationTypeEnum">
    <xs:annotation>
      <xs:documentation>The type of destination to which the traffic is heading towards.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="destinedForAirport">
        <xs:annotation>
          <xs:documentation>Vehicle(s) destined for the airport.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="destinedForFerryService">
        <xs:annotation>
          <xs:documentation>Vehicle(s) destined for the ferry service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="destinedForRailService">
        <xs:annotation>
          <xs:documentation>Vehicle(s) destined for the rail service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="throughTraffic">
        <xs:annotation>
          <xs:documentation>Vehicle(s) not destined for local town, city or built up area but for transit though the area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrafficElement" abstract="true">
    <xs:annotation>
      <xs:documentation>An event which is not planned by the traffic operator, which is affecting, or has the potential to affect traffic flow.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SituationRecord">
        <xs:sequence>
          <xs:element name="trafficElementExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficFlow">
    <xs:annotation>
      <xs:documentation>Averaged measurements of traffic flow rates.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficValue">
        <xs:sequence>
          <xs:element name="axleFlow" type="D2LogicalModel:AxlesPerHour" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An averaged measurement of flow rate defined in terms of the number of vehicle axles passing the specified measurement point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="pCUFlow" type="D2LogicalModel:PassengerCarUnitsPerHour" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An averaged measurement of flow rate defined in terms of the number of passenger car units passing the specified measurement point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="percentageLongVehicles" type="D2LogicalModel:Percentage" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An averaged measurement of the percentage of long vehicles contained in the traffic flow at the specified measurement point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vehicleFlow" type="D2LogicalModel:VehiclesPerHour" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An averaged measurement of flow rate defined in terms of the number of vehicles passing the specified measurement point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="trafficFlowExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficHeadway">
    <xs:annotation>
      <xs:documentation>Averaged measurement of traffic headway, i.e. the distance between vehicles.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficValue">
        <xs:sequence>
          <xs:element name="averageDistanceHeadway" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The average distance between the front (respectively back) of this vehicle and the front (respectively  back) of the preceding vehicle, averaged for all vehicles within a defined measurement period at the specified measurement point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="averageTimeHeadway" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The average time gap between the front (respectively back) of this vehicle and the front (respectively  back) of the preceding vehicle, averaged for all vehicles within a defined measurement period at the specified measurement point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="trafficHeadwayExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TrafficRestrictionTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of restriction to which traffic is subjected as a result of an unplanned event.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="carriagewayBlocked">
        <xs:annotation>
          <xs:documentation>The carriageway is totally obstructed in the specified direction due to an unplanned event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carriagewayPartiallyObstructed">
        <xs:annotation>
          <xs:documentation>The carriageway is partially obstructed in the specified direction due to an unplanned event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="laneDeviated">
        <xs:annotation>
          <xs:documentation>Traffic in the specified direction is required to deviate from the normal lane(s) due to an unplanned event (e.g. via hard shoulder).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanesBlocked">
        <xs:annotation>
          <xs:documentation>One or more lanes is totally obstructed in the specified direction due to an unplanned event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lanesPartiallyObstructed">
        <xs:annotation>
          <xs:documentation>One or more lanes is partially obstructed in the specified direction due to an unplanned event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadBlocked">
        <xs:annotation>
          <xs:documentation>The road is totally obstructed, for all vehicles in both directions, due to an unplanned event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadPartiallyObstructed">
        <xs:annotation>
          <xs:documentation>The road is partially obstructed in both directions due to an unplanned event.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrafficSpeed">
    <xs:annotation>
      <xs:documentation>Averaged measurements of traffic speed.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:TrafficValue">
        <xs:sequence>
          <xs:element name="averageVehicleSpeed" type="D2LogicalModel:KilometresPerHour" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>An averaged measurement of the speed of vehicles at the specified measurement point.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="speedPercentile" type="D2LogicalModel:SpeedPercentile" minOccurs="0" maxOccurs="1" />
          <xs:element name="trafficSpeedExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TrafficStatusEnum">
    <xs:annotation>
      <xs:documentation>List of terms used to describe traffic conditions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="impossible">
        <xs:annotation>
          <xs:documentation>Traffic in the specified direction is completely congested, effectively at a standstill, making driving impossible.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="congested">
        <xs:annotation>
          <xs:documentation>Traffic in the specified direction is congested making driving very slow and difficult.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavy">
        <xs:annotation>
          <xs:documentation>Traffic in the specified direction is heavier than usual making driving conditions more difficult than normal.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freeFlow">
        <xs:annotation>
          <xs:documentation>Traffic in the specified direction is free flowing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Traffic conditions are unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrafficStatusValue">
    <xs:annotation>
      <xs:documentation>The status of traffic conditions on a specific section or at a specific point on the road network.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicDataValue">
        <xs:sequence>
          <xs:element name="trafficStatus" type="D2LogicalModel:TrafficStatusEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Status of traffic conditions on the identified section of road in the specified direction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="trafficTrendType" type="D2LogicalModel:TrafficTrendTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A characterisation of the trend in the traffic conditions at the specified location and direction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="trafficStatusValueExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TrafficTrendTypeEnum">
    <xs:annotation>
      <xs:documentation>List of terms used to describe the trend in traffic conditions.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="trafficBuildingUp">
        <xs:annotation>
          <xs:documentation>Traffic conditions are changing from free-flow to heavy or slow service levels.  Queues may also be expected.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficEasing">
        <xs:annotation>
          <xs:documentation>Traffic conditions are changing from heavy or slow service levels to free-flow.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficStable">
        <xs:annotation>
          <xs:documentation>Traffic conditions are currently stable.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>The trend of traffic conditions is currently unknown.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TrafficValue" abstract="true">
    <xs:annotation>
      <xs:documentation>Measured or derived values relating to traffic or individual vehicle movements on a specific section or at a specific point on the road network.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicDataValue">
        <xs:sequence>
          <xs:element name="vehicleCharacteristics" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="1" />
          <xs:element name="trafficValueExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficView">
    <xs:annotation>
      <xs:documentation>An identifiable instance of a traffic view at a single point in time relating to a predefined location set, comprising one or more linear traffic views each of which comprise one or more traffic view records.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="trafficViewTime" type="D2LogicalModel:DateTime" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time to which the traffic view relates, i.e. the instance in time at which the traffic view was taken (comparable to taking a photograph).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="predefinedLocationSetReference" type="D2LogicalModel:Reference" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A reference to a predefined location set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="linearTrafficView" type="D2LogicalModel:LinearTrafficView" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="trafficViewExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:complexType name="TrafficViewPublication">
    <xs:annotation>
      <xs:documentation>A publication containing one or more traffic views.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="D2LogicalModel:HeaderInformation" minOccurs="1" maxOccurs="1" />
          <xs:element name="trafficView" type="D2LogicalModel:TrafficView" minOccurs="1" maxOccurs="unbounded" />
          <xs:element name="trafficViewPublicationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TrafficViewRecord">
    <xs:annotation>
      <xs:documentation>An identifiable instance of a single record within a traffic view.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="recordSequenceNumber" type="D2LogicalModel:NonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A number identifying the sequence of the record within the set of records which comprise the traffic view.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="trafficElement" type="D2LogicalModel:TrafficElement" minOccurs="0" maxOccurs="1" />
      <xs:element name="operatorAction" type="D2LogicalModel:OperatorAction" minOccurs="0" maxOccurs="1" />
      <xs:element name="elaboratedData" type="D2LogicalModel:ElaboratedData" minOccurs="0" maxOccurs="1" />
      <xs:element name="cctvimages" type="D2LogicalModel:CCTVImages" minOccurs="0" maxOccurs="1" />
      <xs:element name="trafficViewRecordExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:ID" use="required" />
  </xs:complexType>
  <xs:complexType name="TransitInformation">
    <xs:annotation>
      <xs:documentation>The availability of transit services and information relating to their departures. This is limited to those transit services which are of direct relevance to road users, e.g. connecting rail or ferry services.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:NonRoadEventInformation">
        <xs:sequence>
          <xs:element name="journeyDestination" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the stated termination point of the transit journey.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="value" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="D2LogicalModel:MultiLingualString">
                        <xs:attribute name="lang" type="xs:language" />
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="journeyOrigin" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the stated starting point of the transit journey.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="value" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="D2LogicalModel:MultiLingualString">
                        <xs:attribute name="lang" type="xs:language" />
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="journeyReference" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates a transit service journey number.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="transitServiceInformation" type="D2LogicalModel:TransitServiceInformationEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Information about transit services.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="transitServiceType" type="D2LogicalModel:TransitServiceTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The type of transit service to which the information relates.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="scheduledDepartureTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the timetabled departure time of a transit service for a specified location.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="transitInformationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="TransitServiceInformationEnum">
    <xs:annotation>
      <xs:documentation>Types of public transport information.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="cancellations">
        <xs:annotation>
          <xs:documentation>Public transport, park-and-ride, rail or bus services will be cancelled until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delayDueToBadWeather">
        <xs:annotation>
          <xs:documentation>The specified service is delayed due to bad weather.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delayDueToRepairs">
        <xs:annotation>
          <xs:documentation>The specified service is delayed due to the need for repairs.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delayedUntilFurtherNotice">
        <xs:annotation>
          <xs:documentation>The specified public transport service will be delayed until further notice.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="delaysDueToFlotsum">
        <xs:annotation>
          <xs:documentation>The departure of the specified ferry service is delayed due to flotsum.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="departureOnSchedule">
        <xs:annotation>
          <xs:documentation>The departure of the specified service is on schedule.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferryDelayed">
        <xs:annotation>
          <xs:documentation>The departure of the specified ferry service is delayed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferryLoadCapacityChanged">
        <xs:annotation>
          <xs:documentation>The load capacity of the ferry operating the specified service has been changed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferryReplacedByIceRoad">
        <xs:annotation>
          <xs:documentation>The ferry service has been replaced by an ice road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferryServiceNotOperating">
        <xs:annotation>
          <xs:documentation>The specified ferry service is not operating until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferryServicesIrregularDelays">
        <xs:annotation>
          <xs:documentation>The specified ferry service is subject to irregular delays.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="freeShuttleServiceOperating">
        <xs:annotation>
          <xs:documentation>A shuttle service is operating at no charge between specified locations until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railInformationServiceNotAvailable">
        <xs:annotation>
          <xs:documentation>The information service relating to the rail transport system is not currently available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railServicesIrregularDelays">
        <xs:annotation>
          <xs:documentation>The specified rail service is running at irregular intervals and delays are expected for passengers.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="railServiceNotOperating">
        <xs:annotation>
          <xs:documentation>The specified rail service is not operating until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rapidTransitInformationServiceNotAvailable">
        <xs:annotation>
          <xs:documentation>The information service relating to the rapid transit system is not currently available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="restrictionsForLongerVehicles">
        <xs:annotation>
          <xs:documentation>Long vehicles are subject to restrictions on the specified service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceDelays">
        <xs:annotation>
          <xs:documentation>The specified service is subject to delays.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceDelaysOfUncertainDuration">
        <xs:annotation>
          <xs:documentation>The specified service is subject to delays whose predicted duration cannot be estimated accurately.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceFullyBooked">
        <xs:annotation>
          <xs:documentation>The departure of the specified service is fully booked.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceNotOperatingSubstituteServiceAvailable">
        <xs:annotation>
          <xs:documentation>The specified service is not operating but an alternative service is available.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceSuspended">
        <xs:annotation>
          <xs:documentation>The specified service has been suspended until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="serviceWithdrawn">
        <xs:annotation>
          <xs:documentation>The specified service has been cancelled.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="shuttleServiceOperating">
        <xs:annotation>
          <xs:documentation>A shuttle service is operating between the specified locations until the specified time.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="temporaryChangesToTimetables">
        <xs:annotation>
          <xs:documentation>The timetable for the specified service is subject to temporary changes.</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="TransitServiceTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of transport services available to the general public.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="air">
        <xs:annotation>
          <xs:documentation>Air service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bus">
        <xs:annotation>
          <xs:documentation>Bus service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ferry">
        <xs:annotation>
          <xs:documentation>Ferry service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="hydrofoil">
        <xs:annotation>
          <xs:documentation>Hydrofoil service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rail">
        <xs:annotation>
          <xs:documentation>Rail service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="tram">
        <xs:annotation>
          <xs:documentation>Tram service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="undergroundMetro">
        <xs:annotation>
          <xs:documentation>Underground or metro service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TravelTimeTrendTypeEnum">
    <xs:annotation>
      <xs:documentation>List of terms used to describe the trend in travel times.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="decreasing">
        <xs:annotation>
          <xs:documentation>Travel times are decreasing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="increasing">
        <xs:annotation>
          <xs:documentation>Travel times are increasing.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="stable">
        <xs:annotation>
          <xs:documentation>Travel times are stable.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TravelTimeTypeEnum">
    <xs:annotation>
      <xs:documentation>List of ways in which travel times are derived.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="best">
        <xs:annotation>
          <xs:documentation>Travel time is derived from the best out of a monitored sample.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="estimated">
        <xs:annotation>
          <xs:documentation>Travel time is an automated estimate.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="instantaneous">
        <xs:annotation>
          <xs:documentation>Travel time is derived from instantaneous measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="reconstituted">
        <xs:annotation>
          <xs:documentation>Travel time is reconstituted from other measurements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TravelTimeValue">
    <xs:annotation>
      <xs:documentation>Derived/computed travel time information relating to a specific group of locations.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicDataValue">
        <xs:sequence>
          <xs:element name="travelTime" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Travel time between the defined locations in the specified direction.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="travelTimeTrendType" type="D2LogicalModel:TravelTimeTrendTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The current trend in the travel time between the defined locations in the specified direction..</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="travelTimeType" type="D2LogicalModel:TravelTimeTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indication of the way in which the travel time is derived.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="freeFlowSpeed" type="D2LogicalModel:KilometresPerHour" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The free flow speed expected under ideal conditions, corresponding to the freeFlowTravelTime.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="freeFlowTravelTime" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The travel time which would be expected under ideal free flow conditions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="normallyExpectedTravelTime" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The travel time which is expected for the given period (e.g. date/time, holiday status etc.) and any known quasi-static conditions (e.g. long term roadworks). This value is derived from historical analysis.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vehicleType" type="D2LogicalModel:VehicleTypeEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The types of vehicle to which the travel time relates.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="travelTimeValueExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="UpdateMethodEnum">
    <xs:annotation>
      <xs:documentation>The types of updates of situations that may be requested by a client.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="allElementUpdate">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="singleElementUpdate">
        <xs:annotation>
          <xs:documentation>Self-explanatory</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snapshot">
        <xs:annotation>
          <xs:documentation>Self-explanatory</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="Validity">
    <xs:annotation>
      <xs:documentation>Specification of validity, either explicitly or by a validity time period specification which may be discontinous.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="validityStatus" type="D2LogicalModel:ValidityStatusEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specification of validity, either explicitly overriding the validity time specification or confirming it.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="validityTimeSpecification" type="D2LogicalModel:OverallPeriod" minOccurs="1" maxOccurs="1" />
      <xs:element name="validityExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ValidityStatusEnum">
    <xs:annotation>
      <xs:documentation>Values of validity status that can be assigned to a described event, action or item.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="active">
        <xs:annotation>
          <xs:documentation>The described event, action or item is currently active regardless of the definition of the validity time specification.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="suspended">
        <xs:annotation>
          <xs:documentation>The described event, action or item is currently suspended, that is inactive, regardless of the definition of the validity time specification.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="definedByValidityTimeSpec">
        <xs:annotation>
          <xs:documentation>The validity status of the described event, action or item is in accordance with the definition of the validity time specification.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ValueCompareOperatorEnum">
    <xs:annotation>
      <xs:documentation>Types of logical comparison operators.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="containedIn">
        <xs:annotation>
          <xs:documentation>Contained in.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="contains">
        <xs:annotation>
          <xs:documentation>Contains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="containsNot">
        <xs:annotation>
          <xs:documentation>Does not contain.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="equal">
        <xs:annotation>
          <xs:documentation>Equal to.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="greater">
        <xs:annotation>
          <xs:documentation>Greater than.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="greaterEqual">
        <xs:annotation>
          <xs:documentation>Greater than or equal to.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="less">
        <xs:annotation>
          <xs:documentation>Less than.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lessEqual">
        <xs:annotation>
          <xs:documentation>Less than or equal to.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notContainedIn">
        <xs:annotation>
          <xs:documentation>Not contained in.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unequal">
        <xs:annotation>
          <xs:documentation>Not equal to.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VariableMessageSignSetting">
    <xs:annotation>
      <xs:documentation>Details of a variable message sign and its displayed information.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:SignSetting">
        <xs:sequence>
          <xs:element name="numberOfCharacters" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The maximum number of characters in each row on the variable message sign (for fixed font signs).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="numberOfRows" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The maximum number of rows of characters on the variable message sign (for fixed font signs).</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vmsFault" type="D2LogicalModel:VMSFaultEnum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Indicates the type of fault which is being recorded for the specified variable message sign.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vmsIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>A reference to aid identification of the subject Variable Message Sign.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vmsLegend" type="D2LogicalModel:String" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A free-text field containing a single displayed legend row on the specific variable message sign.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="vmsType" type="D2LogicalModel:VMSTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Indicates the display characteristics of the specific variable message sign.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="variableMessageSignSettingExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="WarningAdviceEnum">
    <xs:annotation>
      <xs:documentation>Types of warning advice.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="aquaplaningRisk">
        <xs:annotation>
          <xs:documentation>Water lying on the road surface is producing aquaplaning conditions.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="danger">
        <xs:annotation>
          <xs:documentation>Danger.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dangerOfExplosion">
        <xs:annotation>
          <xs:documentation>Danger of explosion.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dangerOfFire">
        <xs:annotation>
          <xs:documentation>Danger of fire.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyVehiclesAtScene">
        <xs:annotation>
          <xs:documentation>Emergency vehicles are at the accident scene.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="extraPolicePatrolsInOperation">
        <xs:annotation>
          <xs:documentation>Extra police patrols are in operation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="firemenDirectingTraffic">
        <xs:annotation>
          <xs:documentation>Firemen are directing traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="helicopterRescueInProgress">
        <xs:annotation>
          <xs:documentation>Helicopter rescue is in progress.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="increasedRiskOfAccident">
        <xs:annotation>
          <xs:documentation>There is an increased risk of accidents.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lookOutForFlagman">
        <xs:annotation>
          <xs:documentation>Look out for flagman who is controlling traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pilotCarInOperation">
        <xs:annotation>
          <xs:documentation>Pilot car is in operation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="policeDirectingTraffic">
        <xs:annotation>
          <xs:documentation>Police are directing traffic.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="policeInAttendance">
        <xs:annotation>
          <xs:documentation>Police are in attendance.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="radiationHazard">
        <xs:annotation>
          <xs:documentation>There is a radiation hazard.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="repairsInProgress">
        <xs:annotation>
          <xs:documentation>Repairs are in progress.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="rescueAndRecoveryWorkInProgress">
        <xs:annotation>
          <xs:documentation>Rescue and recovery work is in progress.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="severalAccidentsHaveTakenPlace">
        <xs:annotation>
          <xs:documentation>Several accidents have taken place.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="skidRisk">
        <xs:annotation>
          <xs:documentation>Increased risk of skidding.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slipperyPavements">
        <xs:annotation>
          <xs:documentation>Increased risk of pedestrians slipping on the pavements.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="surfaceWaterHazard">
        <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="toxicLeak">
        <xs:annotation>
          <xs:documentation>There is a toxic leak.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficBeingDirectedAroundAccidentArea">
        <xs:annotation>
          <xs:documentation>Traffic is being directed around the accident area.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trafficWardensDirectingTraffic">
        <xs:annotation>
          <xs:documentation>Traffic wardens are directing traffic.</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="Warnings">
    <xs:annotation>
      <xs:documentation>Supplementary warning advice.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Advice">
        <xs:sequence>
          <xs:element name="warningAdvice" type="D2LogicalModel:WarningAdviceEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Additional information of a warning nature that can be provided to travellers.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="warningsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="WattsPerSquareMetre">
    <xs:restriction base="D2LogicalModel:Float" />
  </xs:simpleType>
  <xs:complexType name="WeatherRelated">
    <xs:annotation>
      <xs:documentation>Weather related information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="weatherRelatedExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="WeatherRelatedRoadConditions">
    <xs:annotation>
      <xs:documentation>Road surface conditions that are related to the weather which may affect the driving conditions, such as ice, snow or water.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:RoadConditions">
        <xs:sequence>
          <xs:element name="weatherRelatedRoadConditionType" type="D2LogicalModel:WeatherRelatedRoadConditionTypeEnum" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>The type of road surface condition which is affecting the driving conditions.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="roadSurfaceConditionMeasurements" type="D2LogicalModel:RoadSurfaceConditionMeasurements" minOccurs="0" maxOccurs="1" />
          <xs:element name="weatherRelatedRoadConditionsExtension" 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="damp">
        <xs:annotation>
          <xs:documentation>The road surface is damp.</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 (lightly trafficked or untrafficked) 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="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="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="wetOrDamp">
        <xs:annotation>
          <xs:documentation>Road surface is wet or damp.</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="WeatherValue" abstract="true">
    <xs:annotation>
      <xs:documentation>Measured or derived values relating to the weather at a specific location.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:BasicDataValue">
        <xs:sequence>
          <xs:element name="weatherValueExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="WeekOfMonthEnum">
    <xs:annotation>
      <xs:documentation>Weeks of the month.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="firstWeekOfMonth">
        <xs:annotation>
          <xs:documentation>First week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="secondWeekOfMonth">
        <xs:annotation>
          <xs:documentation>Second week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="thirdWeekOfMonth">
        <xs:annotation>
          <xs:documentation>Third week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fouthWeekOfMonth">
        <xs:annotation>
          <xs:documentation>Fourth week of the month.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fifthWeekOfMonth">
        <xs:annotation>
          <xs:documentation>Fifth week of the month (at most only 3 days and non in February when not a leap year). </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Vehicle">
    <xs:annotation>
      <xs:documentation>Details of an individual vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="vehicleColour" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The colour of the vehicle.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="vehicleCountryOfOrigin" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Specification of the country in which the vehicle is registered.  The code is the 2-alpha code as given in EN ISO 3166-1.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" maxOccurs="unbounded">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="D2LogicalModel:MultiLingualString">
                    <xs:attribute name="lang" type="xs:language" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="vehicleIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A code, either a specific one in a particular format, or the registration number and registration authority, identifying the individual vehicle. To make this unique the 2-alpha country code should used as a pre-fix.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleManufacturer" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the stated manufacturer of the vehicle i.e. Ford.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleModel" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Indicates the model (or range name) of the vehicle i.e. Ford MONDEO.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleRegistrationPlateIdentifier" type="D2LogicalModel:String" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>A code, either a specific one in a particular framework, or the registration number and registration authority, identifying the individual vehicle. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleStatus" type="D2LogicalModel:VehicleStatusEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The status of the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleCharacteristics" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="1" />
      <xs:element name="axleSpacingOnVehicle" type="D2LogicalModel:AxleSpacing" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="axleWeightsOfVehicle" type="D2LogicalModel:AxleWeight" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="hazardousGoodsAssociatedWithVehicle" type="D2LogicalModel:HazardousMaterials" minOccurs="0" maxOccurs="1" />
      <xs:element name="vehicleExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleAndTrafficTypeAdvice">
    <xs:annotation>
      <xs:documentation>Supplementary vehicle and traffic type advice.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Advice">
        <xs:sequence>
          <xs:element name="forTrafficOfType" type="D2LogicalModel:TrafficDestinationTypeEnum" minOccurs="0" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The types of destinations of the traffic for which the advice is relevant.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="forVehiclesWithCharacteristicsOf" type="D2LogicalModel:VehicleCharacteristics" minOccurs="0" maxOccurs="1" />
          <xs:element name="vehicleAndTrafficTypeAdviceExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="VehicleCharacteristics">
    <xs:annotation>
      <xs:documentation>The charateristics of a vehicle, e.g. lorry of gross weight greater than 30 tonnes.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="fuelType" type="D2LogicalModel:FuelTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of fuel used by the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="loadType" type="D2LogicalModel:LoadTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of load carried by the vehicle, especially in respect of hazardous loads.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleEquipment" type="D2LogicalModel:VehicleEquipmentEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of equipment in use or on board the vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleType" type="D2LogicalModel:VehicleTypeEnum" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The type of vehicle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleUsage" type="D2LogicalModel:VehicleUsageEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of usage of the vehicle (i.e. for what purpose is the vehicle being used).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="grossWeightCharacteristic" type="D2LogicalModel:GrossWeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="heightCharacteristic" type="D2LogicalModel:HeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="lengthCharacteristic" type="D2LogicalModel:LengthCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="widthCharacteristic" type="D2LogicalModel:WidthCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="heaviestAxleWeightCharacteristic" type="D2LogicalModel:HeaviestAxleWeightCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="numberOfAxlesCharacteristic" type="D2LogicalModel:NumberOfAxlesCharacteristic" minOccurs="0" maxOccurs="2" />
      <xs:element name="vehicleCharacteristicsExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleDetectionTime">
    <xs:annotation>
      <xs:documentation>Sets of measured times relating to an individual vehicle derived from a detector at the specified measurement point.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="arrivalTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time of the arrival of an individual vehicle in a detection zone.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="exitTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time when an individual vehicle leaves a detection zone.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="passageTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time elapsed between an individual vehicle entering a detection zone and exiting the same detection zone as detected by entry and exit sensors.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="presenceTime" type="D2LogicalModel:DateTime" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time during which a vehicle activates a presence sensor.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="timeGap" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The time interval between the arrival of this vehicle's front at a point on the roadway, and that of the departure of the rear of the preceding one.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="timeHeadway" type="D2LogicalModel:Seconds" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The measured time interval between this vehicle's arrival at (or departure from) a point on the roadway, and that of the preceding one.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleDetectionTimeExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VehicleEquipmentEnum">
    <xs:annotation>
      <xs:documentation>Types of vehicle equipment in use or on board.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="notUsingSnowChains">
        <xs:annotation>
          <xs:documentation>Vehicle not using snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="notUsingSnowChainsOrTyres">
        <xs:annotation>
          <xs:documentation>Vehicle not using either snow tyres or snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowChainsInUse">
        <xs:annotation>
          <xs:documentation>Vehicle using snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowTyresInUse">
        <xs:annotation>
          <xs:documentation>Vehicle using snow tyres.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowChainsOrTyresInUse">
        <xs:annotation>
          <xs:documentation>Vehicle using snow tyres or snow chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="withoutSnowTyresOrChainsOnBoard">
        <xs:annotation>
          <xs:documentation>Vehicle which is not carrying on board snow tyres or chains.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="VehicleHeadway">
    <xs:annotation>
      <xs:documentation>The measured individual vehicle headway, i.e.the distance between this vehicle and the preceding vehicle).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="distanceGap" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The measured distance between the front of this vehicle and the rear of the preceding one, in metres at the specified measurement point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="distanceHeadway" type="D2LogicalModel:MetresAsFloat" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The measured distance between the front (respectively back) of this vehicle and the front (respectively  back) of the preceding vehicle at the specified measurement point.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleHeadwayExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleObstruction">
    <xs:annotation>
      <xs:documentation>An obstruction on the road caused by one or more vehicles.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Obstruction">
        <xs:sequence>
          <xs:element name="vehicleObstructionType" type="D2LogicalModel:VehicleObstructionTypeEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Characterization of an obstruction on the road caused by one or more vehicles.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="obstructingVehicle" type="D2LogicalModel:Vehicle" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="vehicleObstructionExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VehicleObstructionTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of obstructions involving vehicles.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="abandonedVehicle">
        <xs:annotation>
          <xs:documentation>Abandoned vehicle(s) on the roadway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="abnormalLoad">
        <xs:annotation>
          <xs:documentation>Vehicle(s) carrying exceptional load(s) which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="brokenDownBus">
        <xs:annotation>
          <xs:documentation>Broken down passenger vehicle(s) on the carriageway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="brokenDownHeavyLorry">
        <xs:annotation>
          <xs:documentation>Broken down heavy lorry/lorries on the carriageway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="brokenDownVehicle">
        <xs:annotation>
          <xs:documentation>Broken down vehicle(s) on the carriageway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="convoy">
        <xs:annotation>
          <xs:documentation>A group of vehicles moving together in formation which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="damagedVehicle">
        <xs:annotation>
          <xs:documentation>Damaged vehicle(s) on the carriageway which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="dangerousSlowMovingVehicle">
        <xs:annotation>
          <xs:documentation>Dangerous slow moving vehicles which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyVehicle">
        <xs:annotation>
          <xs:documentation>Emergency service vehicles on the roadway in response to an emergency situation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="highSpeedEmergencyVehicle">
        <xs:annotation>
          <xs:documentation>Emergency service vehicles progressing at high speed along the roadway in response to or en route from an emergency situation.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="longLoad">
        <xs:annotation>
          <xs:documentation>A vehicle of length greater than that normally allowed which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="militaryConvoy">
        <xs:annotation>
          <xs:documentation>A group of military vehicles moving together in formation which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="overheightVehicle">
        <xs:annotation>
          <xs:documentation>Vehicles of height greater than normally allowed which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="prohibitedVehicleOnTheRoadway">
        <xs:annotation>
          <xs:documentation>Vehicles not normally permitted on the highway are present which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="saltingOrGrittingVehicleInUse">
        <xs:annotation>
          <xs:documentation>Salting and gritting vehicles are in use which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slowMovingMaintenanceVehicle">
        <xs:annotation>
          <xs:documentation>Slow moving vehicles undertaking maintenance work may pose a hazard to other vehicles on the carriageway.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="slowVehicle">
        <xs:annotation>
          <xs:documentation>A vehicle travelling at well below normal highway speeds which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowplough">
        <xs:annotation>
          <xs:documentation>Snowploughs are in use which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="trackLayingVehicle">
        <xs:annotation>
          <xs:documentation>Tracked vehicles are in use which may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unlitVehicleOnTheRoad">
        <xs:annotation>
          <xs:documentation>Vehicles without lights are in use which may present a hazard to road users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleOnFire">
        <xs:annotation>
          <xs:documentation>A vehicle is or has been on fire and may cause traffic disruption.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleCarryingHazardousMaterials">
        <xs:annotation>
          <xs:documentation>Vehicles carrying materials of a hazardous nature are present and these could expose road users to additional hazards.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleOnWrongCarriageway">
        <xs:annotation>
          <xs:documentation>A vehicle is travelling the wrong way along a divided highway (i.e. on the wrong side).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehiclesSlowingToLookAtAccidents">
        <xs:annotation>
          <xs:documentation>Traffic disruption is resulting from passing vehicles slowing to look at an accident.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleStuck">
        <xs:annotation>
          <xs:documentation>One or more vehicles are stuck (i.e. unable to move) due to environmental conditions such as a snow drift or severe icy road.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleStuckUnderBridge">
        <xs:annotation>
          <xs:documentation>A vehicle is stuck under a bridge.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithOverheightLoad">
        <xs:annotation>
          <xs:documentation>An overheight vehicle which may present a hazard to road users.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithOverwideLoad">
        <xs:annotation>
          <xs:documentation>A vehicle of width greater than that normally allowed which may cause traffic disruption.</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="VehiclesInvolved">
    <xs:annotation>
      <xs:documentation>Overview of the vehicles involved.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="numberOfVehicles" type="D2LogicalModel:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The number of vehicles involved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleStatus" type="D2LogicalModel:VehicleStatusEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The status of the vehicle(s) involved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleType" type="D2LogicalModel:VehicleTypeEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of vehicle(s) involved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleUsage" type="D2LogicalModel:VehicleUsageEnum" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The type of usage of the vehicle (i.e. for what purpose is the vehicle being used).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehiclesInvolvedExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VehicleSpeed">
    <xs:annotation>
      <xs:documentation>Measurement of individual vehicle speed.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="individualVehicleSpeed" type="D2LogicalModel:KilometresPerHour" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The measured speed of the individual vehicle at the specified measurement point. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleSpeedExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VehiclesPerHour">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
  <xs:simpleType name="VehicleStatusEnum">
    <xs:annotation>
      <xs:documentation>The status of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="abandoned">
        <xs:annotation>
          <xs:documentation>Abandoned vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="brokenDown">
        <xs:annotation>
          <xs:documentation>Broken down vehicle (i.e. it is immobile due to mechanical breakdown).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="burntOut">
        <xs:annotation>
          <xs:documentation>Burnt out vehicle, but fire is extinguished.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="damaged">
        <xs:annotation>
          <xs:documentation>Vehicle is damaged following an incident or collision. It may or may not be able to move by itself.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="damagedAndImmobililized">
        <xs:annotation>
          <xs:documentation>Vehicle is damaged following an incident or collision. It is immobilized and therefore needs assistance to be moved.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="onFire">
        <xs:annotation>
          <xs:documentation>Vehicle is on fire.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VehicleTypeEnum">
    <xs:annotation>
      <xs:documentation>Types of vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="anyVehicle">
        <xs:annotation>
          <xs:documentation>Vehicle of any type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="articulatedVehicle">
        <xs:annotation>
          <xs:documentation>Articulated vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bus">
        <xs:annotation>
          <xs:documentation>Bus.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="car">
        <xs:annotation>
          <xs:documentation>Car.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carOrLightVehicle">
        <xs:annotation>
          <xs:documentation>Car or light vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carWithCaravan">
        <xs:annotation>
          <xs:documentation>Car towing a caravan.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="carWithTrailer">
        <xs:annotation>
          <xs:documentation>Car towing a trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="fourWheelDrive">
        <xs:annotation>
          <xs:documentation>Four wheel drive vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="goodsVehicle">
        <xs:annotation>
          <xs:documentation>Goods vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyLorry">
        <xs:annotation>
          <xs:documentation>Heavy lorry.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="heavyVehicle">
        <xs:annotation>
          <xs:documentation>Heavy vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="highSidedVehicle">
        <xs:annotation>
          <xs:documentation>High sided vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lightVehicle">
        <xs:annotation>
          <xs:documentation>Light vehicle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="lorry">
        <xs:annotation>
          <xs:documentation>Lorry of any type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="motorcycle">
        <xs:annotation>
          <xs:documentation>Motorcycle.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="twoWheeledVehicle">
        <xs:annotation>
          <xs:documentation>Two wheeled vehicle of unspecified type.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="van">
        <xs:annotation>
          <xs:documentation>Van.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithCatalyticConverter">
        <xs:annotation>
          <xs:documentation>Vehicle with catalytic converter.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithoutCatalyticConverter">
        <xs:annotation>
          <xs:documentation>Vehicle without catalytic converter.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithCaravan">
        <xs:annotation>
          <xs:documentation>Vehicle (of unspecified type) towing a caravan.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="vehicleWithTrailer">
        <xs:annotation>
          <xs:documentation>Vehicle (of unspecified type) towing a trailer.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="withEvenNumberedRegistrationPlates">
        <xs:annotation>
          <xs:documentation>Vehicle with even numbered registration plate.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="withOddNumberedRegistrationPlates">
        <xs:annotation>
          <xs:documentation>Vehicle with odd numbered registration plate.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="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="VehicleUsageEnum">
    <xs:annotation>
      <xs:documentation>Types of useage of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="agricultural">
        <xs:annotation>
          <xs:documentation>Vehicle used for agricultural purposes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="commercial">
        <xs:annotation>
          <xs:documentation>Vehicle which is limited to non-private useage or public transport useage.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="emergencyServices">
        <xs:annotation>
          <xs:documentation>Vehicle used by the emergency services.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="military">
        <xs:annotation>
          <xs:documentation>Vehicle used by the military.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="nonCommercial">
        <xs:annotation>
          <xs:documentation>Vehicle used for non-commercial or private purposes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="patrol">
        <xs:annotation>
          <xs:documentation>Vehicle used as part of a patrol service, e.g. automobile association patrols.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="recoveryServices">
        <xs:annotation>
          <xs:documentation>Vehicle used to provide a recovery service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadMaintenanceOrConstruction">
        <xs:annotation>
          <xs:documentation>Vehicle used for road maintenance or construction work purposes.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="roadOperator">
        <xs:annotation>
          <xs:documentation>Vehicle used by the road operator.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="taxi">
        <xs:annotation>
          <xs:documentation>Vehicle used to provide an authorised taxi service.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="WidthCharacteristic">
    <xs:annotation>
      <xs:documentation>Width characteristic of a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="comparisonOperator" type="D2LogicalModel:ComparisonOperatorEnum" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The operator to be used in the vehicle characteristic comparison operation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="vehicleWidth" type="D2LogicalModel:MetresAsFloat" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The maximum width of an individual vehicle, in metres.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="widthCharacteristicExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Wind">
    <xs:annotation>
      <xs:documentation>Wind conditions on the road. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="maximumWindSpeed" type="D2LogicalModel:KilometresPerHour" minOccurs="0" maxOccurs="1">
        <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:NonNegativeInteger" minOccurs="0" maxOccurs="1">
        <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:DirectionCompassEnum" minOccurs="0" maxOccurs="1">
        <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="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:KilometresPerHour" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The wind speed averaged over at least 10 minutes, measured at a default height of10 metres (meteo standard) above the road surface, unless measurement height is specified.</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:WeatherValue">
        <xs:sequence>
          <xs:element name="wind" type="D2LogicalModel:Wind" minOccurs="1" maxOccurs="1" />
          <xs:element name="windInformationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="WinterDriving">
    <xs:annotation>
      <xs:documentation>Supplementary winter driving advice.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="D2LogicalModel:Advice">
        <xs:sequence>
          <xs:element name="winterDrivingAdvice" type="D2LogicalModel:WinterEquipmentAdviceEnum" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>Additional information providing winter driving advice that can be provided to travellers.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="winterDrivingExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="WinterEquipmentAdviceEnum">
    <xs:annotation>
      <xs:documentation>Advice on use of winter equipment.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="snowChainsOrTyresRecommended">
        <xs:annotation>
          <xs:documentation>Snow chains or tyres are recommended.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowChainsRecommended">
        <xs:annotation>
          <xs:documentation>Snow chains are recommended.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowTyresRecommended">
        <xs:annotation>
          <xs:documentation>Snow tyres are recommended.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="studTyresMayBeUsed">
        <xs:annotation>
          <xs:documentation>Stud tyres may be used.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="winterEquipmentRecommended">
        <xs:annotation>
          <xs:documentation>Carrying of winter equipment (snow chains and/or snow tyres) is recommended.</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="WinterEquipmentRequirementEnum">
    <xs:annotation>
      <xs:documentation>Requirements for types of winter equipment that are either fitted or on board a vehicle.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="snowChainsMandatory">
        <xs:annotation>
          <xs:documentation>Snow chains fitted to vehicle are mandatory.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowChainsOrTyresMandatory">
        <xs:annotation>
          <xs:documentation>Snow chains or snow tyres fitted to the vehicle are mandatory.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snowTyresMandatory">
        <xs:annotation>
          <xs:documentation>Snow tyres fitted to the vehicle are mandatory.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="studTyresAreNotAllowed">
        <xs:annotation>
          <xs:documentation>Stud tyres are not authorised.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="winterEquipmentMandatory">
        <xs:annotation>
          <xs:documentation>Carrying of winter equipment (snow chains and/or snow tyres) is mandatory.</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="Visibility">
    <xs:annotation>
      <xs:documentation>Details of atmospheric visibility.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="visibilityValue" type="D2LogicalModel:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The 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:WeatherValue">
        <xs:sequence>
          <xs:element name="visibility" type="D2LogicalModel:Visibility" minOccurs="1" maxOccurs="1" />
          <xs:element name="visibilityInformationExtension" type="D2LogicalModel:ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="VMSFaultEnum">
    <xs:annotation>
      <xs:documentation>Types of variable message sign faults.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="communicationsFailure">
        <xs:annotation>
          <xs:documentation>Comunications failure affecting VMS.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="incorrectMessageDisplayed">
        <xs:annotation>
          <xs:documentation>Incorrect message is being displayed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="incorrectPictogramDisplayed">
        <xs:annotation>
          <xs:documentation>Incorrect pictogram is being displayed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="powerFailure">
        <xs:annotation>
          <xs:documentation>Power to VMS has failed.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unableToClearDown">
        <xs:annotation>
          <xs:documentation>Unable to clear down information displayed on VMS.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="unknown">
        <xs:annotation>
          <xs:documentation>Unknown VMS fault.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation>Other than as defined in this enumeration.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VMSTypeEnum">
    <xs:annotation>
      <xs:documentation>Type of variable message sign.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="colourGraphic">
        <xs:annotation>
          <xs:documentation>A colour graphic display.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="continuousSign">
        <xs:annotation>
          <xs:documentation>A sign implementing fixed messages which are selected by electromechanical means.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="monochromeGraphic">
        <xs:annotation>
          <xs:documentation>A monochrome graphic display.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="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="Years">
    <xs:restriction base="D2LogicalModel:NonNegativeInteger" />
  </xs:simpleType>
</xs:schema>