<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.pwg.org/schemas/2009/8/sm" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pwg="http://www.pwg.org/schemas/2009/8/sm" targetNamespace="http://www.pwg.org/schemas/2009/8/sm" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.108">
	<xs:include schemaLocation="DocumentTypes.xsd"/>
	<!--07/19/10 PJZ Added global ID (uuid) -->
	<!--07/05/10 PJZ Added missing capability elements-->
	<!--05/25/10 PJZ Fixed JobDelayOutputXXX-->
	<!--04/01/10 PJZ added "Type" suffix to ComplexTypes-->
	<!--01/11/10 PJZ changed Delay* to JobDelay*-->
	<!--12/28/09 PJZ Added DelayOutputUntil and DelayOutputUntilTime-->
	<!--010/23/09 PJZ Completed abstract classes definitions-->
	<!--010/22/09 PJZ Split concrete and abstract classes-->
	<!--06/17/09 PJZ Reworked NaturalLanguage-->
	<!--06/16/09 PJZ Created simple types for some unions-->
	<!--04/14/09 PJZ Updated Namespace-->
	<!--11/06/08 PJZ Fixed AllowedValues (should be unbounded)-->
	<!--06/01/08 PJZ Added  anyAttribute extension point & fixed Template Service(s)-->
	<!--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 Added Template ID and type, removed actuals, reworked Imaging Job-->
	<!--11/21/07 PJZ Added direction for number up, JobSave and supplied moved to print specific-->
	<!--10/08/06 PJZ Reworked dependencies and removed Chameleon-->
	<!--08/08/06 PJZ Changed namespace-->
	<!--070706  PJZ Changes xxxJobs to xxxQueue-->
	<!--070606  PJZ Added core, media and counters  namespace-->
	<xs:annotation>
		<xs:documentation xml:lang="en">
   PWG Semantic Model v2   

Copyright 2002-2009, IEEE Industry Standards and Technology Organization/PWG - MFD Working Group. 
All rights reserved  

   Editors:  Peter Zehler, Ira McDonald 
</xs:documentation>
	</xs:annotation>
	<!--                                 -->
	<!---->
	<!--Concrete Class definitions-->
	<xs:complexType name="ImagingJobStatusType">
		<xs:sequence>
			<xs:element ref="DateTimeAtCompleted"/>
			<xs:element ref="DateTimeAtCreation"/>
			<xs:element ref="DateTimeAtProcessing"/>
			<xs:element ref="DetailedStatusMessages" minOccurs="0"/>
			<xs:element ref="DocumentAccessErrors" minOccurs="0"/>
			<xs:element ref="ErrorsCount" minOccurs="0"/>
			<xs:sequence>
				<xs:element ref="JobId"/>
				<xs:element ref="JobUuid"/>
			</xs:sequence>
			<xs:element name="JobOriginatingUserAuthenticationInfo">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AuthenticationType" type="AuthenticationTypeType"/>
						<xs:choice>
							<xs:element name="Token" type="xs:hexBinary"/>
							<xs:element name="Cert" type="xs:hexBinary"/>
							<xs:element name="AuthUri" type="xs:anyURI"/>
							<xs:element name="AuthString" type="xs:string"/>
							<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element ref="JobOriginatingUserName"/>
			<xs:element ref="JobOriginatingUserUri" minOccurs="0"/>
			<xs:element ref="JobState"/>
			<xs:element ref="JobStateMessage" minOccurs="0"/>
			<xs:element ref="JobStateReasons"/>
			<xs:element ref="JobUri" minOccurs="0"/>
			<xs:element ref="KOctetsProcessed" minOccurs="0"/>
			<xs:element ref="MoreInfo" minOccurs="0"/>
			<xs:element ref="NumberOfDocuments" minOccurs="0"/>
			<xs:element ref="NumberOfInterveningJobs" minOccurs="0"/>
			<xs:element ref="TimeAtCompleted" minOccurs="0"/>
			<xs:element ref="TimeAtCreation" minOccurs="0"/>
			<xs:element ref="TimeAtProcessing" minOccurs="0"/>
			<xs:element ref="UpTime" minOccurs="0"/>
			<xs:element ref="WarningsCount" minOccurs="0"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- ImagingJobStatus - group -->
	</xs:complexType>
	<xs:complexType name="ImagingJobDescriptionType">
		<xs:sequence>
			<xs:element ref="ElementsNaturalLanguage" minOccurs="0"/>
			<xs:element ref="JobAccountingID" minOccurs="0"/>
			<xs:element ref="JobAccountingUserID" minOccurs="0"/>
			<xs:element ref="JobInformation" minOccurs="0"/>
			<xs:element ref="JobMandatoryElements" minOccurs="0"/>
			<xs:element ref="JobMessageFromOperator" minOccurs="0"/>
			<xs:element ref="JobMessageToOperator" minOccurs="0"/>
			<xs:element ref="JobName"/>
			<xs:element ref="JobPassword" minOccurs="0"/>
			<xs:element ref="JobPasswordEncryption" minOccurs="0"/>
			<xs:element ref="KOctets" minOccurs="0"/>
			<xs:sequence minOccurs="0">
				<xs:element ref="TemplateCreatorUserName" minOccurs="0"/>
				<xs:element ref="TemplateId" minOccurs="0"/>
				<xs:element ref="TemplateInfo" minOccurs="0"/>
				<xs:element ref="TemplateName" minOccurs="0"/>
				<xs:element ref="TemplateType" minOccurs="0"/>
			</xs:sequence>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- ImagingJobDescription - group -->
	</xs:complexType>
	<xs:complexType name="ImagingJobDescriptionCapabilitiesType">
		<xs:sequence>
			<xs:element name="ElementsNaturalLanguage" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AllowedValue" type="NaturalLanguageType" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="JobAccountingID" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobAccountingUserID" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobInformation" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobMandatoryElements" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Alternative encoding of MustHonor attribute</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="JobMessageFromOperator" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobMessageToOperator" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobName" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobOriginatingUserName" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobOriginatingUserUri" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobPassword" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobPasswordEncryption" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AllowedValue" type="JobPasswordEncryptionType" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="KOctets" type="xs:boolean" minOccurs="0"/>
			<xs:sequence>
				<xs:element name="TemplateCreatorUserName" type="xs:boolean" minOccurs="0"/>
				<xs:element name="TemplateId" type="xs:boolean" minOccurs="0"/>
				<xs:element name="TemplateInfo" type="xs:boolean" minOccurs="0"/>
				<xs:element name="TemplateName" type="xs:boolean" minOccurs="0"/>
				<xs:element name="TemplateType" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="AllowedValue" type="TemplateTypeType" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- ImagingJobDescription - group -->
	</xs:complexType>
	<xs:complexType name="ImagingJobProcessingType">
		<xs:sequence>
			<xs:choice minOccurs="0">
				<xs:element ref="JobDelayOutputUntil" minOccurs="0"/>
				<xs:element ref="JobDelayOutputUntilTime" minOccurs="0"/>
			</xs:choice>
			<xs:choice minOccurs="0">
				<xs:element ref="JobHoldUntil" minOccurs="0"/>
				<xs:element ref="JobHoldUntilTime" minOccurs="0"/>
			</xs:choice>
			<xs:element ref="JobMandatoryElements" minOccurs="0"/>
			<xs:element ref="JobPhoneNumber" minOccurs="0"/>
			<xs:element ref="JobPriority" minOccurs="0"/>
			<xs:element ref="JobRecipientName" minOccurs="0"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- ImagingJobProcessing - group -->
	</xs:complexType>
	<xs:complexType name="ImagingJobProcessingCapabilitiesType">
		<xs:sequence>
			<xs:element name="JobDelayOutputUntil" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AllowedValues" type="HoldUntilType" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="JobDelayOutputUntilTime" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobHoldUntil" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AllowedValues" type="HoldUntilType" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="JobHoldUntilTime" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobMandatoryElements" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobPhoneNumber" type="xs:boolean" minOccurs="0"/>
			<xs:element name="JobPriority" type="RangeOfIntType" minOccurs="0"/>
			<xs:element name="JobRecipientName" type="xs:boolean" minOccurs="0"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:complexType>
	<!--                                -->
	<!-- imaging job abstract base classes-->
	<xs:element name="ImagingJobDescription">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ImagingJobDescriptionType">
					<xs:sequence>
						<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="ImagingJobDescriptionCapabilities">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<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>
	<xs:element name="ImagingJobProcessing">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ImagingJobProcessingType">
					<xs:sequence>
						<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="ImagingJobProcessingCapabilities">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ImagingJobProcessingCapabilitiesType">
					<xs:sequence>
						<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="ImagingJobStatus">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ImagingJobStatusType">
					<xs:sequence>
						<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="ImagingJobTicketType">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ImagingDocumentProcessing" minOccurs="0"/>
			<xs:element ref="ImagingJobDescription" minOccurs="0"/>
			<xs:element ref="ImagingJobProcessing" minOccurs="0"/>
			<xs:sequence>
				<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:complexType>
	<xs:element name="ImagingJobTicket">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ImagingJobTicketType"/>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="ImagingJobReceipt" type="ImagingJobTicketType">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="ImagingJobType">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ImagingJobStatus"/>
			<xs:element ref="ImagingJobTicket" minOccurs="0"/>
			<xs:element ref="ImagingJobReceipt" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- ImagingJob - object -->
	</xs:complexType>
	<xs:element name="ImagingJob">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="ImagingJobType">
					<xs:sequence>
						<xs:element ref="ImagingDocuments" minOccurs="0"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="ImagingJobsType">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="ImagingJob" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other"/>
		<!-- CopyJobs - set of Copy jobs -->
	</xs:complexType>
	<xs:element name="ImagingJobs" type="ImagingJobsType">
		<xs:annotation>
			<xs:documentation>Abstract Base Class</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>
