<?xml version="1.0" encoding="UTF-8"?><!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Nick js Knowles (Kizoom Ltd.) --><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="NaPT_geographic">    <xsd:annotation>        <xsd:appinfo xmlns:gms="http://www.govtalk.gov.uk/CM/gms">            <Metadata xmlns="http://www.govtalk.gov.uk/CM/gms-xs">                <Aggregation>main schema</Aggregation>                <Audience>e-service developers</Audience>                <Contributor>Revised for version 2.0 of TransXChange by Kizoom Limited, by Tom White, Nicholas Knowles. mailto:schemer@kizoom.com</Contributor>                <Coverage>United Kingdom</Coverage>                <Creator>Created for TXC 2.0 Tom White, Kizoom mailto:schemer@kizoom.com</Creator>                <Date>                    <Created>2004-02-01</Created>                </Date>                <Date>                    <Modified>2005-01-05</Modified>                </Date>                                 <Date>                                    <Modified>2005-06-06</Modified>                </Date>                <Description>Geographical types for National Public Transport XML schemas.</Description>                <Format>                    <MediaType>text/xml</MediaType>                    <Syntax>http://www.w3.org/2001/XMLSchema</Syntax>                    <Description>XML schema, W3C Recommendation 2001</Description>                </Format>                <Identifier>{http://www.naptan.org.uk/schemas/2.0/napt}NaPT_geographic-v2-0.xsd</Identifier>                <Language>[ISO 639-2/B] ENG</Language>                <Publisher>Department for Transport, Great Minster House, 76 Marsham Street, London SW1P 4DR</Publisher>                <Rights>Unclassified                               <Copyright>Crown Copyright 2000-2005</Copyright>                </Rights>                <Source>Factored out from 2.0 draft schema</Source>                                <Status>Version 2.0 Release</Status>                <Subject>                    <Category>Arts, recreation and travel, Tourism, Travel (tourism), Transport,Air transport, Airports, Ports and maritime transport, Ferries (marine),Public transport, Bus services, Coach services, Bus stops and stations,Rail transport, Railway stations and track, Train services, Underground trains,Business and industry, Transport, Air transport , Ports and maritime transport, Public transport,Rail transport, Roads and road transport</Category>                    <Project>Transport Direct</Project>                </Subject>                <Title>Geographical types for National Public Transport XML schemas.</Title>                <Type>Standard</Type>            </Metadata>        </xsd:appinfo>        <xsd:documentation>NaPT Common Geographic Types</xsd:documentation>    </xsd:annotation>    <xsd:simpleType name="LocationSystemEnumeration">        <xsd:annotation>            <xsd:documentation>Different Geospatial coordinate systems can be used to express location.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:NMTOKEN">            <xsd:enumeration value="WGS84">                <xsd:annotation>                    <xsd:documentation>All coordinate will be in World Geodetic System 84 (WGS 84) format.  http://www.wgs84.com/</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="Grid">                <xsd:annotation>                    <xsd:documentation>All coordinates will be in a grid based system.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>        </xsd:restriction>    </xsd:simpleType>    <xsd:element name="LocationSystem" type="LocationSystemEnumeration" default="Grid">        <xsd:annotation>            <xsd:documentation>Geodata System to use in document. Grid or WGS84.</xsd:documentation>        </xsd:annotation>    </xsd:element>    <xsd:simpleType name="MappingSystemEnumeration">        <xsd:annotation>            <xsd:documentation>Mapping systems that the client may use.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:NMTOKEN">            <xsd:enumeration value="TOID">                <xsd:annotation>                    <xsd:documentation>Ordnance Survey MasterMap Topographical ID.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="OSODR">                <xsd:annotation>                    <xsd:documentation>Ordnance Survey ROADS (previously OSCAR hence the O) Database Reference.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="NavTech">                <xsd:annotation>                    <xsd:documentation>NavTech mapping reference.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="MDV">                <xsd:annotation>                    <xsd:documentation>Mentz Datenverarbeitung GmbHmapping reference http://www.mentzdv.de.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>        </xsd:restriction>    </xsd:simpleType>    <xsd:complexType name="MapSystemReferenceStructure">        <xsd:annotation>            <xsd:documentation>@MappingSystem.Identifies the map reference system of Map element IDs (e.g. OSODRs or TOIDs) of any mapping layer references used. </xsd:documentation>        </xsd:annotation>        <xsd:simpleContent>            <xsd:extension base="xsd:string">                <xsd:attribute name="MappingSystem" type="MappingSystemEnumeration" use="required">                    <xsd:annotation>                        <xsd:documentation>This enumeration should include all mapping systems used by JourneyWeb clients and suppliers.</xsd:documentation>                    </xsd:annotation>                </xsd:attribute>            </xsd:extension>        </xsd:simpleContent>    </xsd:complexType>    <!--=====OS Grid=========================================================================================-->    <xsd:simpleType name="LocationGridTypeEnumeration">        <xsd:annotation>            <xsd:documentation>Different grid systems (e.g. UK OS, Irish OS) that can be used to express Eastings and Northings.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:NMTOKEN">            <xsd:enumeration value="UKOS">                <xsd:annotation>                    <xsd:documentation>Ordnance Survey UK grid with origin at bottom left of Sheet SV.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="IrishOS">                <xsd:annotation>                    <xsd:documentation>Ordnance Survey Irish grid with origin at bottom left of Grid V.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>        </xsd:restriction>    </xsd:simpleType>    <xsd:simpleType name="EastingType">        <xsd:annotation>            <xsd:documentation>OS 1 metre - 6 digits.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:nonNegativeInteger">            <xsd:maxInclusive value="999999"/>        </xsd:restriction>    </xsd:simpleType>    <xsd:simpleType name="NorthingType">        <xsd:annotation>            <xsd:documentation>OS 1 metre - 6/7 digits.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:nonNegativeInteger">            <xsd:maxInclusive value="1999999"/>        </xsd:restriction>    </xsd:simpleType>    <xsd:group name="GridGroup">        <xsd:annotation>            <xsd:documentation>OSGrid Coordinates</xsd:documentation>        </xsd:annotation>        <xsd:sequence>            <xsd:element name="GridType" type="LocationGridTypeEnumeration" default="UKOS" minOccurs="0">                <xsd:annotation>                    <xsd:documentation>Specifies the grid system being used. e.g. UKOS or IrishOS.</xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="Easting" type="EastingType">                <xsd:annotation>                    <xsd:documentation>OS 1 metre - 6 digits.</xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="Northing" type="NorthingType">                <xsd:annotation>                    <xsd:documentation>OS 1 metre - 6/7 digits.</xsd:documentation>                </xsd:annotation>            </xsd:element>        </xsd:sequence>    </xsd:group>    <xsd:complexType name="GridPositionStructure">        <xsd:annotation>            <xsd:documentation>Position of a point in Grid Coordinates</xsd:documentation>        </xsd:annotation>        <xsd:sequence>            <xsd:element name="GridType" type="LocationGridTypeEnumeration">                <xsd:annotation>                    <xsd:documentation>Specifies the grid system being used. e.g. UKOS or IrishOS.</xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="Easting" type="EastingType">                <xsd:annotation>                    <xsd:documentation>OS 1 metre - 6 digits.</xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="Northing" type="NorthingType">                <xsd:annotation>                    <xsd:documentation>OS 1 metre - 6/7 digits.</xsd:documentation>                </xsd:annotation>            </xsd:element>        </xsd:sequence>    </xsd:complexType>    <!--======WGS84=======================================================================================-->    <xsd:simpleType name="LongitudeType">        <xsd:annotation>            <xsd:documentation>Longitude from Greenwich.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:decimal">            <xsd:minInclusive value="-180"/>            <xsd:maxInclusive value="180"/>        </xsd:restriction>    </xsd:simpleType>    <xsd:simpleType name="LatitudeType">        <xsd:annotation>            <xsd:documentation>Latitude from equator.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:decimal">            <xsd:minInclusive value="-90"/>            <xsd:maxInclusive value="90"/>        </xsd:restriction>    </xsd:simpleType>    <xsd:group name="WgsGroup">        <xsd:annotation>            <xsd:documentation>WGS84 Coordinates</xsd:documentation>        </xsd:annotation>        <xsd:sequence>            <xsd:element name="Longitude" type="LongitudeType">                <xsd:annotation>                    <xsd:documentation>Longitude from Greenwich Meridian.  -180° (East) to +180° (West).</xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="Latitude" type="LatitudeType">                <xsd:annotation>                    <xsd:documentation>Latitude from equator. -90° (South)  to +90° (North) </xsd:documentation>                </xsd:annotation>            </xsd:element>        </xsd:sequence>    </xsd:group>    <xsd:complexType name="WGS84PositionStructure">        <xsd:annotation>            <xsd:documentation xml:lang="en">Position of a point in WGS 84 Coordinates.         </xsd:documentation>        </xsd:annotation>        <xsd:sequence>            <xsd:element name="Longitude" type="LongitudeType">                <xsd:annotation>                    <xsd:documentation>Longitude from Greenwich Meridian.  -180° (East) to +180° (West).</xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="Latitude" type="LatitudeType">                <xsd:annotation>                    <xsd:documentation>Latitude from equator. -90° (South)  to +90° (North) </xsd:documentation>                </xsd:annotation>            </xsd:element>        </xsd:sequence>    </xsd:complexType>    <!--======Location=========================================================================================-->    <xsd:simpleType name="PrecisionEnumeration">        <xsd:annotation>            <xsd:documentation>Levels of precision for geocodes.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:NMTOKEN">            <xsd:enumeration value="1km"/>            <xsd:enumeration value="100m"/>            <xsd:enumeration value="10m"/>            <xsd:enumeration value="1m"/>        </xsd:restriction>    </xsd:simpleType>    <xsd:complexType name="LocationStructure">        <xsd:annotation>            <xsd:documentation>Spatial co-ordinates of a location.</xsd:documentation>        </xsd:annotation>        <xsd:choice>            <xsd:group ref="GridGroup"/>            <xsd:group ref="WgsGroup"/>            <xsd:sequence>                <xsd:element name="Translation">                    <xsd:annotation>                        <xsd:documentation>Both sets of coordinates. (This Wrapper tag is needed to avoid a non-deterministic ocnodition in XML)</xsd:documentation>                    </xsd:annotation>                    <xsd:complexType>                        <xsd:sequence>                            <xsd:group ref="GridGroup"/>                            <xsd:group ref="WgsGroup"/>                        </xsd:sequence>                    </xsd:complexType>                </xsd:element>            </xsd:sequence>        </xsd:choice>        <xsd:attribute name="Precision" type="PrecisionEnumeration" use="optional" default="1km">            <xsd:annotation>                <xsd:documentation>Precision of geocoding</xsd:documentation>            </xsd:annotation>        </xsd:attribute>        <xsd:attribute name="id" type="xsd:NMTOKEN" use="optional"/>    </xsd:complexType>    <!--======Distance  ============================================================-->    <xsd:simpleType name="DistanceType">        <xsd:annotation>            <xsd:documentation>Distance (metres) as defined by http://www.ordnancesurvey.co.uk/xml/resource/units.xml#metres</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:nonNegativeInteger"/>    </xsd:simpleType>    <xsd:complexType name="LineStringStructure">        <xsd:annotation>            <xsd:documentation>Based on the LineString element from GML 2.1.2, but using JourneyWeb coordinate representations.</xsd:documentation>        </xsd:annotation>        <xsd:sequence>            <xsd:element name="Location" type="LocationStructure" minOccurs="2" maxOccurs="unbounded">                <xsd:annotation>                    <xsd:documentation>A geospatial point. @Precision, @id. </xsd:documentation>                </xsd:annotation>            </xsd:element>        </xsd:sequence>    </xsd:complexType>    <xsd:complexType name="MapStructure">        <xsd:annotation>            <xsd:documentation>Either a rendered map or a sequence of points that can be rendered by the client.</xsd:documentation>        </xsd:annotation>        <xsd:choice>            <xsd:element name="Mapping" type="LineStringStructure">                <xsd:annotation>                    <xsd:documentation>Set of physical points which describe this segment. This must include the beginning and end of the segment.</xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="RenderedMap" type="xsd:anyURI">                <xsd:annotation>                    <xsd:documentation>URL of a custom map rendered by the journey planning system.</xsd:documentation>                </xsd:annotation>            </xsd:element>        </xsd:choice>    </xsd:complexType>    <xsd:complexType name="BoundingBoxStructure">        <xsd:annotation>            <xsd:documentation>Defines a bounding box using two corner points. GML terminology</xsd:documentation>        </xsd:annotation>        <xsd:sequence>            <xsd:element name="UpperCorner" type="LocationStructure">                <xsd:annotation>                    <xsd:documentation>A geospatial point. Upper Left </xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="LowerCorner" type="LocationStructure">                <xsd:annotation>                    <xsd:documentation>A geospatial point. Lower right  </xsd:documentation>                </xsd:annotation>            </xsd:element>        </xsd:sequence>    </xsd:complexType>    <!--====Bearing==========================================================================================-->    <xsd:simpleType name="CompassBearingEnumeration">        <xsd:annotation>            <xsd:documentation>Allowed values for compass bearings.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:NMTOKEN">            <xsd:enumeration value="N"/>            <xsd:enumeration value="S"/>            <xsd:enumeration value="E"/>            <xsd:enumeration value="W"/>            <xsd:enumeration value="NE"/>            <xsd:enumeration value="NW"/>            <xsd:enumeration value="SE"/>            <xsd:enumeration value="SW"/>        </xsd:restriction>    </xsd:simpleType>    <xsd:simpleType name="AbsoluteBearingType">        <xsd:annotation>            <xsd:documentation>The compass bearing in degrees.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:nonNegativeInteger">            <xsd:maxExclusive value="360"/>        </xsd:restriction>    </xsd:simpleType>    <xsd:simpleType name="RelativeBearingEnumeration">        <xsd:annotation>            <xsd:documentation>Available directions to turn from a feature point.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:NMTOKEN">            <xsd:enumeration value="left"/>            <xsd:enumeration value="right"/>            <xsd:enumeration value="straightAhead"/>            <xsd:enumeration value="uTurn"/>        </xsd:restriction>    </xsd:simpleType>    <xsd:complexType name="BearingStructure">        <xsd:annotation>            <xsd:documentation>Direction in which vehicle is pointing when stopped at stopping point. </xsd:documentation>        </xsd:annotation>        <xsd:sequence>            <xsd:element name="CompassPoint" type="CompassBearingEnumeration">                <xsd:annotation>                    <xsd:documentation>Eight point compass bearing (N, S, E, W etc). Enumerated value.</xsd:documentation>                </xsd:annotation>            </xsd:element>            <xsd:element name="Degrees" type="AbsoluteBearingType" minOccurs="0">                <xsd:annotation>                    <xsd:documentation>Bearing in degrees.</xsd:documentation>                </xsd:annotation>            </xsd:element>        </xsd:sequence>    </xsd:complexType>    <xsd:simpleType name="FeatureTypeEnumeration">        <xsd:annotation>            <xsd:documentation>Available types of features for describing legs.</xsd:documentation>        </xsd:annotation>        <xsd:restriction base="xsd:NMTOKEN">            <xsd:enumeration value="legOrigin">                <xsd:annotation>                    <xsd:documentation>The start point of the leg.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="legDestination">                <xsd:annotation>                    <xsd:documentation>The end point of the leg.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="bend">                <xsd:annotation>                    <xsd:documentation>A bend in the track that merits attention (without a junction).</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="crossing">                <xsd:annotation>                    <xsd:documentation>Cross over the road.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="bridge">                <xsd:annotation>                    <xsd:documentation>Traversing over a bridge.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="junction">                <xsd:annotation>                    <xsd:documentation>Either a point at which another road is taken, or a side road that is passed along the way.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="miniRoundabout"/>            <xsd:enumeration value="roadChange">                <xsd:annotation>                    <xsd:documentation>Denotes a change of road name when there is no junction.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="roundabout"/>            <xsd:enumeration value="subway">                <xsd:annotation>                    <xsd:documentation>Going through a subway.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>            <xsd:enumeration value="trafficLights"/>            <xsd:enumeration value="landmark">                <xsd:annotation>                    <xsd:documentation>A named landmark that can be seen from the track. The name should be provided in the Feature Description.</xsd:documentation>                </xsd:annotation>            </xsd:enumeration>        </xsd:restriction>    </xsd:simpleType></xsd:schema>
