<?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_BaseMetricValue" 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_BaseMetricValue">
<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 SHOULD be constructed using the following 'preferred' algorithm: 
: 
Where and are separated by a colon ':', and where MUST 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 &lt;Schema Name&gt;_&lt;Class Name&gt; structure of Schema class names.) In addition, to ensure uniqueness MUST NOT contain a colon (':'). When using this algorithm, the first colon to appear in InstanceID MUST appear between and . 
is chosen by the business entity and SHOULD not be re-used to identify different underlying (real-world) elements. If the above 'preferred' algorithm is not used, the defining entity MUST assure that the resultant InstanceID is not re-used across any InstanceIDs produced by this or other providers for this instance's NameSpace. 
For DMTF defined instances, the 'preferred' algorithm MUST be used with the set to 'CIM'.</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MetricDefinitionId" 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 key of the BaseMetricDefinition instance for this CIM_BaseMetricValue instance value.</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_BaseMetricDefinition.Id</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MeasuredElementName" 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 descriptive name for the element to which the metric value belongs (i.e., the measured element). This property is required by behavior if there is no association defined to a ManagedElement, but may be used in other cases to provide supplemental information. This allows metrics to be captured independently of any ManagedElement. An example is where a metric value belongs to a combination of elements, such as the input and output ports of the traffic in a switch. If there are multiple ManagedElements associated with the metric value, then usually there is one that naturally belongs to the metric value and that one should be used to create the supplemental information. The property is not meant to be used as a foreign key to search on the measured element. Instead, the association to the ManagedElement should be used.</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="TimeStamp" nillable="true" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">Identifies the time when the value of a metric instance is computed. Note that this is different from the time when the instance is created. For a given CIM_BaseMetricValue instance, the TimeStamp changes whenever a new measurement snapshot is taken if Volatile is true. A managmenet application may establish a time series of metric data by retrieving the instances of CIM_BaseMetricValue and sorting them according to their TimeStamp.</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_BaseMetricDefinition.TimeScope</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_BaseMetricValue.Duration</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Duration" nillable="true" type="cim:cimDateTime">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">Property that represents the time duration over which this metric value is valid. This property should not exist for timestamps that apply only to a point in time but should be defined for values that are considered valid for a certain time period (ex. sampling). If the "Duration" property exists and is nonNull, the TimeStamp is to be considered the end of the interval.</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_BaseMetricDefinition.TimeScope</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_BaseMetricValue.TimeStamp</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="MetricValue" 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 value of the metric represented as a string. Its original data type is specified in CIM_BaseMetricDefinition.</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="BreakdownDimension" 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">If present, specifies one BreakdownDimension from the BreakdownDimensions array defined in the associated CIM_ BaseMetricDefinition. This is the dimension along which this set of metric values is broken down. For a description of the concept, see the class CIM_BaseMetricDefinition.</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="BreakdownValue" 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">Defines a value of the BreakdownDimension property defined for this metric value instance. For instance, if the BreakdownDimension is "TransactionName", this property could name the actual transaction to which this particular metric value applies.</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="Volatile" 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">If true, Volatile indicates that the value for the next point in time may use the same object and just change its properties (such as the value or timestamp). If false, the existing objects remain unchanged and a new object is created for the new point in time.</cim:Qualifier>
<cim:Classorigin name="CIM_BaseMetricValue"/>
</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_BaseMetricValue" type="class:CIM_BaseMetricValue_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_BaseMetricValue" superclass="CIM_ManagedElement"/>
<cim:Qualifier name="Version" type="cim:cimString">2.19.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Metrics::BaseMetric</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">Each CIM_BaseMetricValue object represents the instance value of a metric. Since the gathering of metric information can involve large quantities of information there may be many instances of this class. The use of this class as an instrumentation source may be inefficient unless the rate of metrics are known. The length of time a CIM_BaseMetricValue instance exists after the metric information is captured is not defined and is implementation dependent. 
Most metric data values change over time. There are two ways of mapping this into CIM_BaseMetricValue objects: The value for the next point in time may use the same object and just change its properties (such as the value or timestamp), or the existing objects remain unchanged and a new object is created for the new point in time. The first method is typically used for snapshot data and the second method for historical data. Which method is used, is indicated by the Volatile property.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_BaseMetricValue_Type">
<xs:sequence>
<xs:element minOccurs="0" ref="class:BreakdownDimension"/>
<xs:element minOccurs="0" ref="class:BreakdownValue"/>
<xs:element minOccurs="0" ref="class:Caption"/>
<xs:element minOccurs="0" ref="class:Description"/>
<xs:element minOccurs="0" ref="class:Duration"/>
<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:MeasuredElementName"/>
<xs:element ref="class:MetricDefinitionId"/>
<xs:element ref="class:MetricValue"/>
<xs:element minOccurs="0" ref="class:TimeStamp"/>
<xs:element minOccurs="0" ref="class:Volatile"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
