<?xml version="1.0" encoding="UTF-8"?>
<!--PJZ 12/14/07   Updates per 12/11 Face to Face meeting-->
<!--PJZ 07/09/07    Initial version-->
<xs:schema xmlns:scan="http://www.pwg.org/schemas/2006/10/ScanService" xmlns:sm="http://www.pwg.org/schemas/2006/10/sm" xmlns:media="http://www.pwg.org/schemas/2006/10/media" xmlns:count="http://www.pwg.org/schemas/2006/10/Counters" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:xmlmime="http://www.w3.org/2005/05/xmlmime" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.pwg.org/schemas/2006/10/ScanService" elementFormDefault="qualified" version="1.08">
	<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.08 - 18 December 2007 -Editors:  Peter Zehler, Ira McDoanald 
</xs:documentation>
	</xs:annotation>
	<xs:import namespace="http://www.pwg.org/schemas/2006/10/sm" schemaLocation="PwgCommon.xsd"/>
	<xs:import namespace="http://www.pwg.org/schemas/2006/10/sm" schemaLocation="Subunits.xsd"/>
	<xs:import namespace="http://www.pwg.org/schemas/2006/10/sm" schemaLocation="PwgWellKnownValues.xsd"/>
	<xs:include schemaLocation="ScanService.xsd"/>
	<xs:import namespace="http://www.w3.org/2004/08/xop/include" schemaLocation="include.xsd"/>
	<xs:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="xmlmime.xsd"/>
	<xs:complexType name="CreateScanJobRequestType">
		<xs:sequence>
			<xs:element ref="scan:ScanJobTicket"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CreateScanJobRequest" type="scan:CreateScanJobRequestType"/>
	<xs:complexType name="CreateScanJobResponseType">
		<xs:sequence>
			<xs:element ref="sm:JobId"/>
			<xs:element ref="sm:UnsupportedElements" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CreateScanJobResponse" type="scan:CreateScanJobResponseType"/>
	<xs:complexType name="CloseScanJobRequestType">
		<xs:sequence>
			<xs:element ref="sm:JobId"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CloseScanJobRequest" type="scan:CloseScanJobRequestType"/>
	<xs:complexType name="CloseScanJobResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CloseScanJobResponse" type="scan:CloseScanJobResponseType"/>
	<xs:complexType name="ValidateTicketRequestType">
		<xs:sequence>
			<xs:element ref="scan:ScanJobTicket"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ValidateTicketRequest" type="scan:ValidateTicketRequestType"/>
	<xs:complexType name="ValidateTicketResponseType">
		<xs:sequence>
			<xs:element ref="sm:UnsupportedElements" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ValidateTicketResponse" type="scan:ValidateTicketResponseType"/>
	<xs:complexType name="CancelJobRequestType">
		<xs:sequence>
			<xs:element ref="sm:JobId"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CancelJobRequest" type="scan:CancelJobRequestType"/>
	<xs:complexType name="CancelJobResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CancelJobResponse" type="scan:CancelJobResponseType"/>
	<xs:complexType name="GetScanServiceElementsRequestType">
		<xs:sequence>
			<xs:element ref="sm:RequestedElements"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetScanServiceElementsRequest" type="scan:GetScanServiceElementsRequestType"/>
	<xs:complexType name="GetScanServiceElementsResponseType">
		<xs:sequence>
			<xs:element ref="scan:ScanService" minOccurs="0"/>
			<xs:element ref="sm:Subunits" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetScanServiceElementsResponse" type="scan:GetScanServiceElementsResponseType"/>
	<xs:complexType name="GetActiveJobsRequestType">
		<xs:sequence>
			<xs:element ref="sm:RequestedElements" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetActiveJobsRequest" type="scan:GetActiveJobsRequestType"/>
	<xs:complexType name="GetActiveJobsResponseType">
		<xs:sequence>
			<xs:element name="ScanJobs">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="scan:ScanJob" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetActiveJobsResponse" type="scan:GetActiveJobsResponseType"/>
	<xs:complexType name="GetJobHistoryRequestType">
		<xs:sequence>
			<xs:element ref="sm:RequestedElements" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetJobHistoryRequest" type="scan:GetJobHistoryRequestType"/>
	<xs:complexType name="GetJobHistoryResponseType">
		<xs:sequence>
			<xs:element name="ScanJobs">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="scan:ScanJob" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetJobHistoryResponse" type="scan:GetJobHistoryResponseType"/>
	<xs:complexType name="GetJobElementsRequestType">
		<xs:sequence>
			<xs:element ref="sm:JobId"/>
			<xs:element ref="sm:RequestedElements" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetJobElementsRequest" type="scan:GetJobElementsRequestType"/>
	<xs:complexType name="GetJobElementsResponseType">
		<xs:sequence>
			<xs:element ref="scan:ScanJob"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetJobElementsResponse" type="scan:GetJobElementsResponseType"/>
	<xs:complexType name="PauseRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="PauseRequest" type="scan:PauseRequestType"/>
	<xs:complexType name="PauseResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="PauseResponse" type="scan:PauseResponseType"/>
	<xs:complexType name="PauseAfterCurrentJobRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="PauseAfterCurrentJobRequest" type="scan:PauseAfterCurrentJobRequestType"/>
	<xs:complexType name="PauseAfterCurrentJobResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="PauseAfterCurrentJobResponse" type="scan:PauseAfterCurrentJobResponseType"/>
	<xs:complexType name="ResumeRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ResumeRequest" type="scan:ResumeRequestType"/>
	<xs:complexType name="ResumeResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ResumeResponse" type="scan:ResumeResponseType"/>
	<xs:complexType name="DisableScanServiceRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DisableScanServiceRequest" type="scan:DisableScanServiceRequestType"/>
	<xs:complexType name="DisableScanServiceResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DisableScanServiceResponse" type="scan:DisableScanServiceResponseType"/>
	<xs:complexType name="EnableScanServiceRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="EnableScanServiceRequest" type="scan:EnableScanServiceRequestType"/>
	<xs:complexType name="EnableScanServiceResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="EnableScanServiceResponse" type="scan:EnableScanServiceResponseType"/>
	<xs:complexType name="RestartRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="RestartRequest" type="scan:RestartRequestType"/>
	<xs:complexType name="RestartResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="RestartResponse" type="scan:RestartResponseType"/>
	<xs:complexType name="ShutdownRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ShutdownRequest" type="scan:ShutdownRequestType"/>
	<xs:complexType name="ShutdownResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ShutdownResponse" type="scan:ShutdownResponseType"/>
	<xs:complexType name="StartupRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="StartupRequest" type="scan:StartupRequestType"/>
	<xs:complexType name="StartupResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="StartupResponse" type="scan:StartupResponseType"/>
	<xs:complexType name="HoldJobRequestType">
		<xs:sequence>
			<xs:element ref="sm:JobId"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="HoldJobRequest" type="scan:HoldJobRequestType"/>
	<xs:complexType name="HoldJobResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="HoldJobResponse" type="scan:HoldJobResponseType"/>
	<xs:complexType name="ReleaseJobRequestType">
		<xs:sequence>
			<xs:element ref="sm:JobId"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ReleaseJobRequest" type="scan:ReleaseJobRequestType"/>
	<xs:complexType name="ReleaseJobResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ReleaseJobResponse" type="scan:ReleaseJobResponseType"/>
	<xs:complexType name="HoldNewJobsRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="HoldNewJobsRequest" type="scan:HoldNewJobsRequestType"/>
	<xs:complexType name="HoldNewJobsResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="HoldNewJobsResponse" type="scan:HoldNewJobsResponseType"/>
	<xs:complexType name="ReleaseNewJobsRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ReleaseNewJobsRequest" type="scan:ReleaseNewJobsRequestType"/>
	<xs:complexType name="ReleaseNewJobsResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ReleaseNewJobsResponse" type="scan:ReleaseNewJobsResponseType"/>
	<xs:complexType name="DeleteTemplateRequestType">
		<xs:sequence>
			<xs:element ref="sm:TemplateId"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DeleteTemplateRequest" type="scan:DeleteTemplateRequestType"/>
	<xs:complexType name="DeleteTemplateResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DeleteTemplateResponse" type="scan:DeleteTemplateResponseType"/>
	<xs:complexType name="GetTemplateRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetTemplateRequest" type="scan:GetTemplateRequestType"/>
	<xs:complexType name="GetTemplateResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetTemplateResponse" type="scan:GetTemplateResponseType"/>
	<xs:complexType name="ListTemplatesRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ListTemplatesRequest" type="scan:ListTemplatesRequestType"/>
	<xs:complexType name="ListTemplatesResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ListTemplatesResponse" type="scan:ListTemplatesResponseType"/>
	<xs:complexType name="PutTemplateRequestType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="PutTemplateRequest" type="scan:PutTemplateRequestType"/>
	<xs:complexType name="PutTemplateResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="PutTemplateResponse" type="scan:PutTemplateResponseType"/>
	<xs:complexType name="ValidateTemplateRequestType">
		<xs:sequence>
			<xs:element ref="scan:ScanJobDescription"/>
			<xs:element ref="scan:ScanJobProcessing" minOccurs="0"/>
			<xs:element ref="scan:ScanDocumentProcessing" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ValidateTemplateRequest" type="scan:ValidateTemplateRequestType"/>
	<xs:complexType name="ValidateTemplateResponseType">
		<xs:sequence>
			<xs:element ref="sm:UnsupportedElements" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ValidateTemplateResponse" type="scan:ValidateTemplateResponseType"/>
</xs:schema>
