<?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_PolicyActionInPolicyRule" 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_PolicyActionInPolicyRule">
<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">This property represents the PolicyRule that contains one or more PolicyActions.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_PolicyActionInPolicyRule"/>
</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">This property holds the name of a PolicyAction contained by one or more PolicyRules.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_PolicyActionInPolicyRule"/>
</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_PolicyActionInPolicyRule" type="class:CIM_PolicyActionInPolicyRule_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_PolicyActionInPolicyRule" superclass="CIM_PolicyActionStructure"/>
<cim:Qualifier name="Association" 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">A PolicyRule aggregates zero or more instances of the PolicyAction class, via the PolicyActionInPolicyRule association. A Rule that aggregates zero Actions is not valid--it may, however, be in the process of being entered into a PolicyRepository or being defined for a System. Alternately, the actions of the policy may be explicit in the definition of the PolicyRule. Note that a PolicyRule should have no effect until it is valid. 

The Actions associated with a PolicyRule may be given a required order, a recommended order, or no order at all. For Actions represented as separate objects, the PolicyActionInPolicyRule aggregation can be used to express an order. 

This aggregation does not indicate whether a specified action order is required, recommended, or of no significance; the property SequencedActions in the aggregating instance of PolicyRule provides this indication.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_PolicyActionInPolicyRule_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>
