<?xml version="1.0" encoding="UTF-8"?>
<!-- 
Notice 
dsp0224 
Document: SM CLP Command Response XML Schema
Version: 1.0.0
Status: Final
Date: 03/02/2006
Author: Aaron Merkin
Description: XML schema specification for SM CLP clpxml Command Response.

Copyright © 2006 Distributed Management Task Force, Inc. (DMTF). All rights reserved. DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems management and interoperability. Members and non-members may reproduce DMTF specifications and documents for uses consistent with this purpose, provided that correct attribution is given. As DMTF specifications may be revised from time to time, the particular version and release date should always be noted. Implementation of certain elements of this standard or proposed standard may be subject to third party patent rights, including provisional patent rights (herein "patent rights"). DMTF makes no representations to users of the standard as to the existence of such rights, and is not responsible to recognize, disclose, or identify any or all such third party patent right, owners or claimants, nor for any incomplete or inaccurate identification or disclosure of such rights, owners or claimants. DMTF shall have no liability to any party, in any manner or circumstance, under any legal theory whatsoever, for failure to recognize, disclose, or identify any such third party patent rights, or for such party’s reliance on the standard or incorporation thereof in its product, protocols or testing procedures. DMTF shall have no liability to any party implementing such standard, whether such implementation is foreseeable or not, nor to any patent owner or claimant, and shall have no liability or responsibility for costs or losses incurred if a standard is withdrawn or modified after publication, and shall be indemnified and held harmless by any party implementing the standard from any and all claims of infringement by a patent owner for such implementations. For information about patents held by third-parties which have notified the DMTF that, in their opinion, such patent may relate to or impact implementations of DMTF standards, visit http://www.dmtf.org/about/policies/disclosures.php.

Change Requests: 
	None
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.dmtf.org/smash/commandresponse/1.0.0/dsp0224.xsd" targetNamespace="http://schemas.dmtf.org/smash/commandresponse/1.0.0/dsp0224.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="response">
		<xs:annotation>
			<xs:documentation>Wrapper element containing an entire command response. This is the Command Response data element.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="command" type="commandinputtype"/>
				<xs:element name="cmdstat" type="commandstattype"/>
				<xs:choice minOccurs="0">
					<xs:element name="cd" type="cdresultstype"/>
					<xs:element name="create" type="createresultstype"/>
					<xs:element name="delete" type="deleteresultstype"/>
					<xs:element name="dump" type="dumpresultstype"/>
					<xs:element name="exit" type="exitresultstype"/>
					<xs:element name="help" type="helpresultstype"/>
					<xs:element name="load" type="loadresultstype"/>
					<xs:element name="reset" type="resetresultstype"/>
					<xs:element name="set" type="setresultstype"/>
					<xs:element name="show" type="showresultstype"/>
					<xs:element name="start" type="startresultstype"/>
					<xs:element name="stop" type="stopresultstype"/>
					<xs:element name="version" type="versionresultstype"/>
					<xs:element name="oemverb" type="oemverbresultstype"/>
				</xs:choice>
				<xs:element name="oemdata" type="oemdatatype" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="messagetype">
		<xs:annotation>
			<xs:documentation>The Message data element.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="owningentity"/>
			<xs:element name="messageid"/>
			<xs:element name="messagetext" minOccurs="0"/>
			<xs:element name="messagearg" type="messageargtype" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="messageargtype">
		<xs:annotation>
			<xs:documentation>Message Argument property</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="index"/>
			<xs:element name="value"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="messagestype">
		<xs:annotation>
			<xs:documentation>Collection of Message data elements</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="message" type="messagetype" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="instancereferencetype">
		<xs:annotation>
			<xs:documentation>A complexType that just contains the ufit and ufip elements of an instance.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ufit" type="ufittype"/>
			<xs:element name="ufip" type="ufiptype"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="instancepropertytype">
		<xs:annotation>
			<xs:documentation>A Managed Element instance and its properties.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ufit" type="ufittype"/>
			<xs:element name="ufip" type="ufiptype"/>
			<xs:element name="properties" type="propertycollectiontype"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="instancetype">
		<xs:annotation>
			<xs:documentation>A complexType that contains the ufit, ufip, properties, and verbs elements that an instance element can contain.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ufit" type="ufittype"/>
			<xs:element name="ufip" type="ufiptype"/>
			<xs:element name="properties" type="propertycollectiontype" minOccurs="0"/>
			<xs:element name="associations" type="associationcollectiontype" minOccurs="0"/>
			<xs:element name="verbs" type="verblisttype" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="commandinputtype">
		<xs:annotation>
			<xs:documentation>Describes the command that was processed.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="inputline">
				<xs:annotation>
					<xs:documentation>Simple text string echoing the input line.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="operationtype">
		<xs:annotation>
			<xs:documentation>Job data element.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="job_id" type="jobidtype"/>
			<xs:element name="joberr" type="joberrtype" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="commandstattype">
		<xs:annotation>
			<xs:documentation>The command status element.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="status" type="statustype">
				<xs:annotation>
					<xs:documentation>Command Status data element</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="status_tag" type="statustagtype" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Command Status Tag data element</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:sequence minOccurs="0">
				<xs:element name="error" type="errortype">
					<xs:annotation>
						<xs:documentation>One of error values from the Processing Error Values and Tags table</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="error_tag" type="errortagtype" minOccurs="0">
					<xs:annotation>
						<xs:documentation>The error_tag value from the Processing Error Values and Tags table which corresponds to the error value above.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="messages" type="messagestype" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="job" type="operationtype" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="statustype">
		<xs:restriction base="xs:int">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="2"/>
			<xs:enumeration value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="statustagtype">
		<xs:restriction base="xs:string">
			<xs:enumeration value="COMMAND COMPLETED"/>
			<xs:enumeration value="COMMAND SPAWNED"/>
			<xs:enumeration value="COMMAND PROCESSING FAILED"/>
			<xs:enumeration value="COMMAND EXECUTION FAILED"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="errortype">
		<xs:restriction base="xs:int">
			<xs:enumeration value="255"/>
			<xs:enumeration value="254"/>
			<xs:enumeration value="253"/>
			<xs:enumeration value="252"/>
			<xs:enumeration value="251"/>
			<xs:enumeration value="250"/>
			<xs:enumeration value="249"/>
			<xs:enumeration value="248"/>
			<xs:enumeration value="247"/>
			<xs:enumeration value="246"/>
			<xs:enumeration value="245"/>
			<xs:enumeration value="244"/>
			<xs:enumeration value="243"/>
			<xs:enumeration value="242"/>
			<xs:enumeration value="241"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="errortagtype">
		<xs:restriction base="xs:string">
			<xs:enumeration value="COMMAND ERROR - UNSPECIFIED"/>
			<xs:enumeration value="COMMAND NOT SUPPORTED"/>
			<xs:enumeration value="COMMAND NOT RECOGNIZED"/>
			<xs:enumeration value="COMMAND SYNTAX ERROR"/>
			<xs:enumeration value="INVALID OPTION"/>
			<xs:enumeration value="INVALID ARGUMENT"/>
			<xs:enumeration value="OUTPUT FORMAT NOT SUPPORTED"/>
			<xs:enumeration value="MISSING ARGUMENT"/>
			<xs:enumeration value="OPTION NOT SUPPORTED"/>
			<xs:enumeration value="INVALID TARGET"/>
			<xs:enumeration value="REQUIRED OPTION MISSING"/>
			<xs:enumeration value="QUEUE FULL"/>
			<xs:enumeration value="UNRECOGNIZED OEM EXTENSION"/>
			<xs:enumeration value="MISSING REQUIRED TARGET"/>
			<xs:enumeration value="FUNCTION NOT SUPPORTED"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="joberrtype">
		<xs:annotation>
			<xs:documentation>The operation error element</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="errtype">
				<xs:annotation>
					<xs:documentation>Execution Error data element</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:int">
						<xs:enumeration value="0"/>
						<xs:enumeration value="1"/>
						<xs:enumeration value="2"/>
						<xs:enumeration value="3"/>
						<xs:enumeration value="4"/>
						<xs:enumeration value="5"/>
						<xs:enumeration value="6"/>
						<xs:enumeration value="7"/>
						<xs:enumeration value="8"/>
						<xs:enumeration value="9"/>
						<xs:enumeration value="10"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="errtype_desc" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Execution Error Tag data element</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="Unknown"/>
						<xs:enumeration value="Other"/>
						<xs:enumeration value="Communications Error"/>
						<xs:enumeration value="Quality of Service Error"/>
						<xs:enumeration value="Software Error"/>
						<xs:enumeration value="Hardware Error"/>
						<xs:enumeration value="Environmental Error"/>
						<xs:enumeration value="Security Error"/>
						<xs:enumeration value="Oversubscription Error"/>
						<xs:enumeration value="Unavailable Resource Error"/>
						<xs:enumeration value="Unsupported Operation Error"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="cimstat">
				<xs:annotation>
					<xs:documentation>CIM Status data element</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:int">
						<xs:enumeration value="1"/>
						<xs:enumeration value="2"/>
						<xs:enumeration value="3"/>
						<xs:enumeration value="4"/>
						<xs:enumeration value="5"/>
						<xs:enumeration value="6"/>
						<xs:enumeration value="7"/>
						<xs:enumeration value="8"/>
						<xs:enumeration value="9"/>
						<xs:enumeration value="10"/>
						<xs:enumeration value="11"/>
						<xs:enumeration value="12"/>
						<xs:enumeration value="13"/>
						<xs:enumeration value="14"/>
						<xs:enumeration value="15"/>
						<xs:enumeration value="16"/>
						<xs:enumeration value="17"/>
						<xs:enumeration value="18"/>
						<xs:enumeration value="19"/>
						<xs:enumeration value="20"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="cimstat_desc" minOccurs="0">
				<xs:annotation>
					<xs:documentation>CIM Status Description data element</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="CIM_ERR_FAILED"/>
						<xs:enumeration value="CIM_ERR_ACCESS_DENIED"/>
						<xs:enumeration value="CIM_ERR_INVALID_NAMESPACE"/>
						<xs:enumeration value="CIM_ERR_INVALID_PARAMETER"/>
						<xs:enumeration value="CIM_ERR_INVALID_CLASS"/>
						<xs:enumeration value="CIM_ERR_NOT_FOUND"/>
						<xs:enumeration value="CIM_ERR_NOT_SUPPORTED"/>
						<xs:enumeration value="CIM_ERR_CLASS_HAS_CHILDREN"/>
						<xs:enumeration value="CIM_ERR_CLASS_HAS_INSTANCES"/>
						<xs:enumeration value="CIM_ERR_INVALID_SUPERCLASS"/>
						<xs:enumeration value="CIM_ERR_ALREADY_EXISTS"/>
						<xs:enumeration value="CIM_ERR_NO_SUCH_PROPERTY"/>
						<xs:enumeration value="CIM_ERR_MISMATCH"/>
						<xs:enumeration value="CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED"/>
						<xs:enumeration value="CIM_ERR_INVALID_QUERY"/>
						<xs:enumeration value="CIM_ERR_METHOD_NOT_AVAILABLE"/>
						<xs:enumeration value="CIM_ERR_METHOD_NOT_FOUND"/>
						<xs:enumeration value="CIM_ERR_UNEXPECTED_RESPONSE"/>
						<xs:enumeration value="CIM_ERR_INVALID_RESPONSE_DESTINATION"/>
						<xs:enumeration value="CIM_ERR_NAMESPACE_NOT_EMPTY"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="severity">
				<xs:annotation>
					<xs:documentation>Severity data element</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:int">
						<xs:enumeration value="0"/>
						<xs:enumeration value="2"/>
						<xs:enumeration value="3"/>
						<xs:enumeration value="4"/>
						<xs:enumeration value="5"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="severity_desc" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Severity Description data element</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="Unknown"/>
						<xs:enumeration value="Low"/>
						<xs:enumeration value="Medium"/>
						<xs:enumeration value="High"/>
						<xs:enumeration value="Fatal"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="probcause" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Probable Cause data element</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:int">
						<xs:minInclusive value="0"/>
						<xs:maxInclusive value="130"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="probcause_desc" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Probable Cause Description data element</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="recmdaction" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Recommended Action property</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="errsource" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Error Source property</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="errsourceform" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Error Source Form property</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="errsourceform_desc" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Error Source Form property</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="messages" type="messagestype" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Message Data Element</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="jobidtype">
		<xs:annotation>
			<xs:documentation>Operation Id data element</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
	
	Start per-command results types
	
	-->
	<xs:complexType name="verbresultstype">
		<xs:choice>
			<xs:sequence>
				<xs:element name="ufip" type="ufiptype"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="cdresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a cd command.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:sequence>
				<xs:element name="ufip" type="ufiptype"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="createresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a create command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="instance" type="instancepropertytype" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="deleteresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a delete command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="target" type="targetreferencetype" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="dumpresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a dump command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="source" type="sourcetype"/>
				<xs:element name="destination" type="destinationtype"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="exitresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to an exit command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="help" type="helptexttype"/>
				<xs:element name="examine" type="examinetexttype"/>
				<xs:element name="version" type="versionoptiontype"/>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="helpresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a help command.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="text" type="texttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="loadresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a load command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="source" type="sourcetype"/>
				<xs:element name="destination" type="destinationtype"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="resetresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a reset command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="instance" type="instancereferencetype"/>
				<xs:element name="timestamp" type="datetime" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="setresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a set command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:element name="association" type="associationtype"/>
			<xs:element name="instance" type="instancepropertytype"/>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="showresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a show command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="target" type="targetfullinstancetype" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="startresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a start command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="instance" type="instancereferencetype"/>
				<xs:element name="timestamp" type="datetime" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="stopresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a stop command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:sequence>
				<xs:element name="instance" type="instancereferencetype"/>
				<xs:element name="timestamp" type="datetime" minOccurs="0"/>
			</xs:sequence>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="versionresultstype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a version command.</xs:documentation>
		</xs:annotation>
		<xs:choice minOccurs="0">
			<xs:element name="clpversion">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="addressingversion"/>
			<xs:element name="help" type="helptexttype"/>
			<xs:element name="examine" type="examinetexttype"/>
			<xs:element name="version" type="versionoptiontype"/>
		</xs:choice>
	</xs:complexType>
	<!--
	Start per-option, option argument results types
	These are for elements that are included in results because the corresponding option or option arg
	was included on the command line
	-->
	<xs:complexType name="examinetexttype">
		<xs:annotation>
			<xs:documentation>element returned when the examine option is used with a command.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="text" type="texttype"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="versionoptiontype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a verb when the version option is specified.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="clpversion" type="texttype"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="helptexttype">
		<xs:annotation>
			<xs:documentation>The element contained in the response to a help command or use of help option on another command.</xs:documentation>
		</xs:annotation>
		<xs:all>
			<xs:element name="text" type="texttype"/>
		</xs:all>
	</xs:complexType>
	<xs:simpleType name="texttype">
		<xs:annotation>
			<xs:documentation>Vendor owns all content contained in this element.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="propertycollectiontype">
		<xs:annotation>
			<xs:documentation>A group of property elements.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="property" type="propertytype" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="propertyvaluecmplxtype">
		<xs:sequence>
			<xs:element name="val"/>
			<xs:element name="valstring" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="propertytype">
		<xs:annotation>
			<xs:documentation>A property of a managed element.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="name">
				<xs:annotation>
					<xs:documentation>desc:  user friendly property name, req:</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:choice>
				<xs:element name="value" type="propertyvaluecmplxtype"/>
				<xs:element name="multivalue">
					<xs:annotation>
						<xs:documentation>Used to represent arrays.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:annotation>
							<xs:documentation>ordering of value elements corresponds to ordering in array</xs:documentation>
						</xs:annotation>
						<xs:sequence>
							<xs:sequence minOccurs="0" maxOccurs="unbounded">
								<xs:element name="index">
									<xs:simpleType>
										<xs:restriction base="xs:integer">
											<xs:minInclusive value="0"/>
										</xs:restriction>
									</xs:simpleType>
								</xs:element>
								<xs:element name="value" type="propertyvaluecmplxtype"/>
							</xs:sequence>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:choice>
			<xs:element name="type" type="proptype" minOccurs="0"/>
			<xs:element name="description" type="xs:string" minOccurs="0"/>
			<xs:element name="readonly" type="xs:boolean" minOccurs="0"/>
			<xs:element name="maxlen" type="xs:int" minOccurs="0"/>
			<xs:element name="maxvalue" type="xs:int" minOccurs="0"/>
			<xs:element name="minvalue" type="xs:int" minOccurs="0"/>
			<xs:element name="units" type="xs:string" minOccurs="0"/>
			<xs:element name="valuemap" minOccurs="0">
				<xs:simpleType>
					<xs:list itemType="xs:string"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="values" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="verblisttype">
		<xs:annotation>
			<xs:documentation>Defines ability to list standard clp verbs followed by oem verbs</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="standardverbs" minOccurs="0">
				<xs:simpleType>
					<xs:list itemType="clpverbenum"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="oemverbs" minOccurs="0">
				<xs:simpleType>
					<xs:list itemType="xs:string"/>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="targetreferencetype">
		<xs:annotation>
			<xs:documentation>Effectively pointer to an instance and an array of contained targets.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="instance" type="instancereferencetype"/>
			<xs:element name="target" type="targetreferencetype" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="targetfullinstancetype">
		<xs:annotation>
			<xs:documentation>Effectively pointer to an instance and an array of contained targets.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="instance" type="instancetype"/>
			<xs:element name="target" type="targetfullinstancetype" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="destinationtype">
		<xs:annotation>
			<xs:documentation>identifying element for a destination</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="ufip" type="ufiptype"/>
			<xs:element name="uri" type="uritype"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="sourcetype">
		<xs:annotation>
			<xs:documentation>identifying element for a source</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="ufip" type="ufiptype"/>
			<xs:element name="uri" type="uritype"/>
		</xs:choice>
	</xs:complexType>
	<xs:simpleType name="proptype">
		<xs:annotation>
			<xs:documentation>xs:simpleType that defines enumeration of values for a property element</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="uint8"/>
			<xs:enumeration value="sint8"/>
			<xs:enumeration value="uint16"/>
			<xs:enumeration value="sint16"/>
			<xs:enumeration value="uint32"/>
			<xs:enumeration value="sint32"/>
			<xs:enumeration value="uint64"/>
			<xs:enumeration value="sint64"/>
			<xs:enumeration value="boolean"/>
			<xs:enumeration value="real32"/>
			<xs:enumeration value="real64"/>
			<xs:enumeration value="datetime"/>
			<xs:enumeration value="string"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="oemverbresultstype">
		<xs:annotation>
			<xs:documentation>placeholder element to allow vendor to insert responses to an oem verb</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="verbname">
				<xs:annotation>
					<xs:documentation>force vendor to provide at least the verbname</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:element name="oemdata" type="oemdatatype"/>
				<xs:element name="help" type="helptexttype"/>
				<xs:element name="examine" type="examinetexttype"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="assocreferencetype">
		<xs:annotation>
			<xs:documentation>Reference to a ME in an assocation.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<!-- AEM I think this should just be a ufip.  The association is the subject of this element, not an instance -->
			<xs:element name="instance" type="instancereferencetype"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="associationtype">
		<xs:annotation>
			<xs:documentation>Type for an association.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ufct" type="ufcttype"/>
			<xs:element name="reference" type="assocreferencetype" minOccurs="2" maxOccurs="2"/>
			<xs:element name="properties" type="propertycollectiontype" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="associationcollectiontype">
		<xs:annotation>
			<xs:documentation>group element for associations</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="association" type="associationtype" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="uritype">
		<xs:annotation>
			<xs:documentation>These values MUST comply with RFC2396.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ufcttype">
		<xs:annotation>
			<xs:documentation>User Friendly class Tag</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="oemdatatype" mixed="true">
		<xs:annotation>
			<xs:documentation>Completely free-form output.  Vendor owns all content contained in this element.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="clpverbenum">
		<xs:annotation>
			<xs:documentation>Enumeration of the CLP defined verbs.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="create"/>
			<xs:enumeration value="delete"/>
			<xs:enumeration value="dump"/>
			<xs:enumeration value="show"/>
			<xs:enumeration value="set"/>
			<xs:enumeration value="load"/>
			<xs:enumeration value="help"/>
			<xs:enumeration value="reset"/>
			<xs:enumeration value="stop"/>
			<xs:enumeration value="start"/>
			<xs:enumeration value="version"/>
			<xs:enumeration value="exit"/>
			<xs:enumeration value="oemverb"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="datetime">
		<xs:annotation>
			<xs:documentation>Restriction for CIM datetime formatted property.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{14}.[0-9]{6}[+-:][0-9]{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ufiptype">
		<xs:annotation>
			<xs:documentation>User Friendly instance Path element.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="((/(([a-z])+([0-9])+)?)|(/(([a-z])+([0-9])+)(/([a-z])+([0-9])+)*))"/>
			<!--  -->
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ufittype">
		<xs:annotation>
			<xs:documentation>Type for the ufit element</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="ufitsimpletype">
				<xs:attributeGroup ref="ufitattrs"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:attributeGroup name="ufitattrs">
		<xs:annotation>
			<xs:documentation>Attribute group for the UFiT element.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="ufct" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="([a-z])+"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="instance" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="([0-9])+"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:simpleType name="ufitsimpletype">
		<xs:annotation>
			<xs:documentation>Force the content of UFiT to be minimum length one</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:pattern value="([a-z])+([0-9])+"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
