<?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" targetNamespace="http://www.pwg.org/schemas/2006/10/sm" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.53">
	<xs:include schemaLocation="PwgCommon.xsd"/>
	<xs:include schemaLocation="Report.xsd"/>
	<!--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:include schemaLocation="./Alert.xsd"/>
	<xs:annotation>
		<xs:documentation source="www.pwg.org" xml:lang="en">
   PWG Semantic Model v2   

    IEEE/ISTO Printer Working Group (PWG)
    Web-based Imaging Management Service (WIMS)
    Agents XML Schema

  
    - version 1.17 - 4 April 2008 -Editors:  Peter Zehler, Ira McDoanald 

    Normative References
    --------------------
    [WIMS-PRO] Web-based Imaging Management Service (WIMS)
               (work-in-progress)

    Informative References
    ----------------------
    [ISO9945] POSIX System Interfaces
              ISO 9945:2001

    [RFC2426] vCard MIME Directory Profile
              (September 1998)
              ftp://ftp.isi.edu/in-notes/rfc2426.txt

    [RFC2911] Internet Printing Protocol/1.1: Model and Semantics
              (September 2000)
              ftp://ftp.isi.edu/in-notes/rfc2911.txt

    [RFC3066] Tags for the Identification of Languages
              (January 2001)
              ftp://ftp.isi.edu/in-notes/rfc3066.txt

    [RFC3805] Printer MIB v2
              (June 2004)
              ftp://ftp.isi.edu/in-notes/rfc3805.txt
  </xs:documentation>
	</xs:annotation>
	<!--                           -->
	<!-- agent element definitions -->
	<!--                           -->
	<xs:element name="AgentId">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="pwg:ObjectIdentifier32">
					<xs:attribute ref="pwg:Key"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- local unique integer key of this agent object -->
	<xs:element name="AgentState" type="pwg:ObjectStateWKV"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- state of this agent -->
	<!-- see printer-state - section 4.4.11 [RFC2911] -->
	<xs:element name="AgentStateMessages" type="pwg:ObjectStateMessages"/>
	<!-- OPTIONAL - MAY be multi-valued -->
	<!-- state messages of this agent -->
	<!-- see printer-state-message - section 4.4.13 [RFC2911] -->
	<xs:element name="AgentOwnerURI" type="xs:anyURI"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- legacy or WIMS manager URI for owner of this agent -->
	<xs:element name="AgentOwnerVCard" type="pwg:ObjectStringMax"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- vCard/3.0 (based on ITU-T X.520) for owner of this agent -->
	<!-- see vCard/3.0 - vCard MIME Directory Profile [RFC2426] -->
	<xs:element name="AgentAccessModes" type="pwg:ObjectAccessModes"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- access permissions for this agent -->
	<!-- see 'chmod' - POSIX System Interfaces [ISO9945]-->
	<!-- see 'sys/stat.h' - POSIX System Interfaces [ISO9945]-->
	<xs:element name="AgentCreateDate" type="xs:dateTime"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- date and time when this agent object was created -->
	<xs:element name="AgentNaturalLanguage" type="pwg:ObjectStringShort"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- natural language for text elements on this agent -->
	<!-- see IETF 'Tags for the Identification of Languages' [RFC3066] -->
	<xs:element name="AgentURISupported" type="pwg:ObjectURISupported"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- list of URI supported by this agent -->
	<!-- see printer-uri-supported - section 4.4.1 [RFC2911] -->
	<xs:element name="AgentInfo" type="pwg:ObjectStringLong"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- agent vendor-supplied description and/or label -->
	<!-- see printer-info - section 4.4.6 [RFC2911] -->
	<xs:element name="AgentName" type="pwg:ObjectStringLong"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- agent administrative name -->
	<!-- see printer-name - section 4.4.4 [RFC2911] -->
	<!-- see prtGeneralPrinterName - section 6 [RFC3805] -->
	<xs:element name="AgentLocation" type="pwg:ObjectStringLong"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- agent physical and/or network location -->
	<!-- see printer-location - section 4.4.5 [RFC2911] -->
	<xs:element name="AgentParentManagerSupported" type="ObjectManagerSupported"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- list of managers (by ID/name/URI) superior to this agent -->
	<!-- see WIMS Object Model - section 4 [WIMS-PRO] -->
	<xs:element name="AgentManagerSupported" type="ObjectManagerSupported"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- list of managers (by ID/name/URI) subordinate to this agent -->
	<!-- see WIMS Object Model - section 4 [WIMS-PRO] -->
	<xs:element name="AgentSystemSupported" type="ObjectSystemReference"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- local WIMS system (by ID/name/URI) subordinate to this agent -->
	<!-- see WIMS Object Model - section 4 [WIMS-PRO] -->
	<!--                         -->
	<!-- agent group definitions -->
	<!--                         -->
	<xs:complexType name="AgentStatus">
		<xs:sequence>
			<xs:element ref="AgentId"/>
			<xs:element ref="AgentState"/>
			<xs:element ref="AgentStateMessages" minOccurs="0"/>
			<xs:element ref="AgentOwnerURI"/>
			<xs:element ref="AgentOwnerVCard" minOccurs="0"/>
			<xs:element ref="AgentAccessModes"/>
			<xs:element ref="AgentCreateDate"/>
			<xs:element ref="AgentNaturalLanguage" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- AgentStatus - group -->
	</xs:complexType>
	<xs:element name="AgentStatus" type="AgentStatus"/>
	<!-- AgentStatus - group -->
	<xs:complexType name="AgentDescription">
		<xs:sequence>
			<xs:element ref="AgentURISupported"/>
			<xs:element ref="AgentInfo" minOccurs="0"/>
			<xs:element ref="AgentName" minOccurs="0"/>
			<xs:element ref="AgentLocation" minOccurs="0"/>
			<xs:element ref="WIMSOperationsSupported"/>
			<xs:element ref="WIMSActionsSupported"/>
			<xs:element ref="WIMSObjectsSupported"/>
			<xs:element ref="AgentParentManagerSupported"/>
			<xs:element ref="AgentManagerSupported"/>
			<xs:element ref="AgentSystemSupported"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- AgentDescription - group -->
	</xs:complexType>
	<xs:element name="AgentDescription" type="AgentDescription"/>
	<!-- AgentDescription - group -->
	<!--                          -->
	<!-- agent object definitions -->
	<!--                          -->
	<xs:complexType name="Agents">
		<xs:sequence>
			<xs:element ref="Agent" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- Agents - set of agents -->
	</xs:complexType>
	<xs:complexType name="Agent">
		<xs:sequence>
			<xs:element ref="AgentStatus"/>
			<xs:element ref="AgentDescription" minOccurs="0"/>
			<xs:element name="AgentAlerts" type="Alerts" minOccurs="0"/>
			<xs:element name="AgentReports" type="Reports" minOccurs="0"/>
			<xs:element name="AgentSubscriptions" type="Subscriptions" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- Agent - object -->
	</xs:complexType>
	<xs:element name="Agents" type="Agents"/>
	<!-- Agents - set of agents -->
	<xs:element name="Agent" type="Agent"/>
	<!-- Agent - object -->
</xs:schema>
