<?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" xmlns:counters="http://www.pwg.org/schemas/2006/10/Counters" targetNamespace="http://www.pwg.org/schemas/2006/10/sm" elementFormDefault="qualified" version="1.08">
	<xs:include schemaLocation="Capabilities.xsd"/>
	<!--12/12/07 PJZ Added direction for N Up and reduced number of mandatory elements-->
	<!--11/21/07 PJZ Added direction for N Up and reduced number of mandatory elements-->
	<!--09/13/07 PJZ Reworked default and supported-->
	<!--10/08/06 PJZ Reworked dependencies and removed Chameleon-->
	<!--10/05/06 PJZ Broke out from PwgCommon.xsd-->
	<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:annotation>
		<xs:documentation>Elements used in this schema</xs:documentation>
	</xs:annotation>
	<xs:element name="AccessModes" type="ObjectAccessModes"/>
	<xs:element name="CreateDate" type="xs:dateTime"/>
	<xs:element name="CurrentTime" type="xs:dateTime"/>
	<xs:element name="Id" type="ObjectIdentifier32"/>
	<xs:element name="ImagingService" type="ImagingService"/>
	<xs:element name="IsAcceptingJobs" type="xs:boolean"/>
	<xs:element name="NaturalLanguage" type="ObjectStringShort"/>
	<xs:element name="OwnerURI" type="xs:anyURI">
		<!--  legacy or WIMS manager URI for owner of this object REQUIRED - MUST be single-valued -->
	</xs:element>
	<xs:element name="OwnerVCard" type="ObjectStringMax"/>
	<xs:element name="QueuedJobCount" type="xs:int"/>
	<xs:element name="ServiceDeviceSupported" type="ObjectDeviceSupported"/>
	<xs:element name="ServiceDocumentFormatSupported" type="ObjectDocumentFormatSupported"/>
	<xs:element name="ServiceInfo" type="ObjectStringLong"/>
	<xs:element name="ServiceName" type="ObjectStringLong"/>
	<xs:element name="ResourcesSupported" type="ObjectResourceReferences"/>
	<xs:element name="ServicesSupported" type="ObjectServiceSupported"/>
	<xs:element name="ZServiceSubunitSupported" type="SubunitReferences"/>
	<xs:element name="ServiceType" type="ServiceTypeWKV"/>
	<xs:element name="ServiceURISupported" type="ObjectURISupported"/>
	<xs:element name="State" type="ObjectStateWKV"/>
	<xs:element name="StateMessages" type="ObjectStateMessages"/>
	<xs:element name="StateReasons">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="StateReason" maxOccurs="unbounded">
					<xs:simpleType>
						<xs:union memberTypes="pwg:StateReasonsWKVs pwg:KeywordNsExtensionPattern"/>
					</xs:simpleType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>Base classes for Services</xs:documentation>
	</xs:annotation>
	<!--Image Service Status base class-->
	<xs:complexType name="ServiceStatus">
		<xs:sequence>
			<!-- local unique integer key  REQUIRED - MUST be single-valued -->
			<xs:element ref="AccessModes" minOccurs="0"/>
			<xs:element ref="CreateDate" minOccurs="0"/>
			<xs:element ref="CurrentTime" minOccurs="0"/>
			<xs:element ref="Id"/>
			<!--Object state  REQUIRED - MUST be single-valued  see printer-state - section 4.4.11 [RFC2911] -->
			<xs:element ref="IsAcceptingJobs"/>
			<xs:element ref="NaturalLanguage" minOccurs="0"/>
			<xs:element ref="QueuedJobCount" minOccurs="0"/>
			<xs:element ref="SerialNumber" minOccurs="0"/>
			<xs:element ref="State"/>
			<!-- Object's  state messages  OPTIONAL - MAY be multi-valued  see printer-state-message - section 4.4.13 [RFC2911] -->
			<xs:element ref="StateMessages" minOccurs="0"/>
			<xs:element ref="StateReasons" minOccurs="0"/>
			<!-- vCard/3.0 (based on ITU-T X.520) for owner of this   OPTIONAL - MUST be single-valued   see vCard/3.0 - vCard MIME Directory Profile [RFC2426] -->
			<!-- object's  access permissions REQUIRED - MAY be multi-valued  see 'chmod' - POSIX System Interfaces [ISO9945]  see 'sys/stat.h' - POSIX System Interfaces [ISO9945]-->
			<!-- date and time when this object was created   REQUIRED - MUST be single-valued -->
			<!-- natural language for object's  text elements  OPTIONAL - MUST be single-valued  see IETF 'Tags for the Identification of Languages' [RFC3066] -->
		</xs:sequence>
	</xs:complexType>
	<!--Image Service Status group-->
	<xs:element name="ServiceStatus" type="ServiceStatus"/>
	<!--Imaging Service Description base class-->
	<xs:complexType name="ServiceDescription">
		<xs:sequence>
			<!--  service type (function of this service object) REQUIRED - MUST be single-valued  see WIMS Object Model - section 4 [WIMS-PRO] -->
			<xs:element ref="OwnerURI" minOccurs="0"/>
			<xs:element ref="OwnerVCard" minOccurs="0"/>
			<xs:element ref="ResourcesSupported" minOccurs="0"/>
			<xs:element ref="ServiceInfo" minOccurs="0"/>
			<xs:element ref="ServiceName" minOccurs="0"/>
			<!--  list of URI supported by this service  REQUIRED - MAY be multi-valued  see printer-uri-supported - section 4.4.1 [RFC2911] -->
			<xs:element ref="ServiceURISupported"/>
			<!-- service vendor-supplied description and/or label  OPTIONAL - MUST be single-valued  see printer-info - section 4.4.6 [RFC2911] -->
			<!--  Object administrative name OPTIONAL - MUST be single-valued  see printer-name - section 4.4.4 [RFC2911]  see prtGeneralPrinterName - section 6 [RFC3805] -->
			<!-- list of services (by ID/name/URI) subordinate to this service  REQUIRED - MAY be multi-valued -->
			<!-- list of devices (by ID/name/URI) subordinate to this service  REQUIRED - MAY be multi-valued -->
			<!-- list of subunits (by ID) supported by this service,  REQUIRED - MAY be multi-valued  see Printer Sub-Units - section 2.2 [RFC3805] -->
			<!--  document formats supported by this service REQUIRED - MAY be multi-valued  see document-format-supported - section 4.4.22 [RFC2911] -->
			<!-- list of resources (by ID/name/URI) supported by this service  OPTIONAL - MAY be multi-valued see ResourceId in Resource XML schema  see ResourceName in Resource XML schema -->
		</xs:sequence>
	</xs:complexType>
	<!--Imaging Service Description group-->
	<xs:element name="ServiceDescription" type="ServiceDescription"/>
	<!--ProcessingReady base class-->
	<xs:complexType name="ServiceCapabilitiesReady">
		<xs:sequence>
			<xs:element name="DocumentProcessingCapabilities" minOccurs="0"/>
			<xs:element name="JobCapabilities" minOccurs="0"/>
		</xs:sequence>
		<!-- ServiceProcessingReady - group -->
	</xs:complexType>
	<!--ProcessingReady group-->
	<xs:element name="ServiceCapabilitiesReady" type="ServiceCapabilitiesReady"/>
	<!--Service Default Ticket base class-->
	<xs:complexType name="DefaultServiceTicket">
		<xs:sequence>
			<xs:element ref="DefaultDocumentTicket" minOccurs="0"/>
			<xs:element ref="DefaultJobTicket" minOccurs="0"/>
		</xs:sequence>
		<!-- ServiceProcessingSupported - group -->
	</xs:complexType>
	<xs:complexType name="DefaultDocumentTicketType">
		<xs:sequence>
			<xs:element ref="NumberUp" minOccurs="0"/>
			<xs:element ref="OrientationRequested" minOccurs="0"/>
			<xs:element ref="VendorExtension" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DefaultJobTicketType">
		<xs:sequence>
			<xs:element ref="JobHoldUntil" minOccurs="0"/>
			<xs:element ref="JobMessageToOperator" minOccurs="0"/>
			<xs:element ref="JobPhoneNumber" minOccurs="0"/>
			<xs:element ref="JobPriority" minOccurs="0"/>
			<xs:element ref="JobRecipientName" minOccurs="0"/>
			<xs:element ref="JobSaveDisposition" minOccurs="0"/>
			<xs:element ref="VendorExtension" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--Service Default Ticket group-->
	<xs:element name="DefaultServiceTicket" type="DefaultServiceTicket"/>
	<xs:element name="DefaultDocumentTicket" type="DefaultDocumentTicketType"/>
	<xs:element name="DefaultJobTicket" type="DefaultJobTicketType"/>
	<!--                                -->
	<!-- imaging Serviceobject definitions -->
	<!--                                -->
	<xs:complexType name="ImagingService">
		<xs:sequence>
			<xs:element ref="ServiceStatus"/>
			<xs:element ref="ServiceDescription"/>
			<xs:element ref="DefaultServiceTicket" minOccurs="0"/>
			<xs:element ref="ServiceCapabilities" minOccurs="0"/>
			<xs:element ref="ServiceCapabilitiesReady" minOccurs="0"/>
			<xs:element ref="VendorExtension" minOccurs="0"/>
		</xs:sequence>
		<!-- ImagingService - object -->
	</xs:complexType>
	<!-- ImagingService - imgaging Service Object -->
	<xs:element name="SerialNumber" type="xs:string"/>
</xs:schema>
