<?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="PwgCommon.xsd"/>
	<!--04/14/09 PJZ Updated Namespace-->
	<!--07/11/08 PJZ Change to AvailableResource-->
	<!--07/11/08 PJZ Change to ResidentResource-->
	<!--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-->
	<!--03/27/08 PJZ added attribute to identify  key elements-->
	<!--10/08/06 PJZ Reworked dependencies and removed Chameleon-->
	<!--08/07/06   PZ   Moved to new namespace-->
	<!--070606  PJZ Added core 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 McDoanald 
</xs:documentation>
	</xs:annotation>
	<!--                                   -->
	<!-- AvailableResource element type definitions -->
	<!--                                   -->
	<!-- NOTE:  After PWG 'last call' and formal approval, these WKV -->
	<!--        enums will be moved to std 'PwgWellKnownValues.xsd' -->
	<xs:simpleType name="AvailableResourceStateWKV">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="Other"/>
			<xs:enumeration value="Unknown"/>
			<xs:enumeration value="Idle"/>
			<xs:enumeration value="Reserved"/>
			<xs:enumeration value="Processing"/>
			<!-- AvailableResource is in other state -->
			<!-- AvailableResource is in unknown state -->
			<!-- AvailableResource is idle (not reserved by any job) -->
			<!-- (AvailableResource may be modified/deleted by authenticated admin) -->
			<!-- see 'idle' - section 4.4.11 [RFC2911] -->
			<!-- AvailableResource is currently reserved (by one or more jobs) -->
			<!-- AvailableResource extension to IPP Printer object state model -->
			<!-- AvailableResource is currently processing (in one or more jobs) -->
			<!-- see 'processing' - section 4.4.11 [RFC2911] -->
			<!-- intentionally omitted 'stopped' - section 4.4.11 [RFC2911] -->
		</xs:restriction>
		<!-- state of this AvailableResource -->
		<!-- see IPP printer-state - section 4.4.11 [RFC2911] -->
	</xs:simpleType>
	<!--                              -->
	<!-- AvailableResource element definitions -->
	<!--                              -->
	<xs:element name="AvailableResourceState" type="AvailableResourceStateWKV"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- state of this AvailableResource -->
	<!-- see Resource-state - section x.x.x [IPP-RES] -->
	<!-- see IPP printer-state - section 4.4.11 [RFC2911] -->
	<xs:element name="AvailableResourcePersistence" type="ObjectPersistenceWKV"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- persistence (life cycle) of this AvailableResource -->
	<!-- see 'StorageType' - section 2 [RFC2579] -->
	<xs:element name="AvailableResourceOwnerURI" type="xs:anyURI"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- legacy or WIMS manager URI for owner of this AvailableResource -->
	<xs:element name="AvailableResourceOwnerVCard" type="ObjectStringMax"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- vCard/3.0 (based on ITU-T X.520) for owner of this AvailableResource -->
	<!-- see vCard/3.0 - vCard MIME Directory Profile [RFC2426] -->
	<xs:element name="AvailableResourceAccessModes" type="ObjectAccessModes"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- access permissions for this AvailableResource -->
	<!-- see 'chmod' - POSIX System Interfaces [ISO9945]-->
	<!-- see 'sys/stat.h' - POSIX System Interfaces [ISO9945]-->
	<xs:element name="AvailableResourceCreateDate" type="xs:dateTime"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- date and time when this AvailableResource was created/installed -->
	<!-- see AvailableResource-create-date-time - section 5.3.5 [IPP-RES] -->
	<xs:element name="AvailableResourceAccessDate" type="xs:dateTime"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- date and time when this AvailableResource was last accessed -->
	<xs:element name="AvailableResourceExpireDate" type="xs:dateTime"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- date and time when the lease of this AvailableResource will expire -->
	<!-- (i.e., when AvailableResourceState will become 'Unknown') -->
	<xs:element name="AvailableResourceModifyDate" type="xs:dateTime"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- date and time when this AvailableResource was last modified -->
	<xs:element name="AvailableResourceURI" type="xs:anyURI"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- HTTP or FTP URI of this AvailableResource (for access to attributes) -->
	<!-- see Resource-name - section 5.4.2 [IPP-RES] -->
	<xs:element name="AvailableResourceJobIds">
		<!-- OPTIONAL - MAY be multi-valued -->
		<!-- list of jobs for which this AvailableResource is reserved -->
		<!-- see IPP job-id - section 4.3.2 [RFC2911] -->
		<xs:complexType>
			<xs:sequence>
				<xs:element name="AvailableResourceJobId" type="ObjectPointer32" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="AvailableResourceCopyright" type="ObjectStringLong"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- human-readable copyright message for this AvailableResource -->
	<!-- for example, as required by the AvailableResource's usage license -->
	<xs:element name="AvailableResourceVersion" type="ObjectStringLong"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- human-readable version message for this AvailableResource -->
	<!-- for example, 'Release 3a-4127' for a AvailableResourceFirmware -->
	<xs:element name="AvailableResourceDocumentFormatSupported" type="ObjectDocumentFormatSupported"/>
	<!-- OPTIONAL - MAY be multi-valued -->
	<!-- document formats (MIME types) supported by this AvailableResource -->
	<!-- for example, 'application/pdf' for a AvailableResourceFont -->
	<!-- see Resource-document-formats - section 5.3.4 [IPP-RES] -->
	<!-- see document-format - section 9.1.12 [PWG5100.5] -->
	<xs:element name="AvailableResourceDataURI" type="xs:anyURI"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- data source URI of this AvailableResource data -->
	<!-- see Resource-data-uri - section 5.3.8 [IPP-RES] -->
	<xs:element name="AvailableResourceDataFormat" type="ObjectDocumentFormat"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- data format (MIME type) of this AvailableResource data -->
	<!-- see document-format - section 9.1.12 [PWG5100.5] -->
	<xs:element name="AvailableResourceDataFormatVersion" type="ObjectStringLong"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- data format version of this AvailableResource data -->
	<!-- see document-format-version - section 9.1.16 [PWG5100.5] -->
	<xs:element name="AvailableResourceDataCompression" type="ObjectDataCompressionWKV"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- data compression (if any) of this AvailableResource data -->
	<!-- see Resource-data-compression - section 5.3.10 [IPP-RES] -->
	<!-- see IPP compression-supported - section 4.4.32 [RFC2911] -->
	<xs:element name="AvailableResourceDataKOctets" type="ObjectCounter32"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- data size in k-octets of this AvailableResource data -->
	<!-- see resource-data-k-octets - section 5.3.9 [IPP-RES] -->
	<xs:element name="AvailableResourceDataPresent" type="xs:boolean"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- data present in local cache for this AvailableResource data -->
	<!-- see resource-data-present - section 5.3.7 [IPP-RES] -->
	<!--                            -->
	<!-- AvailableResource group definitions -->
	<!--                            -->
	<xs:element name="AvailableResourceStatus">
		<!-- AvailableResourceStatus - group -->
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ResourceId"/>
				<xs:element ref="AvailableResourceState"/>
				<xs:element ref="AvailableResourcePersistence"/>
				<xs:element ref="AvailableResourceOwnerURI"/>
				<xs:element ref="AvailableResourceOwnerVCard" minOccurs="0"/>
				<xs:element ref="AvailableResourceAccessModes"/>
				<xs:element ref="AvailableResourceCreateDate"/>
				<xs:element ref="AvailableResourceAccessDate" minOccurs="0"/>
				<xs:element ref="AvailableResourceExpireDate" minOccurs="0"/>
				<xs:element ref="AvailableResourceModifyDate" minOccurs="0"/>
				<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="AvailableResourceData">
		<!-- AvailableResourceData - group -->
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="AvailableResourceDataURI"/>
				<xs:element ref="AvailableResourceDataFormat"/>
				<xs:element ref="AvailableResourceDataFormatVersion" minOccurs="0"/>
				<xs:element ref="AvailableResourceDataCompression"/>
				<xs:element ref="AvailableResourceDataKOctets"/>
				<xs:element ref="AvailableResourceDataPresent"/>
				<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="AvailableResourceDescription">
		<!-- AvailableResourceDescription - group -->
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="AvailableResourceURI" minOccurs="0"/>
				<xs:element ref="AvailableResourceJobIds" minOccurs="0"/>
				<xs:element ref="AvailableResourceCopyright" minOccurs="0"/>
				<xs:element ref="AvailableResourceVersion" minOccurs="0"/>
				<xs:element ref="AvailableResourceDocumentFormatSupported" minOccurs="0"/>
				<xs:element ref="AvailableResourceData" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="ResourceInfo" minOccurs="0"/>
				<xs:element ref="ResourceName" minOccurs="0"/>
				<xs:element ref="ResourceType"/>
				<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--                            -->
	<!-- AvailableResource definition -->
	<!--                     -->
	<xs:complexType name="AvailableResources">
		<xs:sequence>
			<xs:element ref="AvailableResource" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- AvailableResources - set of AvailableResources -->
	</xs:complexType>
	<xs:complexType name="AvailableResource">
		<xs:sequence minOccurs="0">
			<xs:element ref="AvailableResourceStatus"/>
			<xs:element ref="AvailableResourceDescription"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- union of AvailableResource classes -->
	</xs:complexType>
	<!-- AvailableResources - set of AvailableResources -->
	<xs:element name="AvailableResources" type="AvailableResources"/>
	<xs:element name="AvailableResource" type="AvailableResource"/>
</xs:schema>

