<?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_QoSSubService" 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_QoSSubService">
<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="Max" type="cim:cimUnsignedInt">1</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The higher level QoSService that is constructed by aggregating one or more lower-level QoSServices.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_QoSSubService"/>
</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">The more concrete QoSService that is used to provide the higher level Service.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_QoSSubService"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CIM_QoSSubService" type="class:CIM_QoSSubService_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_QoSSubService" superclass="CIM_ServiceComponent"/>
<cim:Qualifier name="Association" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Aggregation" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Composition" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Version" type="cim:cimString">2.7.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Network::QoS</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The associations - QoSSubService and QoSConditioningSub Service - operate in conjunction. High level QoS definitions, such as 'John gets Gold Service', map to lower level, more concrete QoSServices (the subclasses of QoSService). This is described by the QoSSubService association. In turn, each of the SubServices may require their own conditioning. This is modeled using the QoSConditioningSubService aggregation. 

Note that a more concrete QoSService may only be aggregated into one higher level Service, using this association. The cardinality on the GroupComponent reference is Max (1).</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_QoSSubService_Type">
<xs:sequence>
<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>
