<?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_RegisteredSpecification" 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_RegisteredSpecification">
<xs:import namespace="http://schemas.dmtf.org/wbem/wscim/1/common" schemaLocation="http://schemas.dmtf.org/wbem/wscim/1/common.xsd"/>
<xs:element name="InstanceID" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Override" type="cim:cimString">InstanceID</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies an instance of this class. In order to ensure uniqueness within the NameSpace, the value of InstanceID shall be constructed using the following 'preferred' algorithm: 
: 
Where and are separated by a colon ':', and where shall include a copyrighted, trademarked or otherwise unique name that is owned by the business entity creating/defining the InstanceID, or is a registered ID that is assigned to the business entity by a recognized global authority. (This is similar to the _ structure of Schema class names.) In addition, to ensure uniqueness, shall not contain a colon (':'). The first colon to appear in InstanceID shall appear between and . is chosen by the organizational entity and should not be re-used to identify different underlying (real-world) elements. 
For DMTF defined instances, shall be set to 'CIM'.</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="SpecificationType" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The type of specification.</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_RegisteredSpecification.OtherSpecificationType</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="1">Other</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Profile</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">Initiative Wrapper</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Mapping</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="..">DMTF Reserved</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimAnySimpleType">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:enumeration value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OtherSpecificationType" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">OtherSpecificationType shall be a a free-form string providing a description of the specification type if 1, "Other" is specified for the SpecificationType.</cim:Qualifier>
<cim:Qualifier name="MaxLen" type="cim:cimUnsignedInt">256</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_RegisteredSpecification.SpecificationType</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimString">
<xs:maxLength value="256"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="RegisteredOrganization">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The organization that defines this specification. 
"The Green Grid" identifies "The Green Grid Association"</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_RegisteredSpecification.OtherRegisteredOrganization</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="1">Other</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">DMTF</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">CompTIA</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">Consortium for Service Innovation</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="5">FAST</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="6">GGF</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="7">INTAP</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="8">itSMF</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="9">NAC</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="10">Northwest Energy Efficiency Alliance</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="11">SNIA</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="12">TM Forum</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="13">The Open Group</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="14">ANSI</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="15">IEEE</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="16">IETF</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="17">INCITS</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="18">ISO</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="19">W3C</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="20">OGF</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="21">The Green Grid</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="..">DMTF Reserved</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimAnySimpleType">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
<xs:enumeration value="7"/>
<xs:enumeration value="8"/>
<xs:enumeration value="9"/>
<xs:enumeration value="10"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
<xs:enumeration value="13"/>
<xs:enumeration value="14"/>
<xs:enumeration value="15"/>
<xs:enumeration value="16"/>
<xs:enumeration value="17"/>
<xs:enumeration value="18"/>
<xs:enumeration value="19"/>
<xs:enumeration value="20"/>
<xs:enumeration value="21"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:enumeration value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="22"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="OtherRegisteredOrganization" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">OtherRegisteredOrganization shall be a a free-form string providing a description of the organization if 1, "Other" is specified for the RegisteredOrganization.</cim:Qualifier>
<cim:Qualifier name="MaxLen" type="cim:cimUnsignedInt">256</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_RegisteredSpecification.RegisteredOrganization</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimString">
<xs:maxLength value="256"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="RegisteredName">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The name of this registered specification. Since multiple versions can exist for the same RegisteredName, the combination of RegisteredName, RegisteredOrganization, and RegisteredVersion shall uniquely identify the registered specification within the scope of the organization. 
The value of this property shall correspond to the name given to the set of versioned constraints by a specification or standard. The value does not identify the name of the document or publishing media, unless it happens to be the same as the name given to the versioned constraints.</cim:Qualifier>
<cim:Qualifier name="MaxLen" type="cim:cimUnsignedInt">256</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimString">
<xs:maxLength value="256"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="RegisteredVersion" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The version describing the creation or last modificationof the specification. The string representing the version shall be in the form: 
M + "." + N + "." + U 
Where: 
M - The major version (in numeric form). 
N - The minor version (in numeric form). 
U - The update (e.g. errata, patch, ..., in numeric form).</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="AdvertiseTypes" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Required" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">This property identifies the requested network advertisement for specification information. It is used by the advertising services of the WBEM infrastructure to determine what should be advertised, via what mechanisms. The property is an array so that the specification may be advertised using several mechanisms. If an array entry has a value of 2 (Not Advertised), this shall be the only array entry.</cim:Qualifier>
<cim:Qualifier name="ArrayType" type="cim:cimString">Indexed</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_RegisteredSpecification.AdvertiseTypeDescriptions</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="1">Other</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="2">Not Advertised</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="3">SLP</cim:Qualifier>
<cim:Qualifier name="Values" type="cim:cimString" valuemap="4">WS-Identify</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimUnsignedShort">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="AdvertiseTypeDescriptions" nillable="true" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">A free-form string identifying the requested network advertisement for specification information for cases where the predefined values in AdvertiseTypes are not sufficient. Each entry in this array corresponds to the entry in the AdvertiseTypes array at the same index, and the two arrays shall have the same number of entries. A non-Null value shall be provided for each array entry that corresponds to an AdvertiseTypes entry with a value of 1 (Other). Other array entries should be Null.</cim:Qualifier>
<cim:Qualifier name="ArrayType" type="cim:cimString">Indexed</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_RegisteredSpecification.AdvertiseTypes</cim:Qualifier>
<cim:Classorigin name="CIM_RegisteredSpecification"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Caption" nillable="true">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The Caption property is a short textual description (one- line string) of the object.</cim:Qualifier>
<cim:Qualifier name="MaxLen" type="cim:cimUnsignedInt">64</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="cim:cimString">
<xs:maxLength value="64"/>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Description" nillable="true" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">The Description property provides a textual description of the object.</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="ElementName" nillable="true" type="cim:cimString">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">A user-friendly name for the object. This property allows each instance to define a user-friendly name in addition to its key properties, identity data, and description information. 
Note that the Name property of ManagedSystemElement is also defined as a user-friendly name. But, it is often subclassed to be a Key. It is not reasonable that the same property can convey both identity and a user-friendly name, without inconsistencies. Where Name exists and is not a Key (such as for instances of LogicalDevice), the same information can be present in both the Name and ElementName properties. Note that if there is an associated instance of CIM_EnabledLogicalElementCapabilities, restrictions on this properties may exist as defined in ElementNameMask and MaxElementNameLen properties defined in that class.</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Generation" nillable="true" type="cim:cimUnsignedLong">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">Generation is an optional, monotonically increasing property that may be used to identify a particular generation of the resource represented by this class.
If Generation is supported by the implementation, its value shall not be null. 
Except as otherwise specified, a value (including null) of Generation specified at creation time shall be replaced by null if Generation is not supported by the implementation or shall be a, (possibly different), non-null value if the implementation does support Generation.
After creation and if supported, Generation shall be updated, at least once per access, whenever the represented resource is modified, regardless of the source of the modification.
Note: the Generation value only needs to be updated once between references, even if the resource is updated many times. The key point is to assure that it will be different if there have been updates, not to count each update.
Note: unless otherwise specified, the value of Generation within one instance is not required to be coordinated with the value of Generation in any other instance.
Note:the semantics of the instance, (as defined by its creation class), define the underlying resource. That underlying resource may be a collection or aggregation of resources. And, in that case, the semantics of the instance further define when updates to constituent resources also require updates to the Generation of the collective resource. Default behavior of composite aggregations should be to update the Generation of the composite whenever the Generation of a component is updated.
Subclasses may define additional requirements for updates on some or all of related instances.
For a particular instance, the value of Generation may wrap through zero, but the elapsed time between wraps shall be greater than 10's of years.
This class does not require Generation to be unique across instances of other classes nor across instances of the same class that have different keys. Generation shall be different across power cycles, resets, or reboots if any of those actions results in an update. Generation may be different across power cycles, resets, or reboots if those actions do not result in an update. If the Generation property of an instance is non-null, and if any attempt to update the instance includes the Generation property, then if it doesn't match the current value, the update shall fail.
The usage of this property is intended to be further specified by applicable management profiles. 
Typically, a client will read the value of this property and then supply that value as input to an operation that modifies the instance in some means. This may be via an explicit parameter in an extrinsic method or via an embedded value in an extrinsic method or intrinsic operation.
For example: a profile may require that an intrinsic instance modification supply the Generation property and that it must match for the modification to succeed.</cim:Qualifier>
<cim:Classorigin name="CIM_ManagedElement"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CIM_RegisteredSpecification" type="class:CIM_RegisteredSpecification_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_RegisteredSpecification" superclass="CIM_ManagedElement"/>
<cim:Qualifier name="Version" type="cim:cimString">2.39.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Interop</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">A RegisteredSpecification is used to advertise the implementation of a specification within a WBEM server. The specification may be authored by the DMTF or another standards organization. In this context, specification is used to describe a named and versioned set of constraints. There may be a one to one correspondence between the set of constraints and the document in which they are published. An example of a one to one correspondence is the mechanism used by the DMTF to publish its profiles. An example of one to many documents to specifications is an SMI-S book published by SNIA.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_RegisteredSpecification_Type">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:AdvertiseTypeDescriptions"/>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="class:AdvertiseTypes"/>
<xs:element minOccurs="0" ref="class:Caption"/>
<xs:element minOccurs="0" ref="class:Description"/>
<xs:element minOccurs="0" ref="class:ElementName"/>
<xs:element minOccurs="0" ref="class:Generation"/>
<xs:element ref="class:InstanceID"/>
<xs:element minOccurs="0" ref="class:OtherRegisteredOrganization"/>
<xs:element minOccurs="0" ref="class:OtherSpecificationType"/>
<xs:element ref="class:RegisteredName"/>
<xs:element ref="class:RegisteredOrganization"/>
<xs:element ref="class:RegisteredVersion"/>
<xs:element minOccurs="0" ref="class:SpecificationType"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
