<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.pwg.org/schemas/2009/5/sm" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pwg="http://www.pwg.org/schemas/2009/5/sm" targetNamespace="http://www.pwg.org/schemas/2009/5/sm" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.76">
	<xs:include schemaLocation="Counter.xsd"/>
	<xs:include schemaLocation="DocumentTypes.xsd"/>
	<xs:include schemaLocation="ServiceTypes.xsd"/>
	<xs:include schemaLocation="JobTypes.xsd"/>
	<!--04/14/09 PJZ Updated Namespace-->
	<!--01/30/09 PJZ Made IsAcceptingJobs service specific-->
	<!--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-2009, IEEE Industry Standards and Technology Organization/PWG - MFD Working Group. 
All rights reserved  

   Editors:  Peter Zehler, Ira McDoanald 
</xs:documentation>
	</xs:annotation>
	<!---->
	<!-- EmailOutDocument - group -->
	<!---->
	<!-- EmailOutDocumentStatus - group -->
	<xs:complexType name="EmailOutDocumentStatus">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingDocumentStatus">
				<xs:sequence>
					<!-- EmailOut Document status references here -->
					<!-- EmailOut Document counters from service counters definition -->
					<xs:element ref="EmailOutDocumentCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailOutDocumentStatus - group -->
	</xs:complexType>
	<xs:element name="EmailOutDocumentStatus" type="EmailOutDocumentStatus"/>
	<!-- EmailOutDocumentTicket - group -->
	<xs:complexType name="EmailOutDocumentTicketType">
		<xs:sequence>
			<xs:element ref="EmailOutDocumentDescription" minOccurs="0"/>
			<xs:element ref="EmailOutDocumentProcessing" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="EmailOutDocumentTicket" type="EmailOutDocumentTicketType"/>
	<xs:element name="EmailOutDocumentReceipt" type="EmailOutDocumentTicketType"/>
	<!-- EmailOutDocumentDescription - group -->
	<xs:complexType name="EmailOutDocumentDescription">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingDocumentDescription">
				<xs:sequence>
					<!-- EmailOut Document description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailOutDocumentDescription - group -->
	</xs:complexType>
	<xs:element name="EmailOutDocumentDescription" type="EmailOutDocumentDescription"/>
	<!-- EmailOutDocumentProcessing - group -->
	<xs:complexType name="EmailOutDocumentProcessing">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingDocumentProcessing">
				<xs:sequence>
					<!-- EmailOut document processing references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailOutDocumentProcessing - group -->
	</xs:complexType>
	<xs:element name="EmailOutDocumentProcessing" type="EmailOutDocumentProcessing"/>
	<!-- EmailOutDocuments - set of EmailOut Documents -->
	<xs:complexType name="EmailOutDocuments">
		<xs:sequence>
			<xs:element ref="EmailOutDocument" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- EmailOutDocuments - set of EmailOut Documents -->
	</xs:complexType>
	<xs:element name="EmailOutDocuments" type="EmailOutDocuments"/>
	<!-- EmailOutDocument - object -->
	<xs:complexType name="EmailOutDocument">
		<xs:sequence>
			<xs:element ref="EmailOutDocumentReceipt" minOccurs="0"/>
			<xs:element ref="EmailOutDocumentStatus"/>
			<xs:element ref="EmailOutDocumentTicket" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- EmailOutDocument - object -->
	</xs:complexType>
	<xs:element name="EmailOutDocument" type="EmailOutDocument"/>
	<!---->
	<!-- EmailOutJob - group -->
	<!---->
	<!-- EmailOutJobStatus - group -->
	<xs:complexType name="EmailOutJobStatus">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingJobStatus">
				<xs:sequence>
					<!-- EmailOut job status references here -->
					<!-- EmailOut job counters from service counters definition -->
					<xs:element ref="EmailOutJobCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailOutJobStatus - group -->
	</xs:complexType>
	<xs:element name="EmailOutJobStatus" type="EmailOutJobStatus"/>
	<!-- EmailOutJobTicket - group -->
	<xs:complexType name="EmailOutJobTicketType">
		<xs:sequence>
			<xs:element ref="EmailOutDocumentProcessing" minOccurs="0"/>
			<xs:element ref="EmailOutJobDescription" minOccurs="0"/>
			<xs:element ref="EmailOutJobProcessing" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:complexType>
	<xs:element name="EmailOutJobTicket" type="EmailOutJobTicketType"/>
	<xs:element name="EmailOutJobReceipt" type="EmailOutJobTicketType"/>
	<!-- EmailOutJobDescription - group -->
	<xs:complexType name="EmailOutJobDescription">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingJobDescription">
				<xs:sequence>
					<!-- EmailOut job description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailOutJobDescription - group -->
	</xs:complexType>
	<xs:element name="EmailOutJobDescription" type="EmailOutJobDescription"/>
	<!-- EmailOutJobProcessing - group -->
	<xs:complexType name="EmailOutJobProcessing">
		<xs:complexContent>
			<xs:extension base="pwg:ImagingJobProcessing">
				<xs:sequence>
					<!-- EmailOut 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>
		<!-- EmailOutJobProcessing - group -->
	</xs:complexType>
	<xs:element name="EmailOutJobProcessing" type="EmailOutJobProcessing"/>
	<!-- EmailOutJobs - set of EmailOut jobs -->
	<xs:complexType name="EmailOutJobs">
		<xs:sequence>
			<xs:element ref="EmailOutJob" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- EmailOutJobs - set of EmailOut jobs -->
	</xs:complexType>
	<!-- EmailOutJob - object -->
	<xs:complexType name="EmailOutJob">
		<xs:sequence>
			<xs:element ref="EmailOutJobReceipt" minOccurs="0"/>
			<xs:element ref="EmailOutJobStatus"/>
			<xs:element ref="EmailOutJobTicket" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- EmailOutJob - object -->
	</xs:complexType>
	<xs:element name="EmailOutJob">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EmailOutJob">
					<xs:sequence>
						<xs:element ref="EmailOutDocuments" minOccurs="0"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<!---->
	<!-- EmailOutService - group -->
	<!---->
	<!-- EmailOutServiceStatus - group -->
	<xs:complexType name="EmailOutServiceStatus">
		<xs:complexContent>
			<xs:extension base="pwg:ServiceStatus">
				<xs:sequence>
					<xs:element ref="IsAcceptingJobs"/>
					<xs:element ref="EmailOutServiceCounters" minOccurs="0"/>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailOutServiceStatus - group -->
	</xs:complexType>
	<xs:element name="EmailOutServiceStatus" type="EmailOutServiceStatus"/>
	<!-- EmailOutServiceDescription - group -->
	<xs:complexType name="EmailOutServiceDescription">
		<xs:complexContent>
			<xs:extension base="pwg:ServiceDescription">
				<xs:sequence>
					<!-- EmailOut service description references -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailOutServiceDescription - group -->
	</xs:complexType>
	<xs:element name="EmailOutServiceDescription" type="EmailOutServiceDescription"/>
	<!-- EmailOut Service Default Ticket - group -->
	<xs:element name="DefaultEmailOutTicket" type="EmailOutJobTicketType"/>
	<!-- EmailOutService Capabilities - group -->
	<xs:complexType name="EmailOutDocumentProcessingCapabilitiesType">
		<xs:annotation>
			<xs:documentation>ISSUE: (GP): I did not see a capability for the “light source” this can be changed in EmailOutning and can be done for the document type (paper, transparencies, negatives).</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="pwg:DocumentProcessingCapabilitiesType">
				<xs:sequence>
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="EmailOutDocumentProcessingCapabilities" type="EmailOutDocumentProcessingCapabilitiesType"/>
	<xs:complexType name="EmailOutJobProcessingCapabilitiesType">
		<xs:complexContent>
			<xs:extension base="pwg:JobProcessingCapabilitiesType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="EmailOutJobProcessingCapabilities">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EmailOutJobProcessingCapabilitiesType">
					<xs:sequence>
						<xs:element name="JobPriority" type="pwg:RangeOfInt" minOccurs="0"/>
						<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="EmailOutJobDescriptionCapabilitiesType">
		<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="EmailOutJobDescriptionCapabilities" type="EmailOutJobDescriptionCapabilitiesType"/>
	<xs:complexType name="EmailOutServiceCapabilities">
		<xs:sequence>
			<xs:element ref="EmailOutDocumentProcessingCapabilities" minOccurs="0"/>
			<xs:element ref="EmailOutJobDescriptionCapabilities" minOccurs="0"/>
			<xs:element ref="EmailOutJobProcessingCapabilities" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:complexType>
	<xs:element name="EmailOutServiceCapabilities" type="EmailOutServiceCapabilities"/>
	<xs:element name="EmailOutServiceCapabilitiesReady" type="EmailOutServiceCapabilities"/>
	<!-- EmailOutServices - set of EmailOut services -->
	<xs:complexType name="EmailOutServices">
		<xs:sequence>
			<xs:element ref="EmailOutService" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- EmailOutServices - set of EmailOut services -->
	</xs:complexType>
	<xs:element name="EmailOutServices" type="EmailOutServices"/>
	<!-- EmailOutService - object -->
	<xs:complexType name="EmailOutService">
		<xs:sequence>
			<xs:element ref="DefaultEmailOutTicket" minOccurs="0"/>
			<xs:element ref="EmailOutServiceCapabilities" minOccurs="0"/>
			<xs:element ref="EmailOutServiceCapabilitiesReady" minOccurs="0"/>
			<xs:element ref="EmailOutServiceDescription" minOccurs="0"/>
			<xs:element ref="EmailOutServiceStatus"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
		<!-- EmailOutService - object -->
	</xs:complexType>
	<xs:element name="EmailOutService">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EmailOutService">
					<xs:sequence>
						<xs:element name="JobTable">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="ActiveJobs" type="EmailOutJobs"/>
									<xs:element name="JobHistory" type="EmailOutJobs" minOccurs="0"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>

