<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy 2004 (http://www.xmlspy.com) by Tom White (Kizoom) -->
<!-- 22 12 2003  added  StopType  "RLY" , "PLT", FER" "GAT" -->

<!--W3C Schema generated by XML Spy v4.3 U (http://www.xmlspy.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="NaPTAN v1.0 draft">
    <xs:element name="NaPTAN">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Area" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="AreaID">
                                <xs:annotation>
                                    <xs:documentation>ATCO database code</xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:pattern value="[0-9]{3}"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="AreaName" type="LimitedStringType"/>
                            <xs:element name="Stops">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Stop" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:all>
                                                    <xs:element name="ATCOCode" type="ATCOCodeType">
                                                        <xs:annotation>
                                                            <xs:documentation>Full 12 character ATCO Code</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="NatGaz" type="NatGazType"/>
                                                    <xs:element name="AltNatGazs" minOccurs="0">
                                                        <xs:complexType>
                                                            <xs:sequence>
                                                                <xs:element name="NatGaz" type="NatGazType" maxOccurs="unbounded"/>
                                                            </xs:sequence>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="CommonName" type="LimitedStringType">
                                                        <xs:annotation>
                                                            <xs:documentation>As seen on bus stop - often the same for either side of the road</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="AltCommonNames" minOccurs="0">
                                                        <xs:complexType>
                                                            <xs:sequence>
                                                                <xs:element name="CommonName" type="LimitedStringType" maxOccurs="unbounded"/>
                                                            </xs:sequence>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="Identifier" type="LimitedStringType">
                                                        <xs:annotation>
                                                            <xs:documentation>Used with common name to distinguish the stop e.g. bay #, opp, adj, etc.</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="GridType" type="GridTypeType" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Irish grid letter or blank</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Easting" type="EastingType">
                                                        <xs:annotation>
                                                            <xs:documentation>OSGB  1 metre - 6 digits</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Northing" type="NorthingType">
                                                        <xs:annotation>
                                                            <xs:documentation>OSGB  1 metre - 6/7 digits</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Lon" type="xs:double" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>WGS84 position (decimal degrees) - export only</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Lat" type="xs:double" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>WGS84 position (decimal degrees)  - export only</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Direction">
                                                        <xs:annotation>
                                                            <xs:documentation>Direction of road that the stop is on</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                            <xs:restriction base="xs:string">
                                                                <xs:enumeration value="N"/>
                                                                <xs:enumeration value="S"/>
                                                                <xs:enumeration value="E"/>
                                                                <xs:enumeration value="W"/>
                                                                <xs:enumeration value="NE"/>
                                                                <xs:enumeration value="NW"/>
                                                                <xs:enumeration value="SE"/>
                                                                <xs:enumeration value="SW"/>
                                                                <xs:enumeration value="NA"/>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>
                                                    <xs:element name="Street" type="LimitedStringType">
                                                        <xs:annotation>
                                                            <xs:documentation>Street name of where the stop is located</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Landmark" type="LimitedStringType">
                                                        <xs:annotation>
                                                            <xs:documentation>Distinguishing feature of the stop</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Town" type="LimitedStringType" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Optional higher level name</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Suburb" type="LimitedStringType" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Optional lower level name</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="StopType">
                                                        <xs:annotation>
                                                            <xs:documentation>The type of stop</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                            <xs:restriction base="xs:string">
                                                                <xs:enumeration value="BCT">
                                                                    <xs:annotation>
                                                                        <xs:documentation>On street Bus \ Coach \ Tram Stop</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="BCS">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Bus \ Coach bay \ stand \ stance within Bus \ Coach Stations</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="BCE">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Bus \ Coach Station Entrance</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="RSE">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Rail Station Entrance</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="TMU">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Tram \ Metro \ Underground Entrance</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="FTD">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Ferry Terminal \ Dock Entrance</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="AIR">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Airport Entrance</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="TXR">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Taxi Rank (head of)</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="STR">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Shared Taxi Rank (head of)</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="RLY"/>
                                                                <xs:enumeration value="PLT"/>
                                                                <xs:enumeration value="FER"/>
                                                                <xs:enumeration value="GAT"/>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>
                                                    <xs:element name="BusStopType" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Type of stop. If hail and ride the optional HailAndRideSection will be present</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                            <xs:restriction base="xs:string">
                                                                <xs:enumeration value="MKD">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Marked (pole, shelter etc)</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="HAR">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Hail and Ride - requires Hail and Ride section</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="CUS">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Custom (unmarked, or only marked on road)</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="NA"/>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>
                                                    <xs:element name="HailAndRideSection" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Cooardinates of the hail and ride section</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:complexType>
                                                            <xs:sequence>
                                                                <xs:element name="StartGridType" type="GridTypeType" minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Irish grid letter or blank</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="StartEasting" type="EastingType">
                                                                    <xs:annotation>
                                                                        <xs:documentation>OSGB  1 metre - 6 digits</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="StartNorthing" type="NorthingType">
                                                                    <xs:annotation>
                                                                        <xs:documentation>OSGB  1 metre - 6/7 digits</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="StartLon" type="xs:double" minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>WGS84 position (decimal degrees)  - export only</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="StartLat" type="xs:double" minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>WGS84 position (decimal degrees)  - export only</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="EndGridType" type="GridTypeType" minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Irish grid letter or blank</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="EndEasting" type="EastingType">
                                                                    <xs:annotation>
                                                                        <xs:documentation>OSGB  1 metre - 6 digits</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="EndNorthing" type="NorthingType">
                                                                    <xs:annotation>
                                                                        <xs:documentation>OSGB  1 metre - 6/7 digits</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="EndLon" type="xs:double" minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>WGS84 position (decimal degrees)  - export only</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                                <xs:element name="EndLat" type="xs:double" minOccurs="0">
                                                                    <xs:annotation>
                                                                        <xs:documentation>WGS84 position (decimal degrees)  - export only</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:element>
                                                            </xs:sequence>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="BusRegistrationStatus" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Registration type if a bus stop e.g. Timetable Information Point</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                            <xs:restriction base="xs:string">
                                                                <xs:enumeration value="PPT">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Principal Point</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="TIP">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Time Info Point</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="PTP">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Principal and Time Info Point</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="OTH">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Other Bus Stop</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="NA"/>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>
                                                    <xs:element name="StopGroups" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>The groups that this stop is included in</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:complexType>
                                                            <xs:sequence>
                                                                <xs:element name="GroupID" type="GroupIDType" maxOccurs="unbounded"/>
                                                            </xs:sequence>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="Notes" type="xs:string">
                                                        <xs:annotation>
                                                            <xs:documentation>Free form text about the stop</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="RecordStatus">
                                                        <xs:annotation>
                                                            <xs:documentation>Is the stop available for use - not necessarily 'in use'</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                            <xs:restriction base="xs:string">
                                                                <xs:enumeration value="ACT">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Active</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="DEL">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Deleted</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>
                                                    <xs:element name="LocalityCentre" type="xs:boolean">
                                                        <xs:annotation>
                                                            <xs:documentation>Can this stop be used for a generic locality enquiry</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="SMSNumber" type="SMSNumberType" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>An identifier for the stop to be used on an SMS telephone</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="LastChanged" type="xs:date"/>
                                                </xs:all>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="StopGroups" minOccurs="0">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="StopGroup" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:all>
                                                    <xs:element name="GroupID" type="GroupIDType">
                                                        <xs:annotation>
                                                            <xs:documentation>Unique identifier for the group - prefixed with ATCO database code</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="GroupName" type="LimitedStringType">
                                                        <xs:annotation>
                                                            <xs:documentation>Common name for the group e.g. XYZ bus station</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Type">
                                                        <xs:annotation>
                                                            <xs:documentation>Type of group</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                            <xs:restriction base="xs:string">
                                                                <xs:enumeration value="GPBS">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Paired on street Bus \ Coach \ Tram stops</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GCLS">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Clustered on street Bus \ Coach \ Tram stops</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GBCS">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Bus \ Coach Station</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GRLS">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Rail station</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GTMU">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Tram \ Metro \ Underground Station</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GFTD">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Ferry Terminal \ Dock Building</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GAIR">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Airport Building</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GMLT">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Multimode Interchange</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GOTH">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Other Structure</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>
                                                    <xs:element name="GridType" type="GridTypeType" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Irish grid letter or blank</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Easting" type="EastingType">
                                                        <xs:annotation>
                                                            <xs:documentation>OSGB  1 metre - 6 digits</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Northing" type="NorthingType">
                                                        <xs:annotation>
                                                            <xs:documentation>OSGB  1 metre - 6/7 digits</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Lon" type="xs:double" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>WGS84 position (decimal degrees)  - export only</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="Lat" type="xs:double" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>WGS84 position (decimal degrees)  - export only</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:element>
                                                    <xs:element name="LastChanged" type="xs:date"/>
                                                </xs:all>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="GroupInGroups" minOccurs="0">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="GroupInGroup" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:all>
                                                    <xs:element name="ParentID" type="GroupIDType"/>
                                                    <xs:element name="ChildID" type="GroupIDType"/>
                                                </xs:all>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="LastChanged" type="xs:date" minOccurs="0">
                                <xs:annotation>
                                    <xs:documentation>Date when this area was last updated - export only</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                        </xs:all>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="ATCOCodeType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{3}[A-Za-z0-9]{2,9}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="GroupIDType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{3}G[A-Za-z0-9]{1,8}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="LimitedStringType">
        <xs:restriction base="xs:string">
            <xs:maxLength value="48"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="EastingType">
        <xs:restriction base="xs:int">
            <xs:maxInclusive value="999999"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NorthingType">
        <xs:restriction base="xs:int">
            <xs:maxInclusive value="1999999"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="GridTypeType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Z]{0,1}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NatGazIDType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[EN][0S][0-9]{6}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="NatGazType">
        <xs:all>
            <xs:element name="ID" type="NatGazIDType">
                <xs:annotation>
                    <xs:documentation>Lowest level National Gazetteer locality ID</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Locality" type="LimitedStringType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Name of the locality - export only</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ParentLocality" type="LimitedStringType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Name of parent locality - export only</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="GrandparentLocality" type="LimitedStringType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Name of grandparent locality - export only</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:all>
    </xs:complexType>
    <xs:simpleType name="SMSNumberType">
        <xs:restriction base="xs:string">
            <xs:maxLength value="12"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
