<?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_ProtectedExtentBasedOn" 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_ProtectedExtentBasedOn">
<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 underlying StorageExtent.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_ProtectedExtentBasedOn"/>
</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 Protected Space is built on this StorageExtent.</cim:Qualifier>
<cim:Qualifier name="Key" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Classorigin name="CIM_ProtectedExtentBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="StartingAddress" nillable="true" type="cim:cimUnsignedLong">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Override" type="cim:cimString">StartingAddress</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">The starting logical block address of the underlying StorageExtent from which this protected StorageExtent is derived. In SCC, this is equivalent to the START LBA_P field in the Redundancy Group P_Extent Descriptor.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MIF.DMTF|Physical Extent|001.2</cim:Qualifier>
<cim:Classorigin name="CIM_ProtectedExtentBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfBlocks" 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">The size of the protected space. Note that this is limited by the Antecedent-&gt;NumberOfBlocks, but is included explicitly to provide for the DMTF MIF mapping. In SCC, this is equivalent to the NUMBER OF LBA_P(s) field in the Redundancy Group P_Extent Descriptor.</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MIF.DMTF|Physical Extent|001.3</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_StorageExtent.NumberOfBlocks</cim:Qualifier>
<cim:Classorigin name="CIM_ProtectedExtentBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="BlockSize" 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">The block size of the protected space. Note that this is limited by the Antecedent-&gt;BlockSize. In SCC, this is equivalent to the NUMBER OF BYTES PER LBA_P field in the Redundancy Group P_Extent Descriptor.</cim:Qualifier>
<cim:Qualifier name="Units" type="cim:cimString">Bytes</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MIF.DMTF|Physical Extent|001.4</cim:Qualifier>
<cim:Qualifier name="ModelCorrespondence" type="cim:cimString">CIM_StorageExtent.BlockSize</cim:Qualifier>
<cim:Qualifier name="PUnit" type="cim:cimString">byte</cim:Qualifier>
<cim:Classorigin name="CIM_ProtectedExtentBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="UnitsBeforeCheckDataInterleave" 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">Number of bytes of user data to skip before starting the check data interleave.</cim:Qualifier>
<cim:Qualifier name="Units" type="cim:cimString">Bytes</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MIF.DMTF|Physical Extent|001.6</cim:Qualifier>
<cim:Qualifier name="PUnit" type="cim:cimString">byte</cim:Qualifier>
<cim:Classorigin name="CIM_ProtectedExtentBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="UnitsOfCheckData" 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">Number of bytes to be reserved for check data.</cim:Qualifier>
<cim:Qualifier name="Units" type="cim:cimString">Bytes</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MIF.DMTF|Physical Extent|001.7</cim:Qualifier>
<cim:Qualifier name="PUnit" type="cim:cimString">byte</cim:Qualifier>
<cim:Classorigin name="CIM_ProtectedExtentBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="UnitsOfUserData" 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">Number of bytes to be reserved for user data.</cim:Qualifier>
<cim:Qualifier name="Units" type="cim:cimString">Bytes</cim:Qualifier>
<cim:Qualifier name="MappingStrings" type="cim:cimString">MIF.DMTF|Physical Extent|001.8</cim:Qualifier>
<cim:Qualifier name="PUnit" type="cim:cimString">byte</cim:Qualifier>
<cim:Classorigin name="CIM_ProtectedExtentBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="EndingAddress" 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">EndingAddress indicates where in lower level storage, the higher level Extent ends. This property is useful when mapping non-contiguous Extents into a higher level grouping.</cim:Qualifier>
<cim:Classorigin name="CIM_AbstractBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="OrderIndex" nillable="true" type="cim:cimUnsignedShort">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Qualifier name="Description" type="cim:cimString">If there is an order to the BasedOn associations that describe how a higher level StorageExtent is assembled, the OrderIndex property indicates this. When an order exists, the instances of BasedOn with the same Dependent value (i.e., the same higher level Extent) should place unique values in the OrderIndex property. The lowest value implies the first member of the collection of lower level Extents, and increasing values imply successive members of the collection. If there is no ordered relationship, a value of zero should be specified. An example of the use of this property is to define a RAID-0 striped array of 3 disks. The resultant RAID array is a StorageExtent that is dependent on (BasedOn) the StorageExtents that describe each of the 3 disks. The OrderIndex of each BasedOn association from the disk Extents to the RAID array could be specified as 1, 2 and 3 to indicate the order in which the disk Extents are used to access the RAID data.</cim:Qualifier>
<cim:Classorigin name="CIM_AbstractBasedOn"/>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CIM_ProtectedExtentBasedOn" type="class:CIM_ProtectedExtentBasedOn_Type">
<xs:annotation>
<xs:appinfo source="http://schemas.dmtf.org/wbem/wscim/1/common">
<cim:Class name="CIM_ProtectedExtentBasedOn" superclass="CIM_BasedOn"/>
<cim:Qualifier name="Association" type="cim:cimBoolean">true</cim:Qualifier>
<cim:Qualifier name="Version" type="cim:cimString">2.7.0</cim:Qualifier>
<cim:Qualifier name="UMLPackagePath" type="cim:cimString">CIM::Device::StorageExtents</cim:Qualifier>
<cim:Qualifier name="Description" type="cim:cimString">Protected StorageExtents map to an underlying StorageExtent. This mapping includes information about the placement of check data on the underlying extent. The mapping is made explicit in this association.</cim:Qualifier>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="CIM_ProtectedExtentBasedOn_Type">
<xs:sequence>
<xs:element ref="class:Antecedent"/>
<xs:element minOccurs="0" ref="class:BlockSize"/>
<xs:element ref="class:Dependent"/>
<xs:element minOccurs="0" ref="class:EndingAddress"/>
<xs:element minOccurs="0" ref="class:NumberOfBlocks"/>
<xs:element minOccurs="0" ref="class:OrderIndex"/>
<xs:element minOccurs="0" ref="class:StartingAddress"/>
<xs:element minOccurs="0" ref="class:UnitsBeforeCheckDataInterleave"/>
<xs:element minOccurs="0" ref="class:UnitsOfCheckData"/>
<xs:element minOccurs="0" ref="class:UnitsOfUserData"/>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>
</xs:schema>
