<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.siri.org.uk/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.siri.org.uk/" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" id="siri">
	<xsd:annotation>
		<xsd:appinfo xmlns:gms="http://www.govtalk.gov.uk/CM/gms">
			<Metadata xmlns="http://www.govtalk.gov.uk/CM/gms-xs">
				<Aggregation>main schema</Aggregation>
				<Audience>e-service developers</Audience>
				<Contributor>Dipl.-Kfm. Winfried Bruns, Verband Deutscher, Köln</Contributor>
				<Contributor>Mark Cartwright, Centaur Consulting Limited, Guildford</Contributor>
				<Contributor>Christophe Duquesne, PDG Consultant en systémes, Dryade Guyancourt</Contributor>
				<Contributor>Stefan Fjällemark, HUR - Hovedstadens, Valby</Contributor>
				<Contributor>Jonas Jäderberg, Columna, Borlänge</Contributor>
				<Contributor>Dipl.-Ing. Sven Juergens psitrans  juergens@psitrans.de</Contributor>
				<Contributor>Nicholas Knowles, KIZOOM LTD., London EC4A 1LT</Contributor>
				<Contributor>Werner Kohl, Mentz Datenverarbeitung GmbH, München</Contributor>
				<Contributor>Peter Miller, ACIS Research and Development, Cambridge CB4 0DL</Contributor>
				<Contributor>Dr. Martin Siczkowski, West Yorkshire PTE, Leeds</Contributor>
				<Contributor>Gustav Thiessen BLIC thi@BLIC.DE</Contributor>
				<Contributor>Dr Bartak,  bartak@apex-jesenice.cz</Contributor>
				<Contributor>Dr. Franz-Josef Czuka, Beratungsgesellschaft für, Düsseldorf</Contributor>
				<Contributor>Dr.-Ing. Klaus-Peter Heynert, PSI Transportation GmbH, Berlin</Contributor>
				<Contributor>Jean-Laurant Franchineau, CONNEX-EUROLUM, PARIS</Contributor>
				<Contributor>Dipl.-Ing. (FH) Rainer Ganninger, init innovation in, Karlsruhe</Contributor>
				<Contributor>Dipl.-Ing. HTL Peter Machalek, Siemens Transit, Neuhausen am Rheinfall</Contributor>
				<Contributor>El Ing. Ernst Pfister, Siemens Transit, Neuhausen am Rheinfall</Contributor>
				<Contributor>Dipl.-Ing. Berthold Radermacher, Verband Deutscher, Köln</Contributor>
				<Contributor>Dr. Friedemann Weik, Hamburger Berater Team GmbH, Hamburg</Contributor>
				<Coverage>Europe</Coverage>
				<Creator>>Drafted for version 1.0  Cen TC278 WG3 SG7  Editor Nicholas Knowles, Kizoom. mailto:schemer@siri.org.uk</Creator>
				<Date>
					<Created>2004-09-29</Created>
				</Date>
				<Date>
					<Modified>2004-10-01</Modified>
				</Date>
				<Date>
					<Modified>2005-02-14</Modified>
				</Date>
				<Date>
					<Modified>2005-02-20</Modified>
				</Date>
				<Date>
					<Modified>2005-05-11</Modified>
				</Date>
				<Description>
					<p>SIRI is a European CEN technical standard for the exchange of real time information.</p>
					<p>SIRI is defined by XMLschemas and  comprises a general protocol for communication, and a modular set of functional services as follows :
                        <ul>
							<li>Production Timetable:  Exchanges planned timetables.</li>
							<li>Estimated Timetable:  Exchanges real-time updates to timetables.</li>
							<li>Stop Timetable: Provides timetable information about stop departures and arrivals.</li>
							<li>Stop Monitoring: Provides real time information about stop departures and arrivals.</li>
							<li>Vehicle Monitoring: Provides real time information about vehicle movements.</li>
							<li>Connection Timetable: Provides timetabled information about feeder and distributor arrivals and departures at a connection point.</li>
							<li>Connection Monitoring: Provides real time information about feeder and distributor arrivals and departures at a a connection point. Can be used to support "Connection protection".</li>
							<li>General Message: Exchanges general information messages between participants</li>
						</ul>
					</p>
					<p>SIRI supports both direct request/response and publish subscribe patterns of interaction.</p>
					<p>SIRI includes common mechanisms and messages for system status management.</p>
					<p>SIRI documents can be exchanged using http post, and/or SOAP.</p>
				</Description>
				<Format>
					<MediaType>text/xml</MediaType>
					<Syntax>http://www.w3.org/2001/XMLSchema</Syntax>
					<Description>XML schema, W3C Recommendation 2001</Description>
				</Format>
				<Identifier>{http://www.siri.org.uk/schemas/1.0}siri.xsd</Identifier>
				<Language>[ISO 639-2/B] ENG</Language>
				<Publisher>CEN - Add POSTAL ADDRESS </Publisher>
				<Relation>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_common.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_estimatedTimetable_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_productionTimetable_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_stopMonitoring_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_vehicleMonitoring_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_connectionTimetable_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_connectionMonitoring_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_generalMessage_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/1.0/siri_discovery.xsd</Requires>
				</Relation>
				<Rights>Unclassified
                            <Copyright>CEN, VDV, RTIG  2004,2005</Copyright>
				</Rights>
				<Source>
					<ul>
						<li>Derived from the VDV, RTIG XML and Trident standards.</li>
					</ul>
				</Source>
				<Status>Version 1.0 Draft for approval</Status>
				<Subject>
					<Category>Arts, recreation and travel, Tourism, Travel (tourism), Transport,
Air transport, Airports,
Ports and maritime transport, Ferries (marine),
Public transport, Bus services, Coach services, Bus stops and stations,
Rail transport, Railway stations and track, Train services, Underground trains,
Business and industry, Transport, Air transport , Ports and maritime transport, Public transport,
Rail transport, Roads and road transport.
</Category>
					<Project>Cen TC278 WG3 SG7</Project>
				</Subject>
				<Title>SIRI XML schema. Service Interface for Real Time Information relating to Public Transport Operations. </Title>
				<Type>Standard</Type>
			</Metadata>
		</xsd:appinfo>
	</xsd:annotation>
	<!-- ======================================================================= -->
	<xsd:include schemaLocation="siri_common.xsd"/>
	<xsd:include schemaLocation="siri_productionTimetable_service.xsd"/>
	<xsd:include schemaLocation="siri_estimatedTimetable_service.xsd"/>
	<xsd:include schemaLocation="siri_stopMonitoring_service.xsd"/>
	<xsd:include schemaLocation="siri_vehicleMonitoring_service.xsd"/>
	<xsd:include schemaLocation="siri_connectionMonitoring_service.xsd"/>
	<xsd:include schemaLocation="siri_generalMessage_service.xsd"/>
	<xsd:include schemaLocation="siri_discovery.xsd"/>
	<!-- ======================================================================= -->
	<xsd:element name="Siri">
		<xsd:annotation>
			<xsd:documentation>Service Interface for Real Time Operation.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:group ref="RequestGroup"/>
				<xsd:group ref="ResponseGroup"/>
				<xsd:element ref="Extensions" minOccurs="0"/>
			</xsd:choice>
			<xsd:attribute name="version" type="xsd:NMTOKEN" use="required" fixed="1.0"/>
		</xsd:complexType>
	</xsd:element>
	<!--== Requests ===================================================================== -->
	<xsd:group name="RequestGroup">
		<xsd:annotation>
			<xsd:documentation>SIRI Requests.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:group ref="ServiceRequestGroup"/>
			<xsd:group ref="DeliveryRequestGroup"/>
			<xsd:group ref="StatusRequestGroup"/>
			<xsd:group ref="DiscoveryRequestGroup"/>
		</xsd:choice>
	</xsd:group>
	<xsd:element name="ServiceRequest">
		<xsd:annotation>
			<xsd:documentation>Request  from Consumer to Producer for immediate delivery of data. Answered with a ServiceDelivery (or a DataReadyRequest)  </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="ServiceRequestStructure"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:group name="ServiceRequestGroup">
		<xsd:annotation>
			<xsd:documentation>Requests for service provision.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="ServiceRequest"/>
			<xsd:element ref="SubscriptionRequest"/>
			<xsd:element ref="TerminateSubscriptionRequest"/>
		</xsd:choice>
	</xsd:group>
	<xsd:group name="DeliveryRequestGroup">
		<xsd:annotation>
			<xsd:documentation>General Requests for Fetched data delivery.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="DataReadyNotification"/>
			<xsd:element ref="DataSupplyRequest"/>
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="ServiceRequestStructure">
		<xsd:annotation>
			<xsd:documentation>SIRI Service Request.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="ContextualisedRequestStructure">
				<xsd:group ref="SiriServiceRequestGroup"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="SiriServiceRequestGroup">
		<xsd:annotation>
			<xsd:documentation>SIRI Functional Service Concrete Request types.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="ProductionTimetableRequest" maxOccurs="unbounded"/>
			<xsd:element ref="EstimatedTimetableRequest" maxOccurs="unbounded"/>
			<xsd:element ref="StopTimetableRequest" maxOccurs="unbounded"/>
			<xsd:element ref="StopMonitoringRequest" maxOccurs="unbounded"/>
			<xsd:element ref="VehicleMonitoringRequest" maxOccurs="unbounded"/>
			<xsd:element ref="ConnectionTimetableRequest" maxOccurs="unbounded"/>
			<xsd:element ref="ConnectionMonitoringRequest" maxOccurs="unbounded"/>
			<xsd:element ref="GeneralMessageRequest" maxOccurs="unbounded"/>
		</xsd:choice>
	</xsd:group>
	<!--===Subscriptions ==================================================================== -->
	<xsd:element name="SubscriptionRequest">
		<xsd:annotation>
			<xsd:documentation>Request from Subscriber to Producer for a subscription. Answered with a SubscriptionResponse. 
</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="SubscriptionRequestStructure"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="SubscriptionRequestStructure">
		<xsd:annotation>
			<xsd:documentation>Type for SIRI Subscription Request </xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="AbstractSubscriptionRequestStructure">
				<xsd:sequence>
					<xsd:group ref="SiriSubscriptionRequestGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="SiriSubscriptionRequestStructure">
		<xsd:annotation>
			<xsd:documentation>Type for  SIRI Service Subscription types.   Used for WSDL exchanges.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:group ref="SiriSubscriptionRequestGroup"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:group name="SiriSubscriptionRequestGroup">
		<xsd:annotation>
			<xsd:documentation>Type for SIRI Service Subscription types. For a given SubscriptionRequest, must all be of the same service type.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="ProductionTimetableSubscriptionRequest" maxOccurs="unbounded"/>
			<xsd:element ref="EstimatedTimetableSubscriptionRequest" maxOccurs="unbounded"/>
			<xsd:element ref="StopTimetableSubscriptionRequest"/>
			<xsd:element ref="StopMonitoringSubscriptionRequest" maxOccurs="unbounded"/>
			<xsd:element ref="VehicleMonitoringSubscriptionRequest" maxOccurs="unbounded"/>
			<xsd:element ref="ConnectionTimetableSubscriptionRequest"/>
			<xsd:element ref="ConnectionMonitoringSubscriptionRequest" maxOccurs="unbounded"/>
			<xsd:element ref="GeneralMessageSubscriptionRequest" maxOccurs="unbounded"/>
		</xsd:choice>
	</xsd:group>
	<!-- ===Responses==================================================================== -->
	<xsd:group name="ResponseGroup">
		<xsd:annotation>
			<xsd:documentation>SIRI Service Responses.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:group ref="ServiceResponseGroup"/>
			<xsd:group ref="DeliveryResponseGroup"/>
			<xsd:group ref="StatusResponseGroup"/>
			<xsd:group ref="DiscoveryResponseGroup"/>
		</xsd:choice>
	</xsd:group>
	<xsd:group name="ServiceResponseGroup">
		<xsd:annotation>
			<xsd:documentation>Responses to requests other than deliveries and status information.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="SubscriptionResponse"/>
			<xsd:element ref="TerminateSubscriptionResponse"/>
		</xsd:choice>
	</xsd:group>
	<!-- ===Data Delivery ============================================================== -->
	<xsd:group name="DeliveryResponseGroup">
		<xsd:annotation>
			<xsd:documentation>Responses that deliver payload content.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="DataReadyAcknowledgement"/>
			<xsd:element ref="ServiceDelivery"/>
			<xsd:element ref="DataReceivedAcknowledgement"/>
		</xsd:choice>
	</xsd:group>
	<xsd:element name="ServiceDelivery">
		<xsd:annotation>
			<xsd:documentation>Response from Producer to Consumer to deliver payload data. Either  answers a direct ServiceRequest, or asynchronously satisfies a subscription. May be  sent directly in one step, or fetched  in response to a DataSupply Request.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="ServiceDeliveryStructure"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ServiceDeliveryStructure">
		<xsd:annotation>
			<xsd:documentation>Type for SIRI Service Delivery type.  </xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="ProducerResponseStructure">
				<xsd:sequence>
					<xsd:group ref="ServiceDeliveryRequestStatusGroup"/>
					<xsd:element name="MoreData" type="xsd:boolean" default="false" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>Whether there is a further delvery message with more current updates  that follows this one. Default is false.  </xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:group ref="SiriServiceDeliveryGroup"/>
				</xsd:sequence>
				<xsd:attribute name="srsName" type="SrsNameType">
					<xsd:annotation>
						<xsd:documentation>Default gml coordinate format for eny  location elements in response; applies  if Coordinates element is used to specify points. May be overridden on individual points. </xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="SiriServiceDeliveryStructure">
		<xsd:annotation>
			<xsd:documentation>Type for a SIRI SIRI Functional Service Delivery types.Used for WSDL.         </xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:group ref="SiriServiceDeliveryGroup"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:group name="SiriServiceDeliveryGroup">
		<xsd:annotation>
			<xsd:documentation>SIRI Functional Service Delivery types.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="ProductionTimetableDelivery" maxOccurs="unbounded"/>
			<xsd:element ref="EstimatedTimetableDelivery" maxOccurs="unbounded"/>
			<xsd:element ref="StopTimetableDelivery" maxOccurs="unbounded"/>
			<xsd:element ref="StopMonitoringDelivery" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Delviery for Stop Event service.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="VehicleMonitoringDelivery" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Delviery for Vehicle Activity Service</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="ConnectionTimetableDelivery" maxOccurs="unbounded"/>
			<xsd:element ref="ConnectionMonitoringFeederDelivery" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Delivery for Connection Protection Fetcher Service.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="ConnectionMonitoringDistributorDelivery" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Delivery for Connection Protection Fetcher Service.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="GeneralMessageDelivery" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Delivery for general Message service.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:choice>
	</xsd:group>
	<!-- ===Discovery==================================================================== -->
	<xsd:group name="DiscoveryRequestGroup">
		<xsd:annotation>
			<xsd:documentation>Requests for reference data  for use in service requests.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="CapabilitiesRequest"/>
			<xsd:group ref="ReferenceDiscoveryRequestGroup"/>
		</xsd:choice>
	</xsd:group>
	<xsd:group name="DiscoveryResponseGroup">
		<xsd:annotation>
			<xsd:documentation>Responses with reference data for use in service requests.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="CapabilitiesResponse">
				<xsd:annotation>
					<xsd:documentation>Responses with  the capabilities of an implementation. Answers a CapabilityRequest </xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:group ref="DiscoveryReferenceDeliveryGroup"/>
		</xsd:choice>
	</xsd:group>
	<!-- ===Capabilities ============================================================== -->
	<xsd:element name="CapabilitiesRequest" type="CapabilitiesRequestStructure">
		<xsd:annotation>
			<xsd:documentation>Requests a the current capabilities of the server. Answred with a CpabailitiesResponse.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="CapabilitiesRequestStructure">
		<xsd:annotation>
			<xsd:documentation>Type for Requests for capabilities of the current system.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="RequestStructure">
				<xsd:sequence>
					<xsd:group ref="SiriServiceCapabilitiesRequestGroup"/>
				</xsd:sequence>
				<xsd:attribute name="version" type="VersionString" use="required" fixed="1.0"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="SiriServiceCapabilitiesRequestGroup">
		<xsd:annotation>
			<xsd:documentation>Defines the capabilities of an individual SIRI service request functions.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="ProductionTimetableCapabilitiesRequest" minOccurs="0"/>
			<xsd:element ref="EstimatedTimetableCapabilitiesRequest" minOccurs="0"/>
			<xsd:element ref="StopTimetableCapabilitiesRequest" minOccurs="0"/>
			<xsd:element ref="StopMonitoringCapabilitiesRequest" minOccurs="0"/>
			<xsd:element ref="VehicleMonitoringCapabilitiesRequest" minOccurs="0"/>
			<xsd:element ref="ConnectionTimetableCapabilitiesRequest" minOccurs="0"/>
			<xsd:element ref="ConnectionMonitoringCapabilitiesRequest" minOccurs="0"/>
			<xsd:element ref="GeneralMessageCapabilitiesRequest" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<xsd:element name="CapabilitiesResponse" type="CapabilitiesResponseStructure">
		<xsd:annotation>
			<xsd:documentation>Responses with  the capabilities of an implementation. </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="CapabilitiesResponseStructure">
		<xsd:annotation>
			<xsd:documentation>Type for the capabilities of an implementation. </xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="ProducerResponseStructure">
				<xsd:sequence>
					<xsd:group ref="SiriServiceCapabilitiesResponseGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="SiriServiceCapabilitiesResponseGroup">
		<xsd:annotation>
			<xsd:documentation>Defines the capabilities of an individual SIRI service response functions</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="ProductionTimetableCapabilitiesResponse" minOccurs="0"/>
			<xsd:element ref="EstimatedTimetableCapabilitiesResponse" minOccurs="0"/>
			<xsd:element ref="StopTimetableCapabilitiesResponse" minOccurs="0"/>
			<xsd:element ref="StopMonitoringCapabilitiesResponse" minOccurs="0"/>
			<xsd:element ref="VehicleMonitoringCapabilitiesResponse" minOccurs="0"/>
			<xsd:element ref="ConnectionTimetableCapabilitiesResponse" minOccurs="0"/>
			<xsd:element ref="ConnectionMonitoringCapabilitiesResponse" minOccurs="0"/>
			<xsd:element ref="GeneralMessageCapabilitiesResponse" minOccurs="0"/>
		</xsd:sequence>
	</xsd:group>
	<!-- ======================================================================= -->
</xsd:schema>
