<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.pwg.org/schemas/2006/10/sm" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pwg="http://www.pwg.org/schemas/2006/10/sm" targetNamespace="http://www.pwg.org/schemas/2006/10/sm" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.53">
	<xs:include schemaLocation="Counter.xsd"/>
	<xs:include schemaLocation="DocumentTypes.xsd"/>
	<xs:include schemaLocation="JobTypes.xsd"/>
	<xs:include schemaLocation="ServiceTypes.xsd"/>
	<xs:include schemaLocation="Subunits.xsd"/>
	<!--05/31/08 PJZ Move back to ##Other-->
	<!--05/30/08 PJZ Move back to single namespace-->
	<!--05/21/08 PJZ Partial alignment with WS-Scan-->
	<!--12/12/07 PJZ Reworked Capabilities-->
	<!--12/12/07 PJZ Reworked Service/Job/Document counters-->
	<!--09/13/07 PJZ Reworked default and supported-->
	<!--10/08/06 PJZ Reworked dependencies and removed Chameleon-->
	<!--10/04/06 PJZ Created-->
	<xs:annotation>
		<xs:documentation xml:lang="en">
   PWG Semantic Model v2   

Copyright 2002-2008, IEEE Industry Standards and Technology Organization/ScanService Working Group. 
All rights reserved  

    - version 1.17 - 4 April 2008 -Editors:  Peter Zehler, Ira McDoanald 
</xs:documentation>
	</xs:annotation>
	<!---->
	<!-- TransformDocument - group -->
	<!---->
	<!-- TransformDocumentTicket - group -->
	<xs:complexType name="TransformDocumentTicketType">
		<xs:sequence>
			<xs:element ref="TransformDocumentDescription" minOccurs="0"/>
			<xs:element ref="TransformDocumentProcessing" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="TransformDocumentTicket" type="TransformDocumentTicketType"/>
	<!-- TransformDocumentStatus - group -->
	<xs:complexType name="TransformDocumentStatus">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingDocumentStatus">
				<xs:sequence>
					<!-- Transform Document status references here -->
					<!-- Transform Document counters from service counters definition -->
					<xs:element ref="TransformDocumentCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformDocumentStatus - group -->
	</xs:complexType>
	<xs:element name="TransformDocumentStatus" type="TransformDocumentStatus"/>
	<!-- TransformDocumentDescription - group -->
	<xs:complexType name="TransformDocumentDescription">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingDocumentDescription">
				<xs:sequence>
					<!-- Transform Document description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformDocumentDescription - group -->
	</xs:complexType>
	<xs:element name="TransformDocumentDescription" type="TransformDocumentDescription"/>
	<!-- TransformDocumentProcessing - group -->
	<xs:complexType name="TransformDocumentProcessing">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingDocumentProcessing">
				<xs:sequence>
					<!-- Transform document processing references here -->
					<xs:element ref="pwg:Compression" minOccurs="0"/>
					<xs:element ref="pwg:CompressionQualityFactor" minOccurs="0"/>
					<xs:element ref="pwg:DocumentFormat" minOccurs="0"/>
					<xs:element ref="Scaling" minOccurs="0"/>
					<xs:element ref="pwg:ContentType" minOccurs="0"/>
					<xs:element ref="ColorEntry" minOccurs="0"/>
					<xs:element ref="pwg:Resolution" minOccurs="0"/>
					<xs:element ref="pwg:Rotation" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformDocumentProcessing - group -->
	</xs:complexType>
	<xs:element name="TransformDocumentProcessing" type="TransformDocumentProcessing"/>
	<!-- TransformDocuments - set of Transform Documents -->
	<xs:complexType name="TransformDocuments">
		<xs:sequence>
			<xs:element ref="TransformDocument" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- TransformDocuments - set of Transform Documents -->
	</xs:complexType>
	<xs:element name="TransformDocuments" type="TransformDocuments"/>
	<!-- TransformDocument - object -->
	<xs:complexType name="TransformDocument">
		<xs:sequence>
			<xs:element ref="TransformDocumentStatus"/>
			<xs:element ref="TransformDocumentTicket" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- TransformDocument - object -->
	</xs:complexType>
	<xs:element name="TransformDocument" type="TransformDocument"/>
	<!---->
	<!---->
	<!-- TransformJob - group -->
	<!---->
	<!-- TransformJobStatus - group -->
	<xs:complexType name="TransformJobStatus">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingJobStatus">
				<xs:sequence>
					<!-- Transform job status references here -->
					<!-- Transform job counters from service counters definition -->
					<xs:element ref="TransformJobCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformJobStatus - group -->
	</xs:complexType>
	<xs:element name="TransformJobStatus" type="TransformJobStatus"/>
	<!-- TransformJobTicket - group -->
	<xs:complexType name="TransformJobTicketType">
		<xs:sequence>
			<xs:element ref="TransformDocumentProcessing" minOccurs="0"/>
			<xs:element ref="TransformJobDescription" minOccurs="0"/>
			<xs:element ref="TransformJobProcessing" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="TransformJobTicket" type="TransformJobTicketType"/>
	<xs:element name="TransformJobReceipt" type="TransformJobTicketType"/>
	<!-- TransformJobDescription - group -->
	<xs:complexType name="TransformJobDescription">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingJobDescription">
				<xs:sequence>
					<!-- Transform job description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformJobDescription - group -->
	</xs:complexType>
	<xs:element name="TransformJobDescription" type="TransformJobDescription"/>
	<!-- TransformJobProcessing - group -->
	<xs:complexType name="TransformJobProcessing">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingJobProcessing">
				<xs:sequence>
					<!-- Transform job processing references here -->
					<xs:element ref="pwg:JobPriority" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformJobProcessing - group -->
	</xs:complexType>
	<xs:element name="TransformJobProcessing" type="TransformJobProcessing"/>
	<!-- TransformJobs - set of Transform jobs -->
	<xs:complexType name="TransformJobs">
		<xs:sequence>
			<xs:element ref="TransformJob" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- TransformJobs - set of Transform jobs -->
	</xs:complexType>
	<xs:element name="TransformJobs" type="TransformJobs"/>
	<!-- TransformJob - object -->
	<xs:complexType name="TransformJob">
		<xs:sequence>
			<xs:element ref="TransformJobStatus"/>
			<xs:element ref="TransformJobTicket" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- TransformJob - object -->
	</xs:complexType>
	<xs:element name="TransformJob">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="TransformJob">
					<xs:sequence>
						<xs:element ref="TransformDocuments" minOccurs="0"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<!---->
	<!-- TransformService - group -->
	<!---->
	<!-- TransformServiceStatus - group -->
	<xs:complexType name="TransformServiceStatus">
		<xs:complexContent>
			<xs:extension base="pwg:ServiceStatus">
				<xs:sequence>
					<xs:element ref="TransformServiceCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformServiceStatus - group -->
	</xs:complexType>
	<xs:element name="TransformServiceStatus" type="TransformServiceStatus"/>
	<!-- TransformServiceDescription - group -->
	<xs:complexType name="TransformServiceDescription">
		<xs:complexContent>
			<xs:extension base="pwg:ServiceDescription">
				<xs:sequence>
					<!-- Transform service description references -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformServiceDescription - group -->
	</xs:complexType>
	<xs:element name="TransformServiceDescription" type="TransformServiceDescription"/>
	<!-- TransformService Default Ticket - group -->
	<xs:complexType name="DefaultTransformTicketType">
		<xs:sequence>
			<xs:element ref="TransformJobDescription" minOccurs="0"/>
			<xs:element ref="TransformJobProcessing" minOccurs="0"/>
			<xs:element ref="TransformDocumentProcessing" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DefaultTransformTicket" type="DefaultTransformTicketType"/>
	<!-- TransformService Capabilities - group -->
	<xs:complexType name="TransformJobDescriptionCapabilitiesType">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingJobDescriptionCapabilitiesType">
				<xs:sequence>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="TransformJobDescriptionCapabilities" type="TransformJobDescriptionCapabilitiesType"/>
	<xs:complexType name="TransformDocumentProcessingCapabilitiesType">
		<xs:complexContent>
			<xs:extension base="pwg:DocumentProcessingCapabilitiesType">
				<xs:sequence>
					<xs:element name="Compression" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="AllowedValue" type="pwg:CompressionWKV" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="CompressionFactor" type="pwg:RangeOfInt" minOccurs="0"/>
					<xs:element name="DocumentFormat" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="AllowedValue" type="pwg:DocumentFormatWKV" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Magnification" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Height" type="pwg:RangeOfInt"/>
								<xs:element name="Width" type="pwg:RangeOfInt"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="OriginalType" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="AllowedValue" type="pwg:OriginalTypeWKV" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="OutputDocumentColor" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="BitDepth" minOccurs="0">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="AllowedValue" type="xs:int" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
								<xs:element name="ColorEncoding" minOccurs="0">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="AllowedValue" maxOccurs="unbounded">
												<xs:simpleType>
													<xs:union memberTypes="ColorEntryWKV pwg:KeywordNsExtensionPattern"/>
												</xs:simpleType>
											</xs:element>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
								<xs:element name="ColorSpace" minOccurs="0">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="AllowedValue" type="pwg:ColorSpaceWKV" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
								<xs:element name="SamplesPerPixel" minOccurs="0">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="AllowedValue" type="xs:int" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
								<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="OutputDocumentSize" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Height" type="pwg:RangeOfInt"/>
								<xs:element name="Width" type="pwg:RangeOfInt"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="PageRanges" type="xs:boolean" minOccurs="0"/>
					<xs:element name="Resolution" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="CrossFeedDir">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="AllowedValue" type="xs:int" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
								<xs:element name="FeedDir">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="AllowedValue" type="xs:int" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
								<xs:element name="Units">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="AllowedValue" type="xs:int" maxOccurs="unbounded"/>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Rotation" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="AllowedValue" type="pwg:RotationWKV" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="TransformDocumentProcessingCapabilities" type="TransformDocumentProcessingCapabilitiesType"/>
	<xs:complexType name="TransformJobProcessingCapabilitiesType">
		<xs:complexContent>
			<xs:extension base="pwg:JobProcessingCapabilitiesType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="TransformJobProcessingCapabilities">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="TransformJobProcessingCapabilitiesType">
					<xs:sequence>
						<xs:element ref="pwg:Destination"/>
						<xs:element name="JobPriority" type="pwg:RangeOfInt" minOccurs="0"/>
						<xs:element name="JobSaveDisposition" minOccurs="0">
							<xs:annotation>
								<xs:documentation>ISSUE: Move to Print</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence>
									<xs:element name="SaveDisposition">
										<xs:complexType>
											<xs:sequence>
												<xs:element ref="pwg:SaveDisposition" maxOccurs="unbounded"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element name="SaveInfo">
										<xs:complexType>
											<xs:sequence>
												<xs:element name="SaveDocumentFormat">
													<xs:complexType>
														<xs:sequence>
															<xs:element ref="pwg:SaveDocumentFormat" maxOccurs="unbounded"/>
														</xs:sequence>
													</xs:complexType>
												</xs:element>
												<xs:element name="SaveLocation">
													<xs:complexType>
														<xs:sequence>
															<xs:annotation>
																<xs:documentation>Should this be a sequence of URI schemes?</xs:documentation>
															</xs:annotation>
															<xs:element ref="pwg:SaveLocation"/>
														</xs:sequence>
													</xs:complexType>
												</xs:element>
												<xs:element name="SaveName" type="xs:boolean"/>
												<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="TransformServiceCapabilities">
		<xs:sequence>
			<xs:element ref="TransformDocumentProcessingCapabilities" minOccurs="0"/>
			<xs:element ref="TransformJobProcessingCapabilities" minOccurs="0"/>
			<xs:element ref="TransformJobDescriptionCapabilities" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="TransformServiceCapabilities" type="TransformServiceCapabilities"/>
	<xs:element name="TransformServicesCapabilitiesReady" type="TransformServiceCapabilities"/>
	<!-- TransformService Capabilities - group -->
	<xs:element name="TransformServiceConfiguration" type="pwg:Subunits"/>
	<!-- TransformServices - set of Transform services -->
	<xs:complexType name="TransformServices">
		<xs:sequence>
			<xs:element ref="TransformService" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- TransformServices - set of Transform services -->
	</xs:complexType>
	<xs:element name="TransformServices" type="TransformServices"/>
	<!-- TransformService - object -->
	<xs:complexType name="TransformService">
		<xs:sequence>
			<xs:element ref="DefaultTransformTicket" minOccurs="0"/>
			<xs:element ref="TransformServiceCapabilities" minOccurs="0"/>
			<xs:element ref="TransformServicesCapabilitiesReady" minOccurs="0"/>
			<xs:element ref="TransformServiceConfiguration" minOccurs="0"/>
			<xs:element ref="TransformServiceDescription" minOccurs="0"/>
			<xs:element ref="TransformServiceStatus"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- TransformService - object -->
	</xs:complexType>
	<xs:element name="TransformService">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="TransformService">
					<xs:sequence>
						<xs:element name="JobTable">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="ActiveJobs" type="TransformJobs"/>
									<xs:element name="JobHistory" type="TransformJobs" minOccurs="0"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>
