<?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_SoftwareElementSAPImplementation" 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_SoftwareElementSAPImplementation">
<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 SAP.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_SoftwareElementSAPImplementation"/>
</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 ServiceAccessPoint implemented by the SoftwareElement.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_SoftwareElementSAPImplementation"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CIM_SoftwareElementSAPImplementation" type="class:CIM_SoftwareElementSAPImplementation_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_SoftwareElementSAPImplementation" 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 ServiceAccessPoint 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 Software FeatureSAPImplementation association is adequate and recommended. 
The relationship between this association and Software FeatureSAPImplementation is more fully described here. SoftwareElementSAPImplementation allows the description of greater granularity than SoftwareFeatureSAPImplementation, when a SoftwareFeature is fully deployed and results in several executable Elements. These Elements may implement several different ServiceAccessPoints. 
Since SoftwareFeatures decompose into SoftwareElements, it is possible to describe how software implements a SAP by using either this association or the SoftwareFeatureSAP Implementation relationship. One or the other should be chosen. Both associations should not be used for a particular AccessPoint, 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 ElementSAPImplementation association is the only one available to describe how an AccessPoint is implemented in software. Since SoftwareFeatures are not instantiated, it is not possible to use the SoftwareFeatureSAP Implementation association. 
The cardinality of this association is many-to-many. A ServiceAccessPoint may be provided by more than one Software Element. (If this is true, it is assumed that the Software Elements operate in conjunction.) And, any SoftwareElement may provide more than one SAP.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_SoftwareElementSAPImplementation_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>
