<?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_PolicyActionStructure" 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_PolicyActionStructure">
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common" schemaLocation="http://schemas.dmtf.org/wbem/wscim/1/common.xsd"/>
<xs:element name="GroupComponent" type="cim:cimReference">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Aggregate" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Override" type="cim:cimString">GroupComponent</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">PolicyAction instances may be aggregated into either PolicyRule instances or CompoundPolicyAction instances.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_PolicyActionStructure"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="PartComponent" type="cim:cimReference">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Override" type="cim:cimString">PartComponent</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">A PolicyAction aggregated by a PolicyRule or CompoundPolicyAction.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_PolicyActionStructure"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ActionOrder" nillable="true" type="cim:cimUnsignedShort">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">ActionOrder is an unsigned integer 'n' that indicates the relative position of a PolicyAction in the sequence of actions associated with a PolicyRule or CompoundPolicyAction. When 'n' is a positive integer, it indicates a place in the sequence of actions to be performed, with smaller integers indicating earlier positions in the sequence. The special value '0' indicates 'don't care'. If two or more PolicyActions have the same non-zero sequence number, they may be performed in any order, but they must all be performed at the appropriate place in the overall action sequence. 

A series of examples will make ordering of PolicyActions clearer: 
o If all actions have the same sequence number, regardless of whether it is '0' or non-zero, any order is acceptable. 
o The values: 
1:ACTION A 
2:ACTION B 
1:ACTION C 
3:ACTION D 
indicate two acceptable orders: A,C,B,D or C,A,B,D, 
since A and C can be performed in either order, but only at the '1' position. 
o The values: 
0:ACTION A 
2:ACTION B 
3:ACTION C 
3:ACTION D 
require that B,C, and D occur either as B,C,D or as B,D,C. Action A may appear at any point relative to B, C, and D. Thus the complete set of acceptable orders is: A,B,C,D; B,A,C,D; B,C,A,D; B,C,D,A; A,B,D,C; B,A,D,C; B,D,A,C; B,D,C,A. 

Note that the non-zero sequence numbers need not start with '1', and they need not be consecutive. All that matters is their relative magnitude.</cim:Qualifier>
<cim:Classorigin name="CIM_PolicyActionStructure"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CIM_PolicyActionStructure" type="class:CIM_PolicyActionStructure_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_PolicyActionStructure" superclass="CIM_PolicyComponent"/>
<cim:Qualifier name="Association" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Abstract" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Aggregation" 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::Policy</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">PolicyActions may be aggregated into rules and into compound actions. PolicyActionStructure is the abstract aggregation class for the structuring of policy actions.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_PolicyActionStructure_Type">
<xs:sequence>
<xs:element minOccurs="0" ref="class:ActionOrder"/>
<xs:element ref="class:GroupComponent"/>
<xs:element ref="class:PartComponent"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
