<?xml version="1.0" encoding="utf-8" standalone="no"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:loc="http://datex2.eu/schema/3/locationReferencing" version="3.3" targetNamespace="http://datex2.eu/schema/3/locationReferencing" xmlns:locx="http://datex2.eu/schema/3/locationExtension" xmlns:com="http://datex2.eu/schema/3/common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://datex2.eu/schema/3/common" schemaLocation="DATEXII_3_Common.xsd" />
  <xs:import namespace="http://datex2.eu/schema/3/locationExtension" schemaLocation="DATEXII_3_LocationExtension.xsd" />
  <xs:complexType name="_AlertCDirectionEnum">
    <xs:simpleContent>
      <xs:extension base="loc:AlertCDirectionEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_AltitudeAccuracyEnum">
    <xs:simpleContent>
      <xs:extension base="loc:AltitudeAccuracyEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_AreaPlacesEnum">
    <xs:simpleContent>
      <xs:extension base="loc:AreaPlacesEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_CarriagewayEnum">
    <xs:simpleContent>
      <xs:extension base="loc:CarriagewayEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DirectionEnum">
    <xs:simpleContent>
      <xs:extension base="loc:DirectionEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_DirectionPurposeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:DirectionPurposeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_GeographicCharacteristicEnum">
    <xs:simpleContent>
      <xs:extension base="loc:GeographicCharacteristicEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_HeightGradeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:HeightGradeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_HeightTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:HeightTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_InfrastructureDescriptorEnum">
    <xs:simpleContent>
      <xs:extension base="loc:InfrastructureDescriptorEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_IntermediatePointOnLinearElement">
    <xs:sequence>
      <xs:element name="referent" type="loc:Referent" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_LaneEnum">
    <xs:simpleContent>
      <xs:extension base="loc:LaneEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_LinearDirectionEnum">
    <xs:simpleContent>
      <xs:extension base="loc:LinearDirectionEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_LinearElementNatureEnum">
    <xs:simpleContent>
      <xs:extension base="loc:LinearElementNatureEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_LocationContainedInItinerary">
    <xs:sequence>
      <xs:element name="location" type="loc:Location" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="index" type="xs:int" use="required" />
  </xs:complexType>
  <xs:complexType name="_LocationReferenceExtensionType">
    <xs:sequence>
      <xs:element name="facilityLocation" type="locx:FacilityLocation" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_NamedAreaExtensionType">
    <xs:sequence>
      <xs:element name="namedAreaExtended" type="locx:NamedAreaExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_NamedAreaTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:NamedAreaTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_NutsCodeTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:NutsCodeTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OpenlrFormOfWayEnum">
    <xs:simpleContent>
      <xs:extension base="loc:OpenlrFormOfWayEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OpenlrFunctionalRoadClassEnum">
    <xs:simpleContent>
      <xs:extension base="loc:OpenlrFunctionalRoadClassEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OpenlrOrientationEnum">
    <xs:simpleContent>
      <xs:extension base="loc:OpenlrOrientationEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_OpenlrSideOfRoadEnum">
    <xs:simpleContent>
      <xs:extension base="loc:OpenlrSideOfRoadEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PositionConfidenceCodedErrorEnum">
    <xs:simpleContent>
      <xs:extension base="loc:PositionConfidenceCodedErrorEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_PredefinedItineraryVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="loc:PredefinedItinerary" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_PredefinedLocationGroupVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="loc:PredefinedLocationGroup" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_PredefinedLocationVersionedReference">
    <xs:complexContent>
      <xs:extension base="com:VersionedReference">
        <xs:attribute name="targetClass" type="xs:string" use="required" fixed="loc:PredefinedLocation" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="_ReferentTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:ReferentTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_RelativePositionOnCarriagewayEnum">
    <xs:simpleContent>
      <xs:extension base="loc:RelativePositionOnCarriagewayEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SubdivisionTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:SubdivisionTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_SupplementaryPositionalDescriptionExtensionType">
    <xs:sequence>
      <xs:element name="supplementaryPositionalDescriptionExtended" type="locx:SupplementaryPositionalDescriptionExtended" minOccurs="0" />
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="_TpegLoc01AreaLocationSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc01AreaLocationSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc01FramedPointLocationSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc01FramedPointLocationSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc01LinearLocationSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc01LinearLocationSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc01SimplePointLocationSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc01SimplePointLocationSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc03AreaDescriptorSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc03AreaDescriptorSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc03IlcPointDescriptorSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc03IlcPointDescriptorSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc03JunctionPointDescriptorSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc03JunctionPointDescriptorSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc03OtherPointDescriptorSubtypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc03OtherPointDescriptorSubtypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="_TpegLoc04HeightTypeEnum">
    <xs:simpleContent>
      <xs:extension base="loc:TpegLoc04HeightTypeEnum">
        <xs:attribute name="_extendedValue" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="AlertCArea">
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableNumber" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableVersion" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="areaLocation" type="loc:AlertCLocation" />
      <xs:element name="_alertCAreaExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCDirection">
    <xs:sequence>
      <xs:element name="alertCDirectionCoded" type="loc:_AlertCDirectionEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCDirectionNamed" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="alertCAffectedDirection" type="loc:_LinearDirectionEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="_alertCDirectionExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AlertCDirectionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="negative" />
      <xs:enumeration value="positive" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AlertCLinear" abstract="true">
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableNumber" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableVersion" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="_alertCLinearExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCLinearByCode">
    <xs:complexContent>
      <xs:extension base="loc:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="locationCodeForLinearLocation" type="loc:AlertCLocation" />
          <xs:element name="_alertCLinearByCodeExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCLocation">
    <xs:sequence>
      <xs:element name="alertCLocationName" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="specificLocation" type="loc:AlertCLocationCode" minOccurs="1" maxOccurs="1" />
      <xs:element name="_alertCLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AlertCLocationCode">
    <xs:restriction base="com:NonNegativeInteger">
      <xs:minInclusive value="1" />
      <xs:maxInclusive value="63487" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AlertCMethod2Linear">
    <xs:complexContent>
      <xs:extension base="loc:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="alertCMethod2PrimaryPointLocation" type="loc:AlertCMethod2PrimaryPointLocation" />
          <xs:element name="alertCMethod2SecondaryPointLocation" type="loc:AlertCMethod2SecondaryPointLocation" />
          <xs:element name="_alertCMethod2LinearExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2Point">
    <xs:complexContent>
      <xs:extension base="loc:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="alertCMethod2PrimaryPointLocation" type="loc:AlertCMethod2PrimaryPointLocation" />
          <xs:element name="_alertCMethod2PointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2PrimaryPointLocation">
    <xs:sequence>
      <xs:element name="alertCLocation" type="loc:AlertCLocation" />
      <xs:element name="_alertCMethod2PrimaryPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod2SecondaryPointLocation">
    <xs:sequence>
      <xs:element name="alertCLocation" type="loc:AlertCLocation" />
      <xs:element name="_alertCMethod2SecondaryPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4Linear">
    <xs:complexContent>
      <xs:extension base="loc:AlertCLinear">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="alertCMethod4PrimaryPointLocation" type="loc:AlertCMethod4PrimaryPointLocation" />
          <xs:element name="alertCMethod4SecondaryPointLocation" type="loc:AlertCMethod4SecondaryPointLocation" />
          <xs:element name="_alertCMethod4LinearExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4Point">
    <xs:complexContent>
      <xs:extension base="loc:AlertCPoint">
        <xs:sequence>
          <xs:element name="alertCDirection" type="loc:AlertCDirection" />
          <xs:element name="alertCMethod4PrimaryPointLocation" type="loc:AlertCMethod4PrimaryPointLocation" />
          <xs:element name="_alertCMethod4PointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4PrimaryPointLocation">
    <xs:sequence>
      <xs:element name="alertCLocation" type="loc:AlertCLocation" />
      <xs:element name="offsetDistance" type="loc:OffsetDistance" />
      <xs:element name="_alertCMethod4PrimaryPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCMethod4SecondaryPointLocation">
    <xs:sequence>
      <xs:element name="alertCLocation" type="loc:AlertCLocation" />
      <xs:element name="offsetDistance" type="loc:OffsetDistance" />
      <xs:element name="_alertCMethod4SecondaryPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AlertCPoint" abstract="true">
    <xs:sequence>
      <xs:element name="alertCLocationCountryCode" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableNumber" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="alertCLocationTableVersion" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="_alertCPointExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AltitudeAccuracyEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="equalToOrLessThan1Centimetre" />
      <xs:enumeration value="equalToOrLessThan2Centimetres" />
      <xs:enumeration value="equalToOrLessThan5Centimetres" />
      <xs:enumeration value="equalToOrLessThan10Centimetres" />
      <xs:enumeration value="equalToOrLessThan20Centimetres" />
      <xs:enumeration value="equalToOrLessThan50Centimetres" />
      <xs:enumeration value="equalToOrLessThan1Metre" />
      <xs:enumeration value="equalToOrLessThan2Metres" />
      <xs:enumeration value="equalToOrLessThan5Metres" />
      <xs:enumeration value="equalToOrLessThan10Metres" />
      <xs:enumeration value="equalToOrLessThan20Metres" />
      <xs:enumeration value="equalToOrLessThan50Metres" />
      <xs:enumeration value="equalToOrLessThan100Metres" />
      <xs:enumeration value="equalToOrLessThan200Metres" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AltitudeConfidence">
    <xs:sequence>
      <xs:element name="altitudeAccuracyCodedValue" type="loc:_AltitudeAccuracyEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="altitudeAccuracyCodedError" type="loc:_PositionConfidenceCodedErrorEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="_altitudeConfidenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AreaDestination">
    <xs:complexContent>
      <xs:extension base="loc:Destination">
        <xs:sequence>
          <xs:element name="areaLocation" type="loc:AreaLocation" />
          <xs:element name="_areaDestinationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="AreaLocation">
    <xs:complexContent>
      <xs:extension base="loc:Location">
        <xs:sequence>
          <xs:element name="areasAtWhichApplicable" type="loc:_AreaPlacesEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="alertCArea" type="loc:AlertCArea" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="tpegAreaLocation" type="loc:TpegAreaLocation" minOccurs="0" />
          <xs:element name="namedArea" type="loc:NamedArea" minOccurs="0" />
          <xs:element name="gmlMultiPolygon" type="loc:GmlMultiPolygon" minOccurs="0" />
          <xs:element name="openlrAreaLocationReference" type="loc:OpenlrAreaLocationReference" minOccurs="0" />
          <xs:element name="_areaLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AreaPlacesEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="atBorders" />
      <xs:enumeration value="atHighAltitudes" />
      <xs:enumeration value="inBuiltUpAreas" />
      <xs:enumeration value="inForestedAreas" />
      <xs:enumeration value="inGalleries" />
      <xs:enumeration value="inLowLyingAreas" />
      <xs:enumeration value="inRuralAreas" />
      <xs:enumeration value="inShadedAreas" />
      <xs:enumeration value="inTheInnerCityAreas" />
      <xs:enumeration value="inTunnels" />
      <xs:enumeration value="onBridges" />
      <xs:enumeration value="onDownhillSections" />
      <xs:enumeration value="onElevatedSections" />
      <xs:enumeration value="onEnteringOrLeavingTunnels" />
      <xs:enumeration value="onFlyovers" />
      <xs:enumeration value="onPasses" />
      <xs:enumeration value="onUndergroundSections" />
      <xs:enumeration value="onUnderpasses" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Carriageway">
    <xs:sequence>
      <xs:element name="carriageway" type="loc:_CarriagewayEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="originalNumberOfLanes" type="com:Integer" minOccurs="0" maxOccurs="1" />
      <xs:element name="lane" type="loc:Lane" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_carriagewayExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CarriagewayEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="connectingCarriageway" />
      <xs:enumeration value="cycleTrack" />
      <xs:enumeration value="entrySlipRoad" />
      <xs:enumeration value="exitSlipRoad" />
      <xs:enumeration value="flyover" />
      <xs:enumeration value="footpath" />
      <xs:enumeration value="leftHandFeederRoad" />
      <xs:enumeration value="leftHandParallelCarriageway" />
      <xs:enumeration value="mainCarriageway" />
      <xs:enumeration value="oppositeCarriageway" />
      <xs:enumeration value="parallelCarriageway" />
      <xs:enumeration value="rightHandFeederRoad" />
      <xs:enumeration value="rightHandParallelCarriageway" />
      <xs:enumeration value="roundabout" />
      <xs:enumeration value="serviceRoad" />
      <xs:enumeration value="slipRoads" />
      <xs:enumeration value="underpass" />
      <xs:enumeration value="unspecifiedCarriageway" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="Destination" abstract="true">
    <xs:sequence>
      <xs:element name="_destinationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DirectionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="aligned" />
      <xs:enumeration value="allDirections" />
      <xs:enumeration value="anticlockwise" />
      <xs:enumeration value="bothWays" />
      <xs:enumeration value="clockwise" />
      <xs:enumeration value="innerRing" />
      <xs:enumeration value="outerRing" />
      <xs:enumeration value="eastBound" />
      <xs:enumeration value="northBound" />
      <xs:enumeration value="northEastBound" />
      <xs:enumeration value="northWestBound" />
      <xs:enumeration value="southBound" />
      <xs:enumeration value="southEastBound" />
      <xs:enumeration value="southWestBound" />
      <xs:enumeration value="westBound" />
      <xs:enumeration value="inboundTowardsTown" />
      <xs:enumeration value="outboundFromTown" />
      <xs:enumeration value="opposite" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DirectionPurposeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="inbound" />
      <xs:enumeration value="outbound" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DistanceAlongLinearElement" abstract="true">
    <xs:sequence>
      <xs:element name="_distanceAlongLinearElementExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DistanceFromLinearElementReferent">
    <xs:complexContent>
      <xs:extension base="loc:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="distanceAlong" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1" />
          <xs:element name="fromReferent" type="loc:Referent" />
          <xs:element name="towardsReferent" type="loc:Referent" minOccurs="0" />
          <xs:element name="_distanceFromLinearElementReferentExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="DistanceFromLinearElementStart">
    <xs:complexContent>
      <xs:extension base="loc:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="distanceAlong" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1" />
          <xs:element name="_distanceFromLinearElementStartExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ExternalReferencing">
    <xs:sequence>
      <xs:element name="externalLocationCode" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="externalReferencingSystem" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="_externalReferencingExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GeographicCharacteristicEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="aroundABendInRoad" />
      <xs:enumeration value="onBorder" />
      <xs:enumeration value="onPass" />
      <xs:enumeration value="overCrestOfHill" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="GmlLinearRing">
    <xs:complexContent>
      <xs:extension base="loc:GmlLineString">
        <xs:sequence>
          <xs:element name="_gmlLinearRingExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="GmlLineString">
    <xs:sequence>
      <xs:element name="posList" type="loc:GmlPosList" minOccurs="1" maxOccurs="1" />
      <xs:element name="_gmlLineStringExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="srsDimension" type="com:NonNegativeInteger" use="optional" />
    <xs:attribute name="srsName" type="com:String" use="optional" />
  </xs:complexType>
  <xs:complexType name="GmlMultiPolygon">
    <xs:sequence>
      <xs:element name="gmlAreaName" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="gmlPolygon" type="loc:GmlPolygon" maxOccurs="unbounded" />
      <xs:element name="_gmlMultiPolygonExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GmlPolygon">
    <xs:sequence>
      <xs:element name="exterior" type="loc:GmlLinearRing" />
      <xs:element name="interior" type="loc:GmlLinearRing" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_gmlPolygonExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="GmlPosList">
    <xs:restriction base="com:LongString">
      <xs:pattern value="[-+]?[0-9]*\.?[0-9]+(\s[-+]?[0-9]*\.?[0-9]+){3,}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="HeightCoordinate">
    <xs:sequence>
      <xs:element name="heightValue" type="com:MetresAsFloat" minOccurs="1" maxOccurs="1" />
      <xs:element name="heightType" type="loc:_HeightTypeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="altitudeConfidence" type="loc:AltitudeConfidence" minOccurs="0" />
      <xs:element name="verticalPositionAccuracy" type="loc:PositionAccuracy" minOccurs="0" />
      <xs:element name="_heightCoordinateExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="HeightGradeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="aboveGrade" />
      <xs:enumeration value="atGrade" />
      <xs:enumeration value="belowGrade" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="HeightTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ellipsoidalHeight" />
      <xs:enumeration value="gravityRelatedHeight" />
      <xs:enumeration value="relativeHeight" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InfrastructureDescriptorEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="atMotorwayInterchange" />
      <xs:enumeration value="atRestArea" />
      <xs:enumeration value="atServiceArea" />
      <xs:enumeration value="atTollPlaza" />
      <xs:enumeration value="atTunnelEntryOrExit" />
      <xs:enumeration value="inGallery" />
      <xs:enumeration value="inTunnel" />
      <xs:enumeration value="onBridge" />
      <xs:enumeration value="onConnector" />
      <xs:enumeration value="onElevatedSection" />
      <xs:enumeration value="onFlyover" />
      <xs:enumeration value="onIceRoad" />
      <xs:enumeration value="onLevelCrossing" />
      <xs:enumeration value="onLinkRoad" />
      <xs:enumeration value="onRoundabout" />
      <xs:enumeration value="onTheRoadway" />
      <xs:enumeration value="onUndergroundSection" />
      <xs:enumeration value="onUnderpass" />
      <xs:enumeration value="withinJunction" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="IsoNamedArea">
    <xs:complexContent>
      <xs:extension base="loc:NamedArea">
        <xs:sequence>
          <xs:element name="subdivisionType" type="loc:_SubdivisionTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="subdivisionCode" type="loc:SubdivisionCode" minOccurs="1" maxOccurs="1" />
          <xs:element name="_isoNamedAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Itinerary" abstract="true">
    <xs:complexContent>
      <xs:extension base="loc:LocationReference">
        <xs:sequence>
          <xs:element name="routeDestination" type="loc:Destination" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_itineraryExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ItineraryByIndexedLocations">
    <xs:complexContent>
      <xs:extension base="loc:Itinerary">
        <xs:sequence>
          <xs:element name="locationContainedInItinerary" type="loc:_LocationContainedInItinerary" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_itineraryByIndexedLocationsExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="ItineraryByReference">
    <xs:complexContent>
      <xs:extension base="loc:Itinerary">
        <xs:sequence>
          <xs:element name="predefinedItineraryReference" type="loc:_PredefinedItineraryVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="_itineraryByReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Lane">
    <xs:sequence>
      <xs:element name="laneNumber" type="com:Integer" minOccurs="0" maxOccurs="1" />
      <xs:element name="laneUsage" type="loc:_LaneEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="_laneExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="LaneEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="allLanesCompleteCarriageway" />
      <xs:enumeration value="busLane" />
      <xs:enumeration value="busStop" />
      <xs:enumeration value="carPoolLane" />
      <xs:enumeration value="centralReservation" />
      <xs:enumeration value="crawlerLane" />
      <xs:enumeration value="cycleLane" />
      <xs:enumeration value="emergencyLane" />
      <xs:enumeration value="escapeLane" />
      <xs:enumeration value="expressLane" />
      <xs:enumeration value="hardShoulder" />
      <xs:enumeration value="heavyVehicleLane" />
      <xs:enumeration value="layBy" />
      <xs:enumeration value="leftHandTurningLane" />
      <xs:enumeration value="leftLane" />
      <xs:enumeration value="localTrafficLane" />
      <xs:enumeration value="middleLane" />
      <xs:enumeration value="overtakingLane" />
      <xs:enumeration value="rightHandTurningLane" />
      <xs:enumeration value="rightLane" />
      <xs:enumeration value="rushHourLane" />
      <xs:enumeration value="setDownArea" />
      <xs:enumeration value="slowVehicleLane" />
      <xs:enumeration value="throughTrafficLane" />
      <xs:enumeration value="tidalFlowLane" />
      <xs:enumeration value="turningLane" />
      <xs:enumeration value="verge" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LinearDirectionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="both" />
      <xs:enumeration value="opposite" />
      <xs:enumeration value="aligned" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LinearElement">
    <xs:sequence>
      <xs:element name="roadName" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="roadNumber" type="com:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElementReferenceModel" type="com:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElementReferenceModelVersion" type="com:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElementNature" type="loc:_LinearElementNatureEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="_linearElementExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="LinearElementByCode">
    <xs:complexContent>
      <xs:extension base="loc:LinearElement">
        <xs:sequence>
          <xs:element name="linearElementIdentifier" type="com:String" minOccurs="1" maxOccurs="1" />
          <xs:element name="_linearElementByCodeExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearElementByLineString">
    <xs:complexContent>
      <xs:extension base="loc:LinearElement">
        <xs:sequence>
          <xs:element name="gmlLineString" type="loc:GmlLineString" />
          <xs:element name="_linearElementByLineStringExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearElementByPoints">
    <xs:complexContent>
      <xs:extension base="loc:LinearElement">
        <xs:sequence>
          <xs:element name="startPointOfLinearElement" type="loc:Referent" />
          <xs:element name="intermediatePointOnLinearElement" type="loc:_IntermediatePointOnLinearElement" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="endPointOfLinearElement" type="loc:Referent" />
          <xs:element name="_linearElementByPointsExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="LinearElementNatureEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="road" />
      <xs:enumeration value="roadSection" />
      <xs:enumeration value="slipRoad" />
      <xs:enumeration value="other" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="LinearLocation">
    <xs:complexContent>
      <xs:extension base="loc:NetworkLocation">
        <xs:sequence>
          <xs:element name="openlrLinear" type="loc:OpenlrLinear" minOccurs="0" />
          <xs:element name="gmlLineString" type="loc:GmlLineString" minOccurs="0" />
          <xs:element name="secondarySupplementaryDescription" type="loc:SupplementaryPositionalDescription" minOccurs="0" />
          <xs:element name="_linearLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LinearWithinLinearElement">
    <xs:sequence>
      <xs:element name="administrativeAreaOfLinearSection" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="directionOnLinearSection" type="loc:_DirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="directionRelativeOnLinearSection" type="loc:_LinearDirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="heightGradeOfLinearSection" type="loc:_HeightGradeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElement" type="loc:LinearElement" />
      <xs:element name="fromPoint" type="loc:DistanceAlongLinearElement" />
      <xs:element name="toPoint" type="loc:DistanceAlongLinearElement" />
      <xs:element name="_linearWithinLinearElementExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Location" abstract="true">
    <xs:complexContent>
      <xs:extension base="loc:LocationReference">
        <xs:sequence>
          <xs:element name="externalReferencing" type="loc:ExternalReferencing" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="coordinatesForDisplay" type="loc:PointCoordinates" minOccurs="0" />
          <xs:element name="_locationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationByReference">
    <xs:complexContent>
      <xs:extension base="loc:Location">
        <xs:sequence>
          <xs:element name="predefinedLocationReference" type="loc:_PredefinedLocationVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="_locationByReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationGroup" abstract="true">
    <xs:complexContent>
      <xs:extension base="loc:LocationReference">
        <xs:sequence>
          <xs:element name="_locationGroupExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationGroupByList">
    <xs:complexContent>
      <xs:extension base="loc:LocationGroup">
        <xs:sequence>
          <xs:element name="locationContainedInGroup" type="loc:Location" minOccurs="2" maxOccurs="unbounded" />
          <xs:element name="_locationGroupByListExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationGroupByReference">
    <xs:complexContent>
      <xs:extension base="loc:LocationGroup">
        <xs:sequence>
          <xs:element name="predefinedLocationGroupReference" type="loc:_PredefinedLocationGroupVersionedReference" minOccurs="1" maxOccurs="1" />
          <xs:element name="_locationGroupByReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="LocationReference" abstract="true">
    <xs:sequence>
      <xs:element name="_locationReferenceExtension" type="loc:_LocationReferenceExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="NamedArea">
    <xs:complexContent>
      <xs:extension base="com:NamedArea">
        <xs:sequence>
          <xs:element name="areaName" type="com:MultilingualString" minOccurs="1" maxOccurs="1" />
          <xs:element name="namedAreaType" type="loc:_NamedAreaTypeEnum" minOccurs="0" maxOccurs="1" />
          <xs:element name="country" type="com:CountryCode" minOccurs="0" maxOccurs="1" />
          <xs:element name="_namedAreaExtension" type="loc:_NamedAreaExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NamedAreaTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="applicationRegion" />
      <xs:enumeration value="continent" />
      <xs:enumeration value="country" />
      <xs:enumeration value="countryGroup" />
      <xs:enumeration value="carParkArea" />
      <xs:enumeration value="carpoolArea" />
      <xs:enumeration value="fuzzyArea" />
      <xs:enumeration value="industrialArea" />
      <xs:enumeration value="lake" />
      <xs:enumeration value="meteorologicalArea" />
      <xs:enumeration value="metropolitanArea" />
      <xs:enumeration value="municipality" />
      <xs:enumeration value="parkAndRideSite" />
      <xs:enumeration value="ruralCounty" />
      <xs:enumeration value="sea" />
      <xs:enumeration value="touristArea" />
      <xs:enumeration value="trafficArea" />
      <xs:enumeration value="urbanCounty" />
      <xs:enumeration value="order1AdministrativeArea" />
      <xs:enumeration value="order2AdministrativeArea" />
      <xs:enumeration value="order3AdministrativeArea" />
      <xs:enumeration value="order4AdministrativeArea" />
      <xs:enumeration value="order5AdministrativeArea" />
      <xs:enumeration value="policeForceControlArea" />
      <xs:enumeration value="roadOperatorControlArea" />
      <xs:enumeration value="waterArea" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NetworkLocation" abstract="true">
    <xs:complexContent>
      <xs:extension base="loc:Location">
        <xs:sequence>
          <xs:element name="supplementaryPositionalDescription" type="loc:SupplementaryPositionalDescription" minOccurs="0" />
          <xs:element name="destination" type="loc:Destination" minOccurs="0" />
          <xs:element name="_networkLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="NutsCode">
    <xs:restriction base="com:String">
      <xs:maxLength value="5" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NutsCodeTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="nuts1Code" />
      <xs:enumeration value="nuts2Code" />
      <xs:enumeration value="nuts3Code" />
      <xs:enumeration value="lau1Code" />
      <xs:enumeration value="lau2Code" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="NutsNamedArea">
    <xs:complexContent>
      <xs:extension base="loc:NamedArea">
        <xs:sequence>
          <xs:element name="nutsCodeType" type="loc:_NutsCodeTypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="nutsCode" type="loc:NutsCode" minOccurs="1" maxOccurs="1" />
          <xs:element name="_nutsNamedAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OffsetDistance">
    <xs:sequence>
      <xs:element name="offsetDistance" type="com:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="_offsetDistanceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrAreaLocationReference" abstract="true">
    <xs:sequence>
      <xs:element name="_openlrAreaLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrBasePointLocation" abstract="true">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrPointLocationReference">
        <xs:sequence>
          <xs:element name="openlrSideOfRoad" type="loc:_OpenlrSideOfRoadEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="openlrOrientation" type="loc:_OpenlrOrientationEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="openlrLocationReferencePoint" type="loc:OpenlrLocationReferencePoint" />
          <xs:element name="openlrLastLocationReferencePoint" type="loc:OpenlrLastLocationReferencePoint" />
          <xs:element name="openlrOffsets" type="loc:OpenlrOffsets" minOccurs="0" />
          <xs:element name="_openlrBasePointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrBaseReferencePoint" abstract="true">
    <xs:sequence>
      <xs:element name="openlrCoordinates" type="loc:PointCoordinates" />
      <xs:element name="openlrLineAttributes" type="loc:OpenlrLineAttributes" />
      <xs:element name="_openlrBaseReferencePointExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrCircleLocationReference">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrRadius" type="com:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="openlrGeoCoordinate" type="loc:OpenlrGeoCoordinate" />
          <xs:element name="_openlrCircleLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrClosedLineLocationReference">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrLocationReferencePoint" type="loc:OpenlrLocationReferencePoint" maxOccurs="unbounded" />
          <xs:element name="openlrLastLine" type="loc:OpenlrLastLocationReferencePoint" />
          <xs:element name="_openlrClosedLineLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OpenlrFormOfWayEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="undefined" />
      <xs:enumeration value="motorway" />
      <xs:enumeration value="multipleCarriageway" />
      <xs:enumeration value="singleCarriageway" />
      <xs:enumeration value="roundabout" />
      <xs:enumeration value="slipRoad" />
      <xs:enumeration value="trafficSquare" />
      <xs:enumeration value="other" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OpenlrFunctionalRoadClassEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="frc0" />
      <xs:enumeration value="frc1" />
      <xs:enumeration value="frc2" />
      <xs:enumeration value="frc3" />
      <xs:enumeration value="frc4" />
      <xs:enumeration value="frc5" />
      <xs:enumeration value="frc6" />
      <xs:enumeration value="frc7" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OpenlrGeoCoordinate">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrPointLocationReference">
        <xs:sequence>
          <xs:element name="openlrCoordinates" type="loc:PointCoordinates" />
          <xs:element name="_openlrGeoCoordinateExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrGridLocationReference">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrNumColumns" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="openlrNumRows" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="openlrRectangle" type="loc:OpenlrRectangle" />
          <xs:element name="_openlrGridLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrLastLocationReferencePoint">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrBaseReferencePoint">
        <xs:sequence>
          <xs:element name="_openlrLastLocationReferencePointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrLinear">
    <xs:sequence>
      <xs:element name="firstDirection" type="loc:OpenlrLineLocationReference" />
      <xs:element name="oppositeDirection" type="loc:OpenlrLineLocationReference" minOccurs="0" />
      <xs:element name="_openlrLinearExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrLineAttributes">
    <xs:sequence>
      <xs:element name="openlrFunctionalRoadClass" type="loc:_OpenlrFunctionalRoadClassEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrFormOfWay" type="loc:_OpenlrFormOfWayEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrBearing" type="com:AngleInDegrees" minOccurs="1" maxOccurs="1" />
      <xs:element name="_openlrLineAttributesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrLineLocationReference">
    <xs:sequence>
      <xs:element name="openlrLocationReferencePoint" type="loc:OpenlrLocationReferencePoint" maxOccurs="unbounded" />
      <xs:element name="openlrLastLocationReferencePoint" type="loc:OpenlrLastLocationReferencePoint" />
      <xs:element name="openlrOffsets" type="loc:OpenlrOffsets" minOccurs="0" />
      <xs:element name="_openlrLineLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrLocationReferencePoint">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrBaseReferencePoint">
        <xs:sequence>
          <xs:element name="openlrPathAttributes" type="loc:OpenlrPathAttributes" />
          <xs:element name="_openlrLocationReferencePointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrOffsets">
    <xs:sequence>
      <xs:element name="openlrPositiveOffset" type="com:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="openlrNegativeOffset" type="com:MetresAsNonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="_openlrOffsetsExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="OpenlrOrientationEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="noOrientationOrUnknown" />
      <xs:enumeration value="withLineDirection" />
      <xs:enumeration value="againstLineDirection" />
      <xs:enumeration value="both" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="OpenlrPathAttributes">
    <xs:sequence>
      <xs:element name="openlrLowestFrcToNextLRPoint" type="loc:_OpenlrFunctionalRoadClassEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="openlrDistanceToNextLRPoint" type="com:NonNegativeInteger" minOccurs="1" maxOccurs="1" />
      <xs:element name="_openlrPathAttributesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPointAlongLine">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrBasePointLocation">
        <xs:sequence>
          <xs:element name="_openlrPointAlongLineExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrPointAttributes">
    <xs:sequence>
      <xs:element name="openlrSideOfRoad" type="loc:_OpenlrSideOfRoadEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="openlrOrientation" type="loc:_OpenlrOrientationEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="_openlrPointAttributesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPointLocationReference" abstract="true">
    <xs:sequence>
      <xs:element name="_openlrPointLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPoiWithAccessPoint">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrBasePointLocation">
        <xs:sequence>
          <xs:element name="openlrCoordinates" type="loc:PointCoordinates" />
          <xs:element name="_openlrPoiWithAccessPointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrPolygonCorners">
    <xs:sequence>
      <xs:element name="openlrCoordinates" type="loc:PointCoordinates" minOccurs="3" maxOccurs="unbounded" />
      <xs:element name="_openlrPolygonCornersExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrPolygonLocationReference">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrPolygonCorners" type="loc:OpenlrPolygonCorners" />
          <xs:element name="_openlrPolygonLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="OpenlrRectangle">
    <xs:sequence>
      <xs:element name="openlrLowerLeft" type="loc:PointCoordinates" />
      <xs:element name="openlrUpperRight" type="loc:PointCoordinates" />
      <xs:element name="_openlrRectangleExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OpenlrRectangleLocationReference">
    <xs:complexContent>
      <xs:extension base="loc:OpenlrAreaLocationReference">
        <xs:sequence>
          <xs:element name="openlrRectangle" type="loc:OpenlrRectangle" />
          <xs:element name="_openlrRectangleLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="OpenlrSideOfRoadEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="onRoadOrUnknown" />
      <xs:enumeration value="right" />
      <xs:enumeration value="left" />
      <xs:enumeration value="both" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PercentageDistanceAlongLinearElement">
    <xs:complexContent>
      <xs:extension base="loc:DistanceAlongLinearElement">
        <xs:sequence>
          <xs:element name="percentageDistanceAlong" type="com:Percentage" minOccurs="1" maxOccurs="1" />
          <xs:element name="_percentageDistanceAlongLinearElementExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PointAlongLinearElement">
    <xs:sequence>
      <xs:element name="administrativeAreaOfPoint" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="directionAtPoint" type="loc:_DirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="directionRelativeAtPoint" type="loc:_LinearDirectionEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="heightGradeOfPoint" type="loc:_HeightGradeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="linearElement" type="loc:LinearElement" />
      <xs:element name="distanceAlongLinearElement" type="loc:DistanceAlongLinearElement" />
      <xs:element name="_pointAlongLinearElementExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointByCoordinates">
    <xs:sequence>
      <xs:element name="bearing" type="com:AngleInDegrees" minOccurs="0" maxOccurs="1" />
      <xs:element name="pointCoordinates" type="loc:PointCoordinates" />
      <xs:element name="_pointByCoordinatesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointCoordinates">
    <xs:sequence>
      <xs:element name="latitude" type="com:Float" minOccurs="1" maxOccurs="1" />
      <xs:element name="longitude" type="com:Float" minOccurs="1" maxOccurs="1" />
      <xs:element name="heightCoordinate" type="loc:HeightCoordinate" minOccurs="0" maxOccurs="3" />
      <xs:element name="positionConfidenceEllipse" type="loc:PositionConfidenceEllipse" minOccurs="0" />
      <xs:element name="horizontalPositionAccuracy" type="loc:PositionAccuracy" minOccurs="0" />
      <xs:element name="_pointCoordinatesExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PointDestination">
    <xs:complexContent>
      <xs:extension base="loc:Destination">
        <xs:sequence>
          <xs:element name="pointLocation" type="loc:PointLocation" />
          <xs:element name="_pointDestinationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PointLocation">
    <xs:complexContent>
      <xs:extension base="loc:NetworkLocation">
        <xs:sequence>
          <xs:element name="pointByCoordinates" type="loc:PointByCoordinates" minOccurs="0" />
          <xs:element name="pointAlongLinearElement" type="loc:PointAlongLinearElement" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="alertCPoint" type="loc:AlertCPoint" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="tpegPointLocation" type="loc:TpegPointLocation" minOccurs="0" />
          <xs:element name="openlrPointLocationReference" type="loc:OpenlrPointLocationReference" minOccurs="0" />
          <xs:element name="_pointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PositionAccuracy">
    <xs:sequence>
      <xs:element name="accuracyPercentile50" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="accuracyPercentile75" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="accuracyPercentile95" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="_positionAccuracyExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="PositionConfidenceCodedErrorEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="outOfRange" />
      <xs:enumeration value="unavailable" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PositionConfidenceEllipse">
    <xs:sequence>
      <xs:element name="semiMajorAxisLength" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="semiMajorAxisLengthCodedError" type="loc:_PositionConfidenceCodedErrorEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="semiMinorAxisLength" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="semiMinorAxisLengthCodedError" type="loc:_PositionConfidenceCodedErrorEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="semiMajorAxisOrientation" type="com:AngleInDegrees" minOccurs="0" maxOccurs="1" />
      <xs:element name="semiMajorAxisOrientationError" type="com:Boolean" minOccurs="0" maxOccurs="1" />
      <xs:element name="_positionConfidenceEllipseExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PredefinedItinerary">
    <xs:complexContent>
      <xs:extension base="loc:PredefinedLocationReference">
        <xs:sequence>
          <xs:element name="predefinedItineraryName" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="itinerary" type="loc:Itinerary" minOccurs="0" />
          <xs:element name="predefinedLocation" type="loc:PredefinedLocation" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_predefinedItineraryExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required" />
        <xs:attribute name="version" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PredefinedLocation">
    <xs:complexContent>
      <xs:extension base="loc:PredefinedLocationReference">
        <xs:sequence>
          <xs:element name="predefinedLocationName" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="location" type="loc:Location" />
          <xs:element name="_predefinedLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required" />
        <xs:attribute name="version" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PredefinedLocationGroup">
    <xs:complexContent>
      <xs:extension base="loc:PredefinedLocationReference">
        <xs:sequence>
          <xs:element name="predefinedLocationGroupName" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
          <xs:element name="locationGroup" type="loc:LocationGroup" minOccurs="0" />
          <xs:element name="predefinedLocation" type="loc:PredefinedLocation" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_predefinedLocationGroupExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required" />
        <xs:attribute name="version" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PredefinedLocationReference" abstract="true">
    <xs:sequence>
      <xs:element name="_predefinedLocationReferenceExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PredefinedLocationsPublication">
    <xs:complexContent>
      <xs:extension base="com:PayloadPublication">
        <xs:sequence>
          <xs:element name="headerInformation" type="com:HeaderInformation" />
          <xs:element name="predefinedLocationReference" type="loc:PredefinedLocationReference" maxOccurs="unbounded" />
          <xs:element name="_predefinedLocationsPublicationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Referent">
    <xs:sequence>
      <xs:element name="referentIdentifier" type="com:String" minOccurs="1" maxOccurs="1" />
      <xs:element name="referentName" type="com:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="referentType" type="loc:_ReferentTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="referentDescription" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="pointCoordinates" type="loc:PointCoordinates" minOccurs="0" />
      <xs:element name="_referentExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ReferentTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="boundary" />
      <xs:enumeration value="intersection" />
      <xs:enumeration value="referenceMarker" />
      <xs:enumeration value="landmark" />
      <xs:enumeration value="roadNode" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RelativePositionOnCarriagewayEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="inTheCentre" />
      <xs:enumeration value="onTheLeft" />
      <xs:enumeration value="onTheRight" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="RoadInformation">
    <xs:sequence>
      <xs:element name="roadDestination" type="com:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="roadName" type="com:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="roadNumber" type="com:String" minOccurs="0" maxOccurs="1" />
      <xs:element name="_roadInformationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SingleRoadLinearLocation">
    <xs:complexContent>
      <xs:extension base="loc:LinearLocation">
        <xs:sequence>
          <xs:element name="tpegLinearLocation" type="loc:TpegLinearLocation" minOccurs="0" />
          <xs:element name="alertCLinear" type="loc:AlertCLinear" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="linearWithinLinearElement" type="loc:LinearWithinLinearElement" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_singleRoadLinearLocationExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SubdivisionCode">
    <xs:restriction base="com:String">
      <xs:maxLength value="3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SubdivisionTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAtoll" />
      <xs:enumeration value="administrativeRegion" />
      <xs:enumeration value="administrativeTerritory" />
      <xs:enumeration value="arcticRegion" />
      <xs:enumeration value="autonomousCity" />
      <xs:enumeration value="autonomousCityInNorthAfrica" />
      <xs:enumeration value="autonomousCommunity" />
      <xs:enumeration value="autonomousDistrict" />
      <xs:enumeration value="autonomousProvince" />
      <xs:enumeration value="autonomousRegion" />
      <xs:enumeration value="canton" />
      <xs:enumeration value="capitalCity" />
      <xs:enumeration value="city" />
      <xs:enumeration value="cityMunicipality" />
      <xs:enumeration value="cityOfCountyRight" />
      <xs:enumeration value="commune" />
      <xs:enumeration value="councilArea" />
      <xs:enumeration value="county" />
      <xs:enumeration value="country" />
      <xs:enumeration value="department" />
      <xs:enumeration value="dependency" />
      <xs:enumeration value="district" />
      <xs:enumeration value="districtMunicipality" />
      <xs:enumeration value="districtWithSpecialStatus" />
      <xs:enumeration value="entity" />
      <xs:enumeration value="geographicalEntity" />
      <xs:enumeration value="governorate" />
      <xs:enumeration value="laender" />
      <xs:enumeration value="localCouncil" />
      <xs:enumeration value="londonBorough" />
      <xs:enumeration value="metropolitanArea" />
      <xs:enumeration value="metropolitanDepartment" />
      <xs:enumeration value="metropolitanDistrict" />
      <xs:enumeration value="metropolitanRegion" />
      <xs:enumeration value="municipality" />
      <xs:enumeration value="overseasDepartment" />
      <xs:enumeration value="overseasRegion" />
      <xs:enumeration value="overseasTerritorialCollectivity" />
      <xs:enumeration value="parish" />
      <xs:enumeration value="province" />
      <xs:enumeration value="quarter" />
      <xs:enumeration value="region" />
      <xs:enumeration value="republic" />
      <xs:enumeration value="republicanCity" />
      <xs:enumeration value="selfGovernedPart" />
      <xs:enumeration value="specialMunicipality" />
      <xs:enumeration value="state" />
      <xs:enumeration value="territorialUnit" />
      <xs:enumeration value="territory" />
      <xs:enumeration value="twoTierCounty" />
      <xs:enumeration value="unitaryAuthority" />
      <xs:enumeration value="ward" />
      <xs:enumeration value="other" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SupplementaryPositionalDescription">
    <xs:sequence>
      <xs:element name="directionPurpose" type="loc:_DirectionPurposeEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="geographicDescriptor" type="loc:_GeographicCharacteristicEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="infrastructureDescriptor" type="loc:_InfrastructureDescriptorEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="lengthAffected" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="locationDescription" type="com:MultilingualString" minOccurs="0" maxOccurs="1" />
      <xs:element name="positionOnCarriageway" type="loc:_RelativePositionOnCarriagewayEnum" minOccurs="0" maxOccurs="1" />
      <xs:element name="sequentialRampNumber" type="com:NonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="carriageway" type="loc:Carriageway" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="namedArea" type="loc:NamedArea" minOccurs="0" />
      <xs:element name="roadInformation" type="loc:RoadInformation" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="_supplementaryPositionalDescriptionExtension" type="loc:_SupplementaryPositionalDescriptionExtensionType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="locationPrecision" type="com:MetresAsNonNegativeInteger" use="optional" />
  </xs:complexType>
  <xs:complexType name="TpegAreaDescriptor">
    <xs:complexContent>
      <xs:extension base="loc:TpegDescriptor">
        <xs:sequence>
          <xs:element name="tpegAreaDescriptorType" type="loc:_TpegLoc03AreaDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="_tpegAreaDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegAreaLocation" abstract="true">
    <xs:sequence>
      <xs:element name="tpegAreaLocationType" type="loc:_TpegLoc01AreaLocationSubtypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="tpegHeight" type="loc:TpegHeight" minOccurs="0" />
      <xs:element name="_tpegAreaLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegDescriptor" abstract="true">
    <xs:sequence>
      <xs:element name="descriptor" type="com:MultilingualString" minOccurs="1" maxOccurs="1" />
      <xs:element name="_tpegDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegFramedPoint">
    <xs:complexContent>
      <xs:extension base="loc:TpegPointLocation">
        <xs:sequence>
          <xs:element name="tpegFramedPointLocationType" type="loc:_TpegLoc01FramedPointLocationSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="framedPoint" type="loc:TpegNonJunctionPoint" />
          <xs:element name="to" type="loc:TpegPoint" />
          <xs:element name="from" type="loc:TpegPoint" />
          <xs:element name="_tpegFramedPointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegGeometricArea">
    <xs:complexContent>
      <xs:extension base="loc:TpegAreaLocation">
        <xs:sequence>
          <xs:element name="radius" type="com:MetresAsNonNegativeInteger" minOccurs="1" maxOccurs="1" />
          <xs:element name="centrePoint" type="loc:PointCoordinates" />
          <xs:element name="name" type="loc:TpegAreaDescriptor" minOccurs="0" />
          <xs:element name="_tpegGeometricAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegHeight">
    <xs:sequence>
      <xs:element name="height" type="com:MetresAsFloat" minOccurs="0" maxOccurs="1" />
      <xs:element name="heightType" type="loc:_TpegLoc04HeightTypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="_tpegHeightExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegIlcPointDescriptor">
    <xs:complexContent>
      <xs:extension base="loc:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegIlcPointDescriptorType" type="loc:_TpegLoc03IlcPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="_tpegIlcPointDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegJunction">
    <xs:complexContent>
      <xs:extension base="loc:TpegPoint">
        <xs:sequence>
          <xs:element name="pointCoordinates" type="loc:PointCoordinates" />
          <xs:element name="name" type="loc:TpegJunctionPointDescriptor" minOccurs="0" />
          <xs:element name="ilc" type="loc:TpegIlcPointDescriptor" maxOccurs="3" />
          <xs:element name="otherName" type="loc:TpegOtherPointDescriptor" minOccurs="0" maxOccurs="unbounded" />
          <xs:element name="_tpegJunctionExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegJunctionPointDescriptor">
    <xs:complexContent>
      <xs:extension base="loc:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegJunctionPointDescriptorType" type="loc:_TpegLoc03JunctionPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="_tpegJunctionPointDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegLinearLocation">
    <xs:sequence>
      <xs:element name="tpegDirection" type="loc:_DirectionEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="tpegLinearLocationType" type="loc:_TpegLoc01LinearLocationSubtypeEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="to" type="loc:TpegPoint" />
      <xs:element name="from" type="loc:TpegPoint" />
      <xs:element name="_tpegLinearLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TpegLoc01AreaLocationSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="largeArea" />
      <xs:enumeration value="other" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01FramedPointLocationSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="framedPoint" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01LinearLocationSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="segment" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc01SimplePointLocationSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="intersection" />
      <xs:enumeration value="nonLinkedPoint" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03AreaDescriptorSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAreaName" />
      <xs:enumeration value="administrativeReferenceName" />
      <xs:enumeration value="areaName" />
      <xs:enumeration value="countyName" />
      <xs:enumeration value="lakeName" />
      <xs:enumeration value="nationName" />
      <xs:enumeration value="policeForceControlAreaName" />
      <xs:enumeration value="regionName" />
      <xs:enumeration value="seaName" />
      <xs:enumeration value="townName" />
      <xs:enumeration value="other" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03IlcPointDescriptorSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="tpegIlcName1" />
      <xs:enumeration value="tpegIlcName2" />
      <xs:enumeration value="tpegIlcName3" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03JunctionPointDescriptorSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="junctionName" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc03OtherPointDescriptorSubtypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="administrativeAreaName" />
      <xs:enumeration value="administrativeReferenceName" />
      <xs:enumeration value="airportName" />
      <xs:enumeration value="areaName" />
      <xs:enumeration value="buildingName" />
      <xs:enumeration value="busStopIdentifier" />
      <xs:enumeration value="busStopName" />
      <xs:enumeration value="canalName" />
      <xs:enumeration value="countyName" />
      <xs:enumeration value="ferryPortName" />
      <xs:enumeration value="intersectionName" />
      <xs:enumeration value="lakeName" />
      <xs:enumeration value="linkName" />
      <xs:enumeration value="localLinkName" />
      <xs:enumeration value="metroStationName" />
      <xs:enumeration value="nationName" />
      <xs:enumeration value="nonLinkedPointName" />
      <xs:enumeration value="parkingFacilityName" />
      <xs:enumeration value="pointName" />
      <xs:enumeration value="pointOfInterestName" />
      <xs:enumeration value="railwayStation" />
      <xs:enumeration value="regionName" />
      <xs:enumeration value="riverName" />
      <xs:enumeration value="seaName" />
      <xs:enumeration value="serviceAreaName" />
      <xs:enumeration value="tidalRiverName" />
      <xs:enumeration value="townName" />
      <xs:enumeration value="other" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TpegLoc04HeightTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="above" />
      <xs:enumeration value="aboveSeaLevel" />
      <xs:enumeration value="aboveStreetLevel" />
      <xs:enumeration value="at" />
      <xs:enumeration value="atSeaLevel" />
      <xs:enumeration value="atStreetLevel" />
      <xs:enumeration value="below" />
      <xs:enumeration value="belowSeaLevel" />
      <xs:enumeration value="belowStreetLevel" />
      <xs:enumeration value="undefined" />
      <xs:enumeration value="unknown" />
      <xs:enumeration value="other" />
      <xs:enumeration value="_extended" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="TpegNamedOnlyArea">
    <xs:complexContent>
      <xs:extension base="loc:TpegAreaLocation">
        <xs:sequence>
          <xs:element name="name" type="loc:TpegAreaDescriptor" maxOccurs="unbounded" />
          <xs:element name="_tpegNamedOnlyAreaExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegNonJunctionPoint">
    <xs:complexContent>
      <xs:extension base="loc:TpegPoint">
        <xs:sequence>
          <xs:element name="pointCoordinates" type="loc:PointCoordinates" />
          <xs:element name="name" type="loc:TpegOtherPointDescriptor" maxOccurs="unbounded" />
          <xs:element name="_tpegNonJunctionPointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegOtherPointDescriptor">
    <xs:complexContent>
      <xs:extension base="loc:TpegPointDescriptor">
        <xs:sequence>
          <xs:element name="tpegOtherPointDescriptorType" type="loc:_TpegLoc03OtherPointDescriptorSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="_tpegOtherPointDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegPoint" abstract="true">
    <xs:sequence>
      <xs:element name="_tpegPointExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegPointDescriptor" abstract="true">
    <xs:complexContent>
      <xs:extension base="loc:TpegDescriptor">
        <xs:sequence>
          <xs:element name="_tpegPointDescriptorExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TpegPointLocation" abstract="true">
    <xs:sequence>
      <xs:element name="tpegDirection" type="loc:_DirectionEnum" minOccurs="1" maxOccurs="1" />
      <xs:element name="_tpegPointLocationExtension" type="com:_ExtensionType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TpegSimplePoint">
    <xs:complexContent>
      <xs:extension base="loc:TpegPointLocation">
        <xs:sequence>
          <xs:element name="tpegSimplePointLocationType" type="loc:_TpegLoc01SimplePointLocationSubtypeEnum" minOccurs="1" maxOccurs="1" />
          <xs:element name="point" type="loc:TpegPoint" />
          <xs:element name="_tpegSimplePointExtension" type="com:_ExtensionType" minOccurs="0" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>