<?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_ServiceServiceDependency" 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_ServiceServiceDependency">
<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 required Service.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_ServiceServiceDependency"/>
</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 that is dependent on an underlying Service.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_ServiceServiceDependency"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="TypeOfDependency" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The nature of the Service-to-Service dependency. 2 - Antecedent Service shall have completed before Dependent service's functionality is available.
3 - Antecedent Service shall have started before Dependent service's functionality is available.
4 - Antecedent Service shall not be started in order for Dependent service's functionality to be available.
5 - The two Services cooperate and augment each other's function. There is no requirement implied by this value regarding the execution of the Antecedent service in order for the Dependent service to operate.</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="0">Unknown</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="1">Other</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Service Must Have Completed</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Service Must Be Started</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Service Must Not Be Started</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">Cooperate</cim:Qualifier>
<cim:Classorigin name="CIM_ServiceServiceDependency"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="RestartService" nillable="true" type="cim:cimBoolean">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">This property describes that the Antecedent Service must be restarted after the Dependent operation is complete.</cim:Qualifier>
<cim:Classorigin name="CIM_ServiceServiceDependency"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CIM_ServiceServiceDependency" type="class:CIM_ServiceServiceDependency_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_ServiceServiceDependency" superclass="CIM_ProvidesServiceToElement"/>
<cim:Qualifier name="Association" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Version" type="cim:cimString">2.16.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Core::Service</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">CIM_ServiceServiceDependency is an association between a Service and another Service, which indicates that the latter cooperates with the former, is required to be present, required to have completed, or must be absent for the former Service to provide its functionality. For example, Boot Services might be dependent upon underlying system initialization Services. In the case of the initialization Services, the Boot Service might be dependent on the completion of the init Services. 
When examining the ServiceServiceDependency class definition, note that its superclass ProvidesServiceToElement is deprecated. Unfortunately, ProvidesServiceToElement cannot be removed from the object hierarchy without a major Schema release. When or if a major release occurs, the ProvidesServiceToElement superclass will be removed, and ServiceServiceDependency will subclass from CIM_Dependency directly.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_ServiceServiceDependency_Type">
<xs:sequence>
<xs:element ref="class:Antecedent"/>
<xs:element ref="class:Dependent"/>
<xs:element minOccurs="0" ref="class:RestartService"/>
<xs:element minOccurs="0" ref="class:TypeOfDependency"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
