<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.utmc.uk.com/utmc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.utmc.uk.com/utmc" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" id="utmcBulk">
	<!-- ===Dependencies ======================================= -->
	<!-- ===Dummy include of all UTMC namespace  help Xerces - Also picks up freeflow objects============================================= -->
	<xsd:include schemaLocation="utmc_freeflow/utmc_all-v1.0.xsd"/>
	<!-- ===Regular UTMC============================================================== -->
	<xsd:include schemaLocation="utmcsvc/utmc_all_filters-v1.0.xsd"/>
	<xsd:include schemaLocation="utmc/utmc_all_objects-v1.0.xsd"/>
	<!-- ===eGIF/GovTalk Documentation ======================================= -->
	<xsd:annotation>
		<xsd:appinfo>
			<Metadata xmlns="http://www.govtalk.gov.uk/CM/gms-xs">
				<Aggregation>main schema</Aggregation>
				<Audience>e-service developers</Audience>
				<Contributor>UTMC and UML: Ian Cornwell, Ian.Cornwell at mottmac.com;</Contributor>
				<Contributor>UTMC and UML: Tim Wright,  Tim.Wright  at ipl.com; </Contributor>
				<Contributor>UtmcXml Nicholas Knowles, KIZOOM LTD., London EC4A 1LT</Contributor>
				<Contributor>UTMC: mark.cartwright at centaurconsulting.co.uk;  </Contributor>
				<Contributor>UTMC: mark.bodger at siemens.com; </Contributor>
				<Contributor>UTMC: alison.h.jones at siemens.com; </Contributor>
				<Contributor>UTMC: josef.kaltwasser at heuboe.de; </Contributor>
				<Contributor>UTMC: brendan mason, tenet </Contributor>
				<Contributor>UTMC: mandi patel at streetmanagement.org.uk; </Contributor>
				<Contributor>UTMC:Matthew Shephard at tenettechnology.com</Contributor>
				<Contributor>UTMC: ian.skeoch at peek-traffic.co.uk; </Contributor>
				<Contributor>UTMC: martin.siczkowski at acis-cam.uk.com; </Contributor>
				<Contributor>UTMC: richard thurbin, richard at cloudamber.com; </Contributor>
				<Contributor>UTMC: ivan.wells at highways.gsi.gov.uk; </Contributor>
				<Contributor>Freeflow: dan fitzgerald at Kizoom.com  </Contributor>
				<Contributor>Freeflow: andy grove at whitewillow.biz</Contributor>
				<Contributor>Freeflow: rajesh K; krishnamoorthy,   at imperial.ac.uk</Contributor>
				<Contributor>Freeflow: rob shepherd at acis.com</Contributor>
				<Contributor>Freeflow: ian routledge at acis.com</Contributor>
				<Contributor>TO be COMPLETED  </Contributor>
				<Coverage>United kingdom</Coverage>
				<Creator>>Drafted for version 1.0 Freeflow Editor Nicholas Knowles, Kizoom. mailto:schemer@siri.org.uk</Creator>
				<Date>
					<Created>2009-01-17</Created>
					<!-- Created from Siri.xsd -->
				</Date>
				<Date>
					<Modified>2009-08-17</Modified>
					<!--  Revised-->
				</Date>
				<Description>
					<p>UtmcXml is an XML representation of the Urban Traffic Management Control model that can be used to exchange data objects between UTMC databases and other services.</p>. 
					<p> The same UtmcXml of UTMC data objects can be used  both in fine grained protocols that exchange one or more objects at a time, such as the SIRI based UTMC Xml web service, and in bulk publication  exchange.formats used to exchange whole data sets. </p>
					<p>This UTMC   Publication exchange XML schema defines a bulk delivery format to exchange    UTMC objects as an XML document. (It has no dependency on SIRI). 
                        <ul>
							<li>For each data object type it describes an XML representation which can be used to exchange UTMC data.</li>
							<li>It also describes filters to describe requests for publishing data. These can be used both to configure the publication, and to describe the contents of the published document, for example all Network Objects, or all current traffic events.</li>
							<li>A particular use of the UTMC Bulk Exchange format is to publish  data from an UTMC system:   at regular intervals as an Xml document which can be transmitted to other systems by FTP or other communication transport means. </li>
						</ul>
					</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.utmc.uk.com/schemas/1.0}utmc_publication.xsd</Identifier>
				<Language>[ISO 639-2/B] ENG</Language>
				<Publisher>Kizoom, 109-123 Clifton Street, London EC4A 4LD </Publisher>
				<Relation>
					<Requires>http://www.utmc.uk.com/schemas/1.0/utmc_filters.xsd</Requires>
					<Requires>http://www.utmc.uk.com/schemas/1.0/utmc_all_objects.xsd</Requires>
				</Relation>
				<Rights>Unclassified
                            <Copyright>Freeflow, UTMC  2009</Copyright>
				</Rights>
				<Source>
					<ul>
						<li>Derived from the UTMC and SIRI standards.</li>
					</ul>
				</Source>
				<Status>Version 1.0 Draft for approval</Status>
				<Subject>
					<Category>Arts, recreation and travel, Tourism, Travel (tourism), Transport,
Public transport, Bus services, Coach services,  
Business and industry, Transport,  Public transport,
Roads and road transport.
</Category>
					<Project>Freeflow</Project>
				</Subject>
				<Title>UTMC XML schema. bulk Publication Interface for exchanging UTMC data </Title>
				<Type>Standard</Type>
			</Metadata>
		</xsd:appinfo>
	</xsd:annotation>
	<!-- ======================================================================= -->
	<xsd:element name="PublicationRequest" type="PublicationRequestStructure">
		<xsd:annotation>
			<xsd:documentation>A bulk publication request for UTMC objects specifying which elements should be returned. Can be echoed back in a publication response </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="PublicationRequestStructure">
		<xsd:annotation>
			<xsd:documentation>Type for Publication Request. </xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="RequestTimestamp" type="xsd:dateTime">
				<xsd:annotation>
					<xsd:documentation>Time of request</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ParticipantRef" type="ParticipantIdType" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identifier of system requesting Data</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:choice>
				<xsd:element name="filters" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>One or more Request filters that describe selection criteria for data to be included in output</xsd:documentation>
					</xsd:annotation>
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="AbstractRequestFilter" maxOccurs="unbounded"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="subscriptionFilters" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>If periodical is refreshed, regularly additional subscription subscription criteria can be specified by a subscription filter.</xsd:documentation>
					</xsd:annotation>
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="AbstractSubscriptionFilter" maxOccurs="unbounded"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attribute name="version" type="xsd:NMTOKEN" use="required" fixed="1.0"/>
	</xsd:complexType>
	<!-- ======================================================================= -->
	<xsd:element name="PublicationDelivery" type="PublicationDeliveryStructure">
		<xsd:annotation>
			<xsd:documentation>A set of UTMC objects as assembled by a publication request or other means and returned.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="PublicationDeliveryStructure">
		<xsd:annotation>
			<xsd:documentation>Type for Publication Delivery</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:sequence>
				<xsd:element name="PublicationTimestamp" type="xsd:dateTime">
					<xsd:annotation>
						<xsd:documentation>Time of output of data.</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element ref="ParticipantRef"/>
				<xsd:element name="PublicationRequest" type="PublicationRequestStructure" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>Echo Request used to create bulk response.</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="PublicationRefreshInterval" type="xsd:duration" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>How often data in publication  is refreshed. </xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:group ref="PayloadGroup"/>
			</xsd:sequence>
		</xsd:sequence>
		<xsd:attribute name="version" type="xsd:NMTOKEN" use="required" fixed="1.0"/>
	</xsd:complexType>
	<!--== Requests ===================================================================== -->
</xsd:schema>

