<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.siri.org.uk/siri" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.siri.org.uk/siri" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0" id="siri">
	<xsd:annotation>
		<xsd:appinfo>
			<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 Limited, 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>&gt;Drafted for version 1.0 CEN TC278 WG3 SG7 Editor Nicholas Knowles, Kizoom.</Creator>
				<Date>
					<Created>2012-06-17</Created>
					<!-- Update version number to 2.0  -->
				</Date>
				<Date>
					<Created>2009-11-17</Created>
					<!-- created from SIRI common -->
				</Date>
				<Date>
					<Modified>2008-11-17</Modified>
					<!-- Revised s -->
				</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 :
      <p> This schema provdies a generic base schema that can be used to </p>
					</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/schema/2.0/xsd/}siri.xsd</Identifier>
				<Language>[ISO 639-2/B] ENG</Language>
				<Publisher>Kizoom, 109-123 Clifton Street, London EC4A 4LD </Publisher>
				<Relation>
					<Requires>http://www.siri.org.uk/schema/2.0/xsd/siri__common_services-v1.3xsd</Requires>
				</Relation>
				<Rights>Unclassified
       <Copyright>CEN, VDV, RTIG 2004-2012</Copyright>
				</Rights>
				<Source>
					<ul>
						<li>Derived from the VDV, RTIG XML and Trident standards.</li>
					</ul>
				</Source>
				<Status>Version 2.0 Draft</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 Generic base schema. </Title>
				<Type>Standard</Type>
			</Metadata>
		</xsd:appinfo>
		<xsd:documentation>SIRI Common Request Fra,mework</xsd:documentation>
	</xsd:annotation>
	<!-- ======================================================================= -->
	<xsd:include schemaLocation="siri_common_services-v2.0.xsd"/>
	<!-- ======================================================================= -->
	<xsd:complexType name="SiriSchema">
		<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="optional" default="2.0"/>
	</xsd:complexType>
	<!--== 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: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>
	<!--===GS: Service Request ==================================================================== -->
	<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:sequence>
						<xsd:element ref="AbstractFunctionalServiceRequest" maxOccurs="unbounded"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ServiceRequestStructure">
		<xsd:annotation>
			<xsd:documentation>SIRI Service Request.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="ContextualisedRequestStructure"/>
		</xsd:complexContent>
	</xsd:complexType>
	<!--===GS: Subscriptions Request=========================================================== -->
	<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:element ref="AbstractFunctionalServiceSubscriptionRequest" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!-- ===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>
	<!--===GS: Service Delviery -->
	<xsd:element name="ServiceDelivery" substitutionGroup="ProducerResponse">
		<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.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="ProducerResponseStructure">
				<xsd:sequence>
					<xsd:group ref="ServiceDeliveryBodyGroup"/>
				</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="ServiceDeliveryBodyStructure">
		<xsd:annotation>
			<xsd:documentation>Type for SIRI Service Delivery type.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:group ref="ServiceDeliveryBodyGroup"/>
		</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:complexType>
	<xsd:group name="ServiceDeliveryBodyGroup">
		<xsd:annotation>
			<xsd:documentation>Elements for SIRI Service Delivery type.</xsd:documentation>
		</xsd:annotation>
		<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:element ref="AbstractFunctionalServiceDelivery" maxOccurs="unbounded"/>
		</xsd:sequence>
	</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:element ref="AbstractDiscoveryRequest"/>
		</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:element ref="AbstractDiscoveryDelivery"/>
		</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:element ref="AbstractFunctionalServiceCapabilitiesRequest"/>
				</xsd:sequence>
				<xsd:attribute name="version" type="VersionString" use="optional" default="2.0"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="CapabilitiesResponse" type="CapabilitiesResponseStructure" substitutionGroup="ProducerResponse">
		<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:element ref="AbstractFunctionalServiceCapabilitiesResponse"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<!-- ======================================================================= -->
</xsd:schema>
