<?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"/>
	<!--06/01/08 PJZ Added  anyAttribute extension point-->
	<!--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/14/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>
	<!---->
	<!-- CopyDocument - group -->
	<!---->
	<!-- CopyDocumentStatus - group -->
	<xs:complexType name="CopyDocumentStatus">
		<xs:complexContent>
			<xs:extension base="ImagingDocumentStatus">
				<xs:sequence>
					<!-- Copy Document status references here -->
					<!-- Copy Document counters from service counters definition -->
					<xs:element ref="CopyDocumentCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyDocumentStatus - group -->
	</xs:complexType>
	<xs:element name="CopyDocumentStatus" type="CopyDocumentStatus"/>
	<!-- CopyDocumentTicket - group -->
	<xs:complexType name="CopyDocumentTicketType">
		<xs:sequence>
			<xs:element ref="CopyDocumentDescription" minOccurs="0"/>
			<xs:element ref="CopyDocumentProcessing" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other"/>
	</xs:complexType>
	<xs:element name="CopyDocumentTicket" type="CopyDocumentTicketType"/>
	<xs:element name="CopyDocumentReceipt" type="CopyDocumentTicketType"/>
	<!-- CopyDocumentDescription - group -->
	<xs:complexType name="CopyDocumentDescription">
		<xs:complexContent>
			<xs:extension base="ImagingDocumentDescription">
				<xs:sequence>
					<!-- Copy Document description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyDocumentDescription - group -->
	</xs:complexType>
	<xs:element name="CopyDocumentDescription" type="CopyDocumentDescription"/>
	<!-- CopyDocumentProcessing - group -->
	<xs:complexType name="CopyDocumentProcessing">
		<xs:complexContent>
			<xs:extension base="ImagingDocumentProcessing">
				<xs:sequence>
					<!-- Copy document processing references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyDocumentProcessing - group -->
	</xs:complexType>
	<xs:element name="CopyDocumentProcessing" type="CopyDocumentProcessing"/>
	<!-- CopyDocuments - set of Copy Documents -->
	<xs:complexType name="CopyDocuments">
		<xs:sequence>
			<xs:element ref="CopyDocument" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- CopyDocuments - set of Copy Documents -->
	</xs:complexType>
	<xs:element name="CopyDocuments" type="CopyDocuments"/>
	<!-- CopyDocument - object -->
	<xs:complexType name="CopyDocument">
		<xs:sequence>
			<xs:element ref="CopyDocumentReceipt" minOccurs="0"/>
			<xs:element ref="CopyDocumentStatus"/>
			<xs:element ref="CopyDocumentTicket" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other"/>
		<!-- CopyDocument - object -->
	</xs:complexType>
	<xs:element name="CopyDocument" type="CopyDocument"/>
	<!---->
	<!-- CopyJob - group -->
	<!---->
	<!-- CopyJobStatus - group -->
	<xs:complexType name="CopyJobStatus">
		<xs:complexContent>
			<xs:extension base="ImagingJobStatus">
				<xs:sequence>
					<!-- Copy job status references here -->
					<!-- Copy job counters from service counters definition -->
					<xs:element ref="CopyJobCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyJobStatus - group -->
	</xs:complexType>
	<xs:element name="CopyJobStatus" type="CopyJobStatus"/>
	<!-- CopyJobTicket - group -->
	<xs:complexType name="CopyJobTicketType">
		<xs:sequence>
			<xs:element ref="CopyDocumentProcessing" minOccurs="0"/>
			<xs:element ref="CopyJobDescription" minOccurs="0"/>
			<xs:element ref="CopyJobProcessing" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:complexType>
	<xs:element name="CopyJobTicket" type="CopyJobTicketType"/>
	<xs:element name="CopyJobReceipt" type="CopyJobTicketType"/>
	<!-- CopyJobDescription - group -->
	<xs:complexType name="CopyJobDescription">
		<xs:complexContent>
			<xs:extension base="ImagingJobDescription">
				<xs:sequence>
					<!-- Copy job description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyJobDescription - group -->
	</xs:complexType>
	<xs:element name="CopyJobDescription" type="CopyJobDescription"/>
	<!-- CopyJobProcessing - group -->
	<xs:complexType name="CopyJobProcessing">
		<xs:complexContent>
			<xs:extension base="ImagingJobProcessing">
				<xs:sequence>
					<!-- Copy job processing references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyJobProcessing - group -->
	</xs:complexType>
	<xs:element name="CopyJobProcessing" type="CopyJobProcessing"/>
	<!-- CopyJobs - set of Copy jobs -->
	<xs:complexType name="CopyJobs">
		<xs:sequence>
			<xs:element ref="CopyJob" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other"/>
		<!-- CopyJobs - set of Copy jobs -->
	</xs:complexType>
	<!-- CopyJob - object -->
	<xs:complexType name="CopyJob">
		<xs:sequence>
			<xs:element ref="CopyJobReceipt" minOccurs="0"/>
			<xs:element ref="CopyJobStatus"/>
			<xs:element ref="CopyJobTicket" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other"/>
		<!-- CopyJob - object -->
	</xs:complexType>
	<xs:element name="CopyJob">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CopyJob">
					<xs:sequence>
						<xs:element ref="CopyDocuments" minOccurs="0"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<!---->
	<!-- CopyService - group -->
	<!---->
	<!-- CopyServiceStatus - group -->
	<xs:complexType name="CopyServiceStatus">
		<xs:complexContent>
			<xs:extension base="ServiceStatus">
				<xs:sequence>
					<xs:element ref="CopyServiceCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyServiceStatus - group -->
	</xs:complexType>
	<xs:element name="CopyServiceStatus" type="CopyServiceStatus"/>
	<!-- CopyServiceDescription - group -->
	<xs:complexType name="CopyServiceDescription">
		<xs:complexContent>
			<xs:extension base="ServiceDescription">
				<xs:sequence>
					<!-- Copy service description references -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyServiceDescription - group -->
	</xs:complexType>
	<xs:element name="CopyServiceDescription" type="CopyServiceDescription"/>
	<!-- Copy Service Default Ticket - group -->
	<xs:element name="DefaultCopyTicket" type="CopyJobTicketType"/>
	<!-- CopyService Capabilities - group -->
	<xs:complexType name="CopyDocumentProcessingCapabilitiesType">
		<xs:annotation>
			<xs:documentation>ISSUE: (GP): I did not see a capability for the “light source” this can be changed in Copyning and can be done for the document type (paper, transparencies, negatives).</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="DocumentProcessingCapabilitiesType">
				<xs:sequence>
					<xs:element name="Exposure" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="AutoExposure" type="xs:boolean" minOccurs="0"/>
								<xs:element name="Brightness" type="xs:boolean" minOccurs="0"/>
								<xs:element name="Contrast" type="xs:boolean" minOccurs="0"/>
								<xs:element name="Sharpness" type="xs:boolean" minOccurs="0"/>
								<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="InputSource" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="AllowedValues" type="InputSourceWKV" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Magnification" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Height" type="RangeOfInt"/>
								<xs:element name="Width" type="RangeOfInt"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="OriginalType" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="AllowedValue" type="OriginalTypeWKV" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<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="RotationWKV" maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="CopyRegion" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="Height" type="RangeOfInt"/>
								<xs:element name="Width" type="RangeOfInt"/>
								<xs:element name="XOffset" type="RangeOfInt" minOccurs="0"/>
								<xs:element name="YOffset" type="RangeOfInt" minOccurs="0"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="Sides" minOccurs="0">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="AllowedValues" type="SidesWKV" 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="CopyDocumentProcessingCapabilities" type="CopyDocumentProcessingCapabilitiesType"/>
	<xs:complexType name="CopyJobProcessingCapabilitiesType">
		<xs:complexContent>
			<xs:extension base="JobProcessingCapabilitiesType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="CopyJobDescriptionCapabilitiesType">
		<xs:complexContent>
			<xs:extension base="ImagingJobDescriptionCapabilitiesType">
				<xs:sequence>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="CopyJobDescriptionCapabilities" type="CopyJobDescriptionCapabilitiesType"/>
	<xs:element name="CopyJobProcessingCapabilities">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CopyJobProcessingCapabilitiesType">
					<xs:sequence>
						<xs:element name="JobSaveDisposition" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="SaveDisposition">
										<xs:complexType>
											<xs:sequence>
												<xs:element ref="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="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="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="CopyServiceCapabilities">
		<xs:sequence>
			<xs:element ref="CopyDocumentProcessingCapabilities" minOccurs="0"/>
			<xs:element ref="CopyJobDescriptionCapabilities" minOccurs="0"/>
			<xs:element ref="CopyJobProcessingCapabilities" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:complexType>
	<xs:element name="CopyServiceCapabilities" type="CopyServiceCapabilities"/>
	<xs:element name="CopyCapabilitiesReady" type="CopyServiceCapabilities"/>
	<!-- CopyServices - set of Copy services -->
	<xs:complexType name="CopyServices">
		<xs:sequence>
			<xs:element ref="CopyService" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- CopyServices - set of Copy services -->
	</xs:complexType>
	<xs:element name="CopyServices" type="CopyServices"/>
	<!-- CopyService - object -->
	<xs:complexType name="CopyService">
		<xs:sequence>
			<xs:element ref="CopyServiceStatus"/>
			<xs:element ref="CopyServiceDescription" minOccurs="0"/>
			<xs:element ref="DefaultCopyTicket" minOccurs="0"/>
			<xs:element ref="CopyServiceCapabilities" minOccurs="0"/>
			<xs:element ref="CopyCapabilitiesReady" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- CopyService - object -->
	</xs:complexType>
	<xs:element name="CopyService">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="CopyService">
					<xs:sequence>
						<xs:element name="JobTable">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="ActiveJobs">
										<xs:complexType>
											<xs:complexContent>
												<xs:extension base="CopyJobs">
													<xs:anyAttribute namespace="##other"/>
												</xs:extension>
											</xs:complexContent>
										</xs:complexType>
									</xs:element>
									<xs:element name="JobHistory" minOccurs="0">
										<xs:complexType>
											<xs:complexContent>
												<xs:extension base="CopyJobs"/>
											</xs:complexContent>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
								<xs:anyAttribute namespace="##other"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>
