<?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"/>
	<!--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/08/06 PJZ Changed namespace-->
	<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)
    Devices 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>
	<!--                            -->
	<!-- device element definitions -->
	<!--                            -->
	<xs:element name="DeviceIdentifier">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="ObjectIdentifier32">
					<xs:attribute ref="Key"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- local unique integer key of this device object -->
	<xs:element name="DeviceState" type="ObjectStateWKV"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- state of this device -->
	<!-- see printer-state - section 4.4.11 [RFC2911] -->
	<xs:element name="DeviceStateMessages" type="ObjectStateMessages"/>
	<!-- OPTIONAL - MAY be multi-valued -->
	<!-- state messages of this device -->
	<!-- see printer-state-message - section 4.4.13 [RFC2911] -->
	<xs:element name="DeviceOwnerURI" type="xs:anyURI"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- legacy or WIMS manager URI for owner of this device -->
	<xs:element name="DeviceOwnerVCard" type="ObjectStringMax"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- vCard/3.0 (based on ITU-T X.520) for owner of this device -->
	<!-- see vCard/3.0 - vCard MIME Directory Profile [RFC2426] -->
	<xs:element name="DeviceAccessModes" type="ObjectAccessModes"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- access permissions for this device -->
	<!-- see 'chmod' - POSIX System Interfaces [ISO9945]-->
	<!-- see 'sys/stat.h' - POSIX System Interfaces [ISO9945]-->
	<xs:element name="DeviceCreateDate" type="xs:dateTime"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- date and time when this device object was created -->
	<xs:element name="DeviceNaturalLanguage" type="ObjectStringShort"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- natural language for text elements on this device -->
	<!-- see IETF 'Tags for the Identification of Languages' [RFC3066] -->
	<xs:element name="DeviceType" type="DeviceTypeWKV"/>
	<!-- REQUIRED - MUST be single-valued -->
	<!-- device type (function of this device object) -->
	<!-- see WIMS Object Model - section 4 [WIMS-PRO] -->
	<xs:element name="DeviceURISupported" type="ObjectURISupported"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- list of URI supported by this device -->
	<!-- see printer-uri-supported - section 4.4.1 [RFC2911] -->
	<xs:element name="DeviceInfo" type="ObjectStringLong"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- device vendor-supplied description and/or label -->
	<!-- see printer-info - section 4.4.6 [RFC2911] -->
	<xs:element name="DeviceName" type="ObjectStringLong"/>
	<!-- OPTIONAL - MUST be single-valued -->
	<!-- device administrative name -->
	<!-- see printer-name - section 4.4.4 [RFC2911] -->
	<!-- see prtGeneralPrinterName - section 6 [RFC3805] -->
	<xs:element name="DeviceSubunitSupported" type="SubunitReferences"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- list of subunits (by ID) supported by this device -->
	<!-- see Printer Sub-Units - section 2.2 [RFC3805] -->
	<xs:element name="DeviceDocumentFormatSupported" type="ObjectDocumentFormatSupported"/>
	<!-- REQUIRED - MAY be multi-valued -->
	<!-- document formats supported by this device -->
	<!-- see document-format-supported - section 4.4.22 [RFC2911] -->
	<xs:element name="DeviceResourceSupported" type="ObjectResourceReferences"/>
	<!-- OPTIONAL - MAY be multi-valued -->
	<!-- list of resources (by ID/name/URI) supported by this device -->
	<!-- see ResourceId in Resource XML schema -->
	<!-- see ResourceName in Resource XML schema -->
	<!--                          -->
	<!-- device group definitions -->
	<!--                          -->
	<xs:complexType name="DeviceStatus">
		<xs:sequence>
			<xs:element ref="DeviceIdentifier"/>
			<xs:element ref="DeviceState"/>
			<xs:element ref="DeviceStateMessages" minOccurs="0"/>
			<xs:element ref="DeviceOwnerURI"/>
			<xs:element ref="DeviceOwnerVCard" minOccurs="0"/>
			<xs:element ref="DeviceAccessModes"/>
			<xs:element ref="DeviceCreateDate"/>
			<xs:element ref="DeviceNaturalLanguage" minOccurs="0"/>
		</xs:sequence>
		<!-- DeviceStatus - group -->
	</xs:complexType>
	<xs:element name="DeviceStatus" type="DeviceStatus"/>
	<!-- DeviceStatus - group -->
	<xs:complexType name="DeviceDescription">
		<xs:sequence>
			<xs:element ref="DeviceType"/>
			<xs:element ref="DeviceURISupported"/>
			<xs:element ref="DeviceInfo" minOccurs="0"/>
			<xs:element ref="DeviceName" minOccurs="0"/>
			<xs:element ref="DeviceSubunitSupported"/>
			<xs:element ref="DeviceDocumentFormatSupported"/>
			<xs:element ref="DeviceResourceSupported" minOccurs="0"/>
		</xs:sequence>
		<!-- DeviceDescription - group -->
	</xs:complexType>
	<xs:element name="DeviceDescription" type="DeviceDescription"/>
	<!-- DeviceDescription - group -->
	<xs:complexType name="CopyDeviceStatus">
		<xs:complexContent>
			<xs:extension base="DeviceStatus">
				<xs:sequence>
					<!-- CopyDeviceCounters goes here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyDeviceStatus - group -->
	</xs:complexType>
	<xs:element name="CopyDeviceStatus" type="CopyDeviceStatus"/>
	<!-- CopyDeviceStatus - group -->
	<xs:complexType name="CopyDeviceDescription">
		<xs:complexContent>
			<xs:extension base="DeviceDescription">
				<xs:sequence>
					<!-- Copy device description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- CopyDeviceDescription - group -->
	</xs:complexType>
	<xs:element name="CopyDeviceDescription" type="CopyDeviceDescription"/>
	<!-- CopyDeviceDescription - group -->
	<xs:complexType name="CopyDevices">
		<xs:sequence>
			<xs:element ref="CopyDevice" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- CopyDevices - set of Copy devices -->
	</xs:complexType>
	<xs:complexType name="CopyDevice">
		<xs:sequence>
			<xs:element ref="CopyDeviceStatus"/>
			<xs:element ref="CopyDeviceDescription" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- CopyDevice - object -->
	</xs:complexType>
	<xs:element name="CopyDevices" type="CopyDevices"/>
	<!-- CopyDevices - set of Copy devices -->
	<xs:element name="CopyDevice" type="CopyDevice"/>
	<!-- CopyDevice - object -->
	<xs:complexType name="EmailDeviceStatus">
		<xs:complexContent>
			<xs:extension base="DeviceStatus">
				<xs:sequence>
					<!-- EmailDeviceCounters goes here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailDeviceStatus - group -->
	</xs:complexType>
	<xs:element name="EmailDeviceStatus" type="EmailDeviceStatus"/>
	<!-- EmailDeviceStatus - group -->
	<xs:complexType name="EmailDeviceDescription">
		<xs:complexContent>
			<xs:extension base="DeviceDescription">
				<xs:sequence>
					<!-- Email device description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- EmailDeviceDescription - group -->
	</xs:complexType>
	<xs:element name="EmailDeviceDescription" type="EmailDeviceDescription"/>
	<!-- EmailDeviceDescription - group -->
	<xs:complexType name="EmailDevices">
		<xs:sequence>
			<xs:element ref="EmailDevice" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- EmailDevices - set of Email devices -->
	</xs:complexType>
	<xs:complexType name="EmailDevice">
		<xs:sequence>
			<xs:element ref="EmailDeviceStatus"/>
			<xs:element ref="EmailDeviceDescription" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- EmailDevice - object -->
	</xs:complexType>
	<xs:element name="EmailDevices" type="EmailDevices"/>
	<!-- EmailDevices - set of Email devices -->
	<xs:element name="EmailDevice" type="EmailDevice"/>
	<!-- EmailDevice - object -->
	<xs:complexType name="FaxDeviceStatus">
		<xs:complexContent>
			<xs:extension base="DeviceStatus">
				<xs:sequence>
					<!-- FaxDeviceCounters goes here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- FaxDeviceStatus - group -->
	</xs:complexType>
	<xs:element name="FaxDeviceStatus" type="FaxDeviceStatus"/>
	<!-- FaxDeviceStatus - group -->
	<xs:complexType name="FaxDeviceDescription">
		<xs:complexContent>
			<xs:extension base="DeviceDescription">
				<xs:sequence>
					<!-- Fax device description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- FaxDeviceDescription - group -->
	</xs:complexType>
	<xs:element name="FaxDeviceDescription" type="FaxDeviceDescription"/>
	<!-- FaxDeviceDescription - group -->
	<xs:complexType name="FaxDevices">
		<xs:sequence>
			<xs:element ref="FaxDevice" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- FaxDevices - set of Fax devices -->
	</xs:complexType>
	<xs:complexType name="FaxDevice">
		<xs:sequence>
			<xs:element ref="FaxDeviceStatus"/>
			<xs:element ref="FaxDeviceDescription" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- FaxDevice - object -->
	</xs:complexType>
	<xs:element name="FaxDevices" type="FaxDevices"/>
	<!-- FaxDevices - set of Fax devices -->
	<xs:element name="FaxDevice" type="FaxDevice"/>
	<!-- FaxDevice - object -->
	<xs:complexType name="NetFaxDeviceStatus">
		<xs:complexContent>
			<xs:extension base="DeviceStatus">
				<xs:sequence>
					<!-- NetFaxDeviceCounters goes here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- NetFaxDeviceStatus - group -->
	</xs:complexType>
	<xs:element name="NetFaxDeviceStatus" type="NetFaxDeviceStatus"/>
	<!-- NetFaxDeviceStatus - group -->
	<xs:complexType name="NetFaxDeviceDescription">
		<xs:complexContent>
			<xs:extension base="DeviceDescription">
				<xs:sequence>
					<!-- NetFax device description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- NetFaxDeviceDescription - group -->
	</xs:complexType>
	<xs:element name="NetFaxDeviceDescription" type="NetFaxDeviceDescription"/>
	<!-- NetFaxDeviceDescription - group -->
	<xs:complexType name="NetFaxDevices">
		<xs:sequence>
			<xs:element ref="NetFaxDevice" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- NetFaxDevices - set of NetFax devices -->
	</xs:complexType>
	<xs:complexType name="NetFaxDevice">
		<xs:sequence>
			<xs:element ref="NetFaxDeviceStatus"/>
			<xs:element ref="NetFaxDeviceDescription" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- NetFaxDevice - object -->
	</xs:complexType>
	<xs:element name="NetFaxDevices" type="NetFaxDevices"/>
	<!-- NetFaxDevices - set of NetFax devices -->
	<xs:element name="NetFaxDevice" type="NetFaxDevice"/>
	<!-- NetFaxDevice - object -->
	<xs:complexType name="PrintDeviceStatus">
		<xs:complexContent>
			<xs:extension base="DeviceStatus">
				<xs:sequence>
					<!-- PrintDeviceCounters goes here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- PrintDeviceStatus - group -->
	</xs:complexType>
	<xs:element name="PrintDeviceStatus" type="PrintDeviceStatus"/>
	<!-- PrintDeviceStatus - group -->
	<xs:complexType name="PrintDeviceDescription">
		<xs:complexContent>
			<xs:extension base="DeviceDescription">
				<xs:sequence>
					<!-- Print device description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- PrintDeviceDescription - group -->
	</xs:complexType>
	<xs:element name="PrintDeviceDescription" type="PrintDeviceDescription"/>
	<!-- PrintDeviceDescription - group -->
	<xs:complexType name="PrintDevices">
		<xs:sequence>
			<xs:element ref="PrintDevice" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- PrintDevices - set of Print devices -->
	</xs:complexType>
	<xs:complexType name="PrintDevice">
		<xs:sequence>
			<xs:element ref="PrintDeviceStatus"/>
			<xs:element ref="PrintDeviceDescription" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- PrintDevice - object -->
	</xs:complexType>
	<xs:element name="PrintDevices" type="PrintDevices"/>
	<!-- PrintDevices - set of Print devices -->
	<xs:element name="PrintDevice" type="PrintDevice"/>
	<!-- PrintDevice - object -->
	<xs:complexType name="ScanDeviceStatus">
		<xs:complexContent>
			<xs:extension base="DeviceStatus">
				<xs:sequence>
					<!-- ScanDeviceCounters goes here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- ScanDeviceStatus - group -->
	</xs:complexType>
	<xs:element name="ScanDeviceStatus" type="ScanDeviceStatus"/>
	<!-- ScanDeviceStatus - group -->
	<xs:complexType name="ScanDeviceDescription">
		<xs:complexContent>
			<xs:extension base="DeviceDescription">
				<xs:sequence>
					<!-- Scan device description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- ScanDeviceDescription - group -->
	</xs:complexType>
	<xs:element name="ScanDeviceDescription" type="ScanDeviceDescription"/>
	<!-- ScanDeviceDescription - group -->
	<xs:complexType name="ScanDevices">
		<xs:sequence>
			<xs:element ref="ScanDevice" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- ScanDevices - set of Scan devices -->
	</xs:complexType>
	<xs:complexType name="ScanDevice">
		<xs:sequence>
			<xs:element ref="ScanDeviceStatus"/>
			<xs:element ref="ScanDeviceDescription" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- ScanDevice - object -->
	</xs:complexType>
	<xs:element name="ScanDevices" type="ScanDevices"/>
	<!-- ScanDevices - set of Scan devices -->
	<xs:element name="ScanDevice" type="ScanDevice"/>
	<!-- ScanDevice - object -->
	<xs:complexType name="TransformDeviceStatus">
		<xs:complexContent>
			<xs:extension base="DeviceStatus">
				<xs:sequence>
					<!-- TransformDeviceCounters goes here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformDeviceStatus - group -->
	</xs:complexType>
	<xs:element name="TransformDeviceStatus" type="TransformDeviceStatus"/>
	<!-- TransformDeviceStatus - group -->
	<xs:complexType name="TransformDeviceDescription">
		<xs:complexContent>
			<xs:extension base="DeviceDescription">
				<xs:sequence>
					<!-- Transform device description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- TransformDeviceDescription - group -->
	</xs:complexType>
	<xs:element name="TransformDeviceDescription" type="TransformDeviceDescription"/>
	<!-- TransformDeviceDescription - group -->
	<xs:complexType name="TransformDevices">
		<xs:sequence>
			<xs:element ref="TransformDevice" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- TransformDevices - set of Transform devices -->
	</xs:complexType>
	<xs:complexType name="TransformDevice">
		<xs:sequence>
			<xs:element ref="TransformDeviceStatus"/>
			<xs:element ref="TransformDeviceDescription" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- TransformDevice - object -->
	</xs:complexType>
	<xs:element name="TransformDevices" type="TransformDevices"/>
	<!-- TransformDevices - set of Transform devices -->
	<xs:element name="TransformDevice" type="TransformDevice"/>
	<!-- TransformDevice - object -->
	<xs:complexType name="VendorDeviceStatus">
		<xs:complexContent>
			<xs:extension base="DeviceStatus">
				<xs:sequence>
					<!-- VendorDeviceCounters goes here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- VendorDeviceStatus - group -->
	</xs:complexType>
	<xs:element name="VendorDeviceStatus" type="VendorDeviceStatus"/>
	<!-- VendorDeviceStatus - group -->
	<xs:complexType name="VendorDeviceDescription">
		<xs:complexContent>
			<xs:extension base="DeviceDescription">
				<xs:sequence>
					<!-- Vendor device description references here -->
					<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
		<!-- VendorDeviceDescription - group -->
	</xs:complexType>
	<xs:element name="VendorDeviceDescription" type="VendorDeviceDescription"/>
	<!-- VendorDeviceDescription - group -->
	<xs:complexType name="VendorDevices">
		<xs:sequence>
			<xs:element ref="VendorDevice" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- VendorDevices - set of Vendor devices -->
	</xs:complexType>
	<xs:complexType name="VendorDevice">
		<xs:sequence>
			<xs:element ref="VendorDeviceStatus"/>
			<xs:element ref="VendorDeviceDescription" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- VendorDevice - object -->
	</xs:complexType>
	<xs:element name="VendorDevices" type="VendorDevices"/>
	<!-- VendorDevices - set of Vendor devices -->
	<xs:element name="VendorDevice" type="VendorDevice"/>
	<!-- VendorDevice - object -->
	<!--                           -->
	<!-- device object definitions -->
	<!--                           -->
	<xs:complexType name="Devices">
		<xs:sequence>
			<xs:element ref="CopyDevices" minOccurs="0"/>
			<xs:element ref="EmailDevices" minOccurs="0"/>
			<xs:element ref="FaxDevices" minOccurs="0"/>
			<xs:element ref="NetFaxDevices" minOccurs="0"/>
			<xs:element ref="PrintDevices" minOccurs="0"/>
			<xs:element ref="ScanDevices" minOccurs="0"/>
			<xs:element ref="TransformDevices" minOccurs="0"/>
			<xs:element ref="VendorDevices" minOccurs="0"/>
		</xs:sequence>
		<!-- Devices - set of devices -->
	</xs:complexType>
	<xs:complexType name="Device">
		<xs:choice minOccurs="0">
			<xs:element ref="CopyDevice" minOccurs="0"/>
			<xs:element ref="EmailDevice" minOccurs="0"/>
			<xs:element ref="FaxDevice" minOccurs="0"/>
			<xs:element ref="NetFaxDevice" minOccurs="0"/>
			<xs:element ref="PrintDevice" minOccurs="0"/>
			<xs:element ref="ScanDevice" minOccurs="0"/>
			<xs:element ref="TransformDevice" minOccurs="0"/>
			<xs:element ref="VendorDevice" minOccurs="0"/>
		</xs:choice>
		<!-- Device - object -->
	</xs:complexType>
	<xs:element name="Devices" type="Devices"/>
	<!-- Devices - set of devices -->
	<xs:element name="Device" type="Device"/>
	<!-- Device - object -->
</xs:schema>
