<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.2">
    <!--NaPTAn Schema 1.2 
       22 12 2003  Added  StopType  "RLY" , "PLT", FER" "GAT" 
       22 12 2003  Added  RecordStatus   "PEN" ,
   
      1.2 Schema contains minor alteratiosn to support backwards compatibility into 1.2 format  from 2.0
       Changes from 1.1 
        10 03 2005  Add GCCH Stop Area Type
        10 03 2005   Add RPL Stop Type
        10 03 2005   Add BCQ Stop Type
        10 03 2005   Add FLX Bus stop Type
        22 06  2005  Added  StopType   "FBT", "MET", "BST" 
         10 03 2005   Revise NatGazID Type restriction to be EN][0S][0-9]{6}|[?]{8}"/>

    Note the followimng are deprecated in 1.2 and dropped in 2.0
        10 03 2005    GMLT Stop Area Type
        10 03 2005    GOTH Stop Area Type
        10 03 2005    '???' for Stop Type
        10 03 2005    NA for Stop Type
        10 03 2005    ??? for BusRegistrationStatus
        10 03 2005    NA for BusRegistrationStatus
        10 03 2005    '?' for Direction (Bearing)
        10 03 2005    NA for Direction (Bearing)
        10 03 2005    '?' for Locality Centre 
        10 03 2005    '???' for Record Status 

-->
    <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:enumeration value="?"/>
                                                            </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:annotation>
                                                                        <xs:documentation>Railway Station</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="PLT">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Tram \ Metro \ Underground Platforms </xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="FER">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Ferry Berth</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GAT">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Airport Arrival \ Departure Gate</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="???">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Unknown - used for partial records</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="FBT">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Ferry Berth</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="RPL">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Rail Platform [Added in 1xs:annotation.2. Used in 2.0]</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>  
                                                                <xs:enumeration value="MET">
                                                                        <xs:annotation>
                                                                            <xs:documentation>Tram \ Metro \ Underground Access Area [Added in 1xs:annotation.2. Used in 2.0]</xs:documentation>
                                                                        </xs:annotation>
                                                                </xs:enumeration>
                                                            <xs:enumeration value="BST">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Bus \ Coach \ Station Access Area</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>  
                                                                <xs:enumeration value="BCQ">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Variable Bus Coach Station  [Added in 1.2. Used in 2.0]</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>                                                
                                                            </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="FLX">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Flexible service. [Added in 1.2 New in 2.0 ]</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="NA">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Not Applicable - Used for Non BCT \ BCS Stop Types [Deprecated in 1.2 Removed in 2.0]</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="???">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Unknown - Used for partial records[Deprecated in 1.2 Removed in 2.0]</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>
                                                    <xs:element name="HailAndRideSection" minOccurs="0">
                                                        <xs:annotation>
                                                            <xs:documentation>Coordinates 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:annotation>
                                                                        <xs:documentation>Not Applicable - Used for Non BCT \ BCS Stop Types</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="???">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Unknown - used for partial records</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                            </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" minOccurs="0">
                                                        <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:enumeration value="PEN">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Pending</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="???">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Unknown - used for partial records</xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </xs:element>
                                                    <xs:element name="LocalityCentre">
                                                        <xs:annotation>
                                                            <xs:documentation>Can this stop be used for a generic locality enquiry</xs:documentation>
                                                        </xs:annotation>
                                                        <xs:simpleType>
                                                            <xs:restriction base="xs:string">
                                                                <xs:enumeration value="true"/>
                                                                <xs:enumeration value="false"/>
                                                                <xs:enumeration value="0"/>
                                                                <xs:enumeration value="1"/>
                                                                <xs:enumeration value="?"/>
                                                            </xs:restriction>
                                                        </xs:simpleType>
                                                    </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 [Deprecated in 1.2 Dropped in 2.0] </xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GOTH">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Other Structure [Deprecated in 1.2 Dropped in 2.0] </xs:documentation>
                                                                    </xs:annotation>
                                                                </xs:enumeration>
                                                                <xs:enumeration value="GCCH">
                                                                    <xs:annotation>
                                                                        <xs:documentation>Coach  [New in 1.2 Used in 2.0] </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}|[?]{8}"/>
        </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>
