<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Nick js Knowles (Kizoom Ltd.) -->
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Nick Knowles (Kizoom) -->
<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="0.1g" 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>Add names </Contributor>
				<Coverage>Europe</Coverage>
				<Creator>>Drafted for version 1.0  Cen TC278 WG3 SG7 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>
				<Description>
					<p>SIRI is a European CEN standard for the exchange of real time information.</p>
					<p>It has five  main services:
                             <ul>
							<li>Connection Protection</li>
							<li>Stop Events: Provides information about stop departures and arrivals </li>
							<li>Vehicle Monitoring</li>
							<li>Schedule Exchange</li>
							<li>General Message</li>
						</ul>
					</p>
					<p>SIRI supports both direct requests and publish subscribe patterns of interaction.</p>
					<p>SIRIincludes common messages for system status management..</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/0.1g}siri.xsd</Identifier>
				<Language>[ISO 639-2/B] ENG</Language>
				<Publisher>CEN - Add POSTAL ADDRESS </Publisher>
				<Relation>
					<Requires>http://www.siri.org.uk/schemas/0.1g/siri_common.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/0.1g/siri_guaranteedConnection_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/0.1g/siri_stopMonitoring_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/0.1g/siri_vehicleMonitoring_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/0.1g/siri_generalMessage_service.xsd</Requires>
					<Requires>http://www.siri.org.uk/schemas/0.1g/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 0.1 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="0.1g"/>
		</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:group name="ServiceRequestGroup">
		<xsd:annotation>
			<xsd:documentation>Requests for service provision.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<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: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: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"/>
			<xsd:element ref="EstimatedTimetableRequest"/>
			<xsd:element ref="StopTimetableRequest"/>
			<xsd:element ref="StopMonitoringRequest" maxOccurs="unbounded"/>
			<xsd:element ref="VehicleMonitoringRequest" maxOccurs="unbounded"/>
			<xsd:element ref="ConnectionTimetableRequest"/>
			<xsd:element ref="ConnectionMonitoringRequest" maxOccurs="unbounded"/>
			<xsd:element ref="GeneralMessageRequest" maxOccurs="unbounded"/>
		</xsd:choice>
	</xsd:group>
	<!--===Subscriptions ==================================================================== -->
	<xsd:complexType name="SubscriptionRequestStructure">
		<xsd:annotation>
			<xsd:documentation>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:group name="SiriSubscriptionRequestGroup">
		<xsd:annotation>
			<xsd:documentation>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 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:sequence>
								<xsd:group ref="SiriServiceDeliveryGroup"/>
							</xsd:sequence>
						</xsd:extension>
					</xsd:complexContent>
				</xsd:complexType>
			</xsd:element>
			<xsd:element ref="DataReceivedAcknowledgement"/>
		</xsd:choice>
	</xsd:group>
	<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="StopMonitoringDelivery" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Delviery for Stop Event service.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element ref="StopTimetableDelivery"/>
			<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"/>
			<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>
	<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 name="CapabilitiesRequest" type="CapabilitiesRequestStructure">
				<xsd:annotation>
					<xsd:documentation>Requests a the current capabilities of the server.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:group ref="ReferenceDiscoveryRequestGroup"/>
		</xsd:choice>
	</xsd:group>
	<xsd:complexType name="CapabilitiesRequestStructure">
		<xsd:annotation>
			<xsd:documentation>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="0.1g"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="SiriServiceCapabilitiesRequestGroup">
		<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:complexType name="CapabilitiesResponseStructure">
		<xsd:annotation>
			<xsd:documentation>Defines the capabilities of an implementation. </xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="ResponseStructure">
				<xsd:sequence>
					<xsd:group ref="SiriServiceCapabilitiesResponseGroup"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:group name="SiriServiceCapabilitiesResponseGroup">
		<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:group name="DiscoveryResponseGroup">
		<xsd:annotation>
			<xsd:documentation>Responses with reference data for use in service requests.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element name="CapabilitiesResponse" type="CapabilitiesResponseStructure"/>
			<xsd:group ref="DiscoveryReferenceDeliveryGroup"/>
		</xsd:choice>
	</xsd:group>
	<!-- ===WSDL==================================================================== -->
	<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: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:schema>

