<?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_SoftwareElementServiceImplementation" 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_SoftwareElementServiceImplementation">
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common" schemaLocation="http://schemas.dmtf.org/wbem/wscim/1/common.xsd"/>
<xs:element name="Antecedent" type="cim:cimReference">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Override" type="cim:cimString">Antecedent</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The executable SoftwareElement implementing the Service.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_SoftwareElementServiceImplementation"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Dependent" type="cim:cimReference">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Override" type="cim:cimString">Dependent</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The Service implemented by the SoftwareElement.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_SoftwareElementServiceImplementation"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CIM_SoftwareElementServiceImplementation" type="class:CIM_SoftwareElementServiceImplementation_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_SoftwareElementServiceImplementation" superclass="CIM_Dependency"/>
<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::DeploymentModel</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">An association between a Service and how it is implemented by one or more executable SoftwareElements. Note that this association is restricted to 'executable' Elements. In earlier phases of deployment, the SoftwareFeatureService Implementation association is adequate and recommended. 
The relationship between this association and Software FeatureServiceImplementation is more fully described here. SoftwareElementServiceImplementation allows the description of greater granularity than SoftwareFeatureService Implementation, when a SoftwareFeature is fully deployed and results in several executable Elements. These Elements may implement several different Services. 
Since SoftwareFeatures decompose into SoftwareElements, it is possible to describe how software implements a Service by using either this association or the SoftwareFeature ServiceImplementation relationship. One or the other should be chosen. Both associations should not be used for a single Service instance, since their information is redundant. 
This relationship is especially important when the SoftwareFeature and Product aspects are not described for a SoftwareElement (ie, when the acquisition and deployment of the software is not detailed). In this case, the Software ElementServiceImplementation association is the only one available to describe how a Service is implemented in software. Since SoftwareFeatures are not instantiated, it is not possible to use the SoftwareFeatureService Implementation association. 
The cardinality of this association is many-to-many. A Service may be provided by more than one SoftwareElement. If this is true, it is assumed that the SoftwareElements operate in conjunction. And, any SoftwareElement may provide more than one Service.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_SoftwareElementServiceImplementation_Type">
<xs:sequence>
<xs:element ref="class:Antecedent"/>
<xs:element ref="class:Dependent"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
