<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:class="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ActionSequence" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" targetNamespace="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ActionSequence">
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common" schemaLocation="http://schemas.dmtf.org/wbem/wscim/1/common.xsd"/>
<xs:element name="Next" type="cim:cimReference">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Max" type="cim:cimUnsignedInt">1</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The next Action in the sequence.</cim:Qualifier>
<cim:Classorigin name="CIM_ActionSequence"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Prior" type="cim:cimReference">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Max" type="cim:cimUnsignedInt">1</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The previous Action in the sequence.</cim:Qualifier>
<cim:Classorigin name="CIM_ActionSequence"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CIM_ActionSequence" type="class:CIM_ActionSequence_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_ActionSequence"/>
<cim:Qualifier name="Association" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Version" type="cim:cimString">2.6.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Application::CheckAction</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The CIM_ActionSequence association defines a series of operations that either transition a SoftwareElement, referenced by the CIM_SoftwareElementActions association, to the next state or removes the element from its current state. The Action classes participating in this association must have the same value for the Action.Direction property - since they are either part of a sequence to transition a SoftwareElement into its next state or to uninstall it. The next-state and uninstall Actions associated with a particular SoftwareElement must be a continuous sequence. 
ActionSequence is an association that loops on the Action classes with roles for the 'prior' and 'next' Actions in the sequence. The need for a continuous sequence imples: (1)Within the set of next-state or uninstall Actions, there is one and only one Action that does not have an instance of ActionSequence referencing it in the 'next' role. This is the first Action in the sequence. (2) Within the set of next-state or uninstall Actions, there is one and only one Action that does not have an instance of ActionSequence referencing it in the 'prior' role. This is the last Action in the sequence. (3) All other Actions within the set of next-state and uninstall Actions must participate in two instances of ActionSequence, one in a 'prior' role and the other in the 'next' role.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_ActionSequence_Type">
<xs:sequence>
<xs:element ref="class:Next"/>
<xs:element ref="class:Prior"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
