<?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" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" targetNamespace="http://www.pwg.org/schemas/2009/5/sm" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.76">
	<!--05/06/09 PJZ changed Get/Put to Store/Retrieve-->
	<!--04/14/09 PJZ Updated Namespace-->
	<!--02/04/09 PJZ Added Restart operation and added Resource ID to PutResource response-->
	<!--11/06/08 PJZ Removed Pause and Resume-->
	<!--02/04/09 PJZ Fixed Resource Data MTOM attachment-->
	<!--07/11/08 PJZ Changed to Resource-->
	<!--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-->
	<!--PJZ 12/14/07   Updates per 12/11 Face to Face meeting-->
	<!--PJZ 07/09/07    Initial version-->
	<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>
	<xs:include schemaLocation="PwgCommon.xsd"/>
	<xs:include schemaLocation="Subunits.xsd"/>
	<xs:include schemaLocation="PwgWellKnownValues.xsd"/>
	<xs:include schemaLocation="ResourceService.xsd"/>
	<xs:include schemaLocation="PwgAdminOpMsg.xsd"/>
	<xs:import namespace="http://www.w3.org/2004/08/xop/include" schemaLocation="include.xsd"/>
	<xs:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="xmlmime.xsd"/>
	<xs:annotation>
		<xs:documentation xml:lang="en">Operation and Response messages</xs:documentation>
	</xs:annotation>
	<xs:complexType name="DeleteResourceRequestType">
		<xs:sequence>
			<xs:element ref="ResourceCreatorUserName" minOccurs="0"/>
			<xs:element ref="ResourceId"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DeleteResourceRequest" type="DeleteResourceRequestType"/>
	<xs:complexType name="DeleteResourceResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DeleteResourceResponse" type="DeleteResourceResponseType"/>
	<xs:element name="DisableResourceServiceRequest" type="DisableServiceRequestType"/>
	<xs:element name="DisableResourceServiceResponse" type="DisableServiceResponseType"/>
	<xs:element name="EnableResourceServiceRequest" type="EnableServiceRequestType"/>
	<xs:element name="EnableResourceServiceResponse" type="EnableServiceResponseType"/>
	<xs:complexType name="GetResourceServiceElementsRequestType">
		<xs:sequence>
			<xs:element ref="ResourceCreatorUserName" minOccurs="0"/>
			<xs:element ref="RequestedElements" minOccurs="0"/>
			<xs:element ref="NaturalLanguage" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetResourceServiceElementsRequest" type="GetResourceServiceElementsRequestType"/>
	<xs:complexType name="GetResourceServiceElementsResponseType">
		<xs:sequence>
			<xs:element name="ResourceServiceCapability" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="NaturalLanguageSupported" minOccurs="0" maxOccurs="unbounded"/>
						<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element ref="ResourceServiceConfiguration" minOccurs="0"/>
			<xs:element ref="ResourceServiceDescription" minOccurs="0"/>
			<xs:element ref="ResourceServiceStatus" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<!-- ResourceService - object -->
	</xs:complexType>
	<xs:element name="GetResourceServiceElementsResponse" type="GetResourceServiceElementsResponseType"/>
	<xs:complexType name="GetResourceElementsRequestType">
		<xs:sequence>
			<xs:element ref="ResourceCategory" minOccurs="0"/>
			<xs:element ref="ResourceCreatorUserName" minOccurs="0"/>
			<xs:element ref="RequestedElements" minOccurs="0"/>
			<xs:element ref="ResourceId"/>
			<xs:element ref="ResourceType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="GetResourceElementsRequest" type="GetResourceElementsRequestType"/>
	<xs:complexType name="GetResourceElementsResponseType">
		<xs:sequence>
			<xs:element ref="ResourceDescription" minOccurs="0"/>
			<xs:element ref="ResourceStatus" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:complexType>
	<xs:element name="GetResourceElementsResponse" type="GetResourceElementsResponseType"/>
	<xs:complexType name="ResourceSummaryType">
		<xs:sequence>
			<xs:element ref="ResourceCategory" minOccurs="0"/>
			<xs:element name="ResourceFormat" minOccurs="0">
				<xs:complexType>
					<xs:choice>
						<xs:element ref="ResourceNamespace"/>
						<xs:element ref="DocumentFormat"/>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element ref="ResourceId"/>
			<xs:element ref="ResourceName"/>
			<xs:element ref="ResourceType"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ListResourcesRequestType">
		<xs:sequence>
			<xs:element ref="ResourceCreatorUserName" minOccurs="0"/>
			<xs:element ref="ResourceCategory" minOccurs="0"/>
			<xs:element ref="ResourceName" minOccurs="0"/>
			<xs:element ref="ResourceType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ListResourcesRequest" type="ListResourcesRequestType"/>
	<xs:complexType name="ListResourcesResponseType">
		<xs:sequence>
			<xs:element name="ResourceList" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ResourceSummary" type="ResourceSummaryType" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ListResourcesResponse" type="ListResourcesResponseType"/>
	<xs:complexType name="RenewResourceRequestType">
		<xs:sequence>
			<xs:element ref="ResourceId"/>
			<xs:element ref="DateTimeOfExpiration"/>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="RenewResourceRequest" type="RenewResourceRequestType"/>
	<xs:complexType name="RenewResourceResponseType">
		<xs:sequence>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="RenewResourceResponse" type="RenewResourceResponseType"/>
	<xs:complexType name="ReplaceResourceRequestType">
		<xs:sequence>
			<xs:element ref="ResourceDescription"/>
			<xs:element ref="ResourceId"/>
			<xs:element ref="ResourceData"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ReplaceResourceRequest" type="ReplaceResourceRequestType"/>
	<xs:complexType name="ReplaceResourceResponseType">
		<xs:sequence>
			<xs:element ref="UnsupportedElements" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="ReplaceResourceResponse" type="ReplaceResourceResponseType"/>
	<xs:element name="ResourceData" type="xs:base64Binary"/>
	<xs:element name="RestartResourceServiceRequest" type="RestartServiceRequestType"/>
	<xs:element name="RestartResourceServiceResponse" type="RestartServiceResponseType"/>
	<xs:complexType name="RetrieveResourceRequestType">
		<xs:sequence>
			<xs:element ref="ResourceCreatorUserName" minOccurs="0"/>
			<xs:element ref="ResourceId"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="RetrieveResourceRequest" type="RetrieveResourceRequestType"/>
	<xs:complexType name="RetrieveResourceResponseType">
		<xs:sequence>
			<xs:element ref="ResourceDescription"/>
			<xs:element ref="ResourceData"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="RetrieveResourceResponse" type="RetrieveResourceResponseType"/>
	<xs:complexType name="SetResourceElementsRequestType">
		<xs:sequence>
			<xs:element ref="ResourceId"/>
			<xs:element ref="ResourceDescription"/>
			<xs:any namespace="##other" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="SetResourceElementsRequest" type="SetResourceElementsRequestType"/>
	<xs:complexType name="SetResourceElementsResponseType">
		<xs:sequence>
			<xs:element ref="UnsupportedElements" minOccurs="0"/>
			<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="SetResourceElementsResponse" type="SetResourceElementsResponseType"/>
	<xs:element name="ShutdownResourceServiceResponse" type="ShutdownServiceResponseType"/>
	<xs:element name="ShutdownResourceServiceRequest" type="ShutdownServiceRequestType"/>
	<xs:element name="StartupResourceServiceRequest" type="StartupServiceRequestType"/>
	<xs:element name="StartupResourceServiceResponse" type="StartupServiceResponseType"/>
	<xs:complexType name="StoreResourceRequestType">
		<xs:sequence>
			<xs:element ref="ResourceDescription"/>
			<xs:element ref="ResourceData"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="StoreResourceRequest" type="StoreResourceRequestType"/>
	<xs:complexType name="StoreResourceResponseType">
		<xs:sequence>
			<xs:element ref="ResourceId"/>
			<xs:element ref="UnsupportedElements" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="StoreResourceResponse" type="StoreResourceResponseType"/>
</xs:schema>

