SMASH CLI Command Response XML Schema

Command Response XML Schema (unofficial display version)
Server Management Command Line Protocol Specification (SM CLP)
Reference: DSP0214
Extracted from Spec 'DSP0214' Appendix B: Command Response schema
See: http://www.dmtf.org/standards/smash/DSP0214.pdf and the DMTF SMASH reference page.


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.dmtf.org/smash/2005/01/clpxml"
targetNamespace="http://www.dmtf.org/smash/2005/01/clpxml"
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="instanceassociationtype">
<xs:annotation>
<xs:documentation>A Managed Element instance container for an
Association</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ufit" type="ufittype"/>
<xs:element name="ufip" type="ufiptype"/>
<xs:element name="associations" type="associationcollectiontype"/>
</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: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: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="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: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: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: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: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: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: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: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: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: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: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: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: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="text">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="help" type="helptexttype"/>
<xs:element name="examine" type="examinetexttype"/>
</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="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="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">
<xs:complexType>
<xs:sequence>
<xs:element name="val"/>
<xs:element name="valstring"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<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:element name="value" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element
name="val"/>
<xs:element
name="valstring" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</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:enumeration value="string array"/>
</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>