2025-04-27 07:49:33 -04:00

145 lines
5.9 KiB
XML

<?xml version="1.0"?>
<!-- ********************************************************************** -->
<!-- -->
<!-- Copyright (c) 2000-2001 Microsoft Corporation -->
<!-- -->
<!-- This schema defines the XML schema supporting definitions for the -->
<!-- definition of WMI schemas. -->
<!-- -->
<!-- TODO: -->
<!-- -->
<!-- ********************************************************************** -->
<schema xmlns="http://www.w3.org/1999/XMLSchema"
targetNamespace="http://www.microsoft.com/wmi/encoding/1.0"
xmlns:tns="http://www.microsoft.com/wmi/encoding/1.0">
<!-- ################################################################## -->
<!-- The CIM datetime type -->
<!-- ################################################################## -->
<simpleType name="dateTime" base="string">
<pattern value="[0-9]{4,4}[0-1][0-9][0-3][0-9][0-2][0-9][0-5][0-9][0-5][0-9]\.[0-9]{6,6}[+-][0-9]{3,3}"/>
</simpleType>
<!-- ################################################################## -->
<!-- This complex type represents a CIM qualifier. A qualifier has a -->
<!-- type, name and value (all mandatory) and flavor -->
<!-- ################################################################## -->
<complexType name="qualifier" content="empty">
<!-- The name of the qualifier -->
<attribute name="name" use="required" type="string"/>
<!-- The type of the qualifier -->
<attribute name="type" use="required">
<!-- The list of WMI Qualifier types -->
<simpleType name="qualifierTypes" base="string">
<enumeration value="boolean"/>
<enumeration value="string"/>
<enumeration value="sint32"/>
<enumeration value="real64"/>
</simpleType>
</attribute>
<!-- Whether it is an array -->
<attribute name="array" type="boolean" value="true"/>
<!-- The value of the qualifier -->
<attribute name="value" use="required" type="string"/>
<!-- Qualifier Flavor attributes -->
<!-- Does this make sense for parameter qualfiers ?-->
<!-- Attributes for Qualifier Flavors -->
<attribute name="overridable" type="boolean" value="true"/>
<attribute name="toSubClass" type="boolean" value="false"/>
<attribute name="toInstance" type="boolean" value="false"/>
<attribute name="amended" type="boolean" value="false"/>
</complexType>
<!-- ################################################################## -->
<!-- This complex type represents a CIM property. -->
<!-- ################################################################## -->
<element name="property" >
<complexType base="element" derivedBy="extension">
<element name="qualifier" type="tns:qualifier" minOccurs="0" maxOccurs="unbounded"/>
<attribute name="refClass" type="string" use="optional"/>
<attribute name="default" type="string" use="optional"/>
</complexType>
</element>
<!-- ################################################################## -->
<!-- This complex type represents a CIM method. -->
<!-- ################################################################## -->
<element name="method">
<complexType content="elementOnly">
<!-- A set of qualifiers for the method-->
<element name="qualifier" minOccurs="0" maxOccurs="unbounded" type="tns:qualifier"/>
<!-- A set of parameters for the method-->
<element name="parameter" minOccurs="0" maxOccurs="unbounded">
<!-- This complex type represents a Method parameter.-->
<complexType name="parameter">
<!-- A set of qualifiers for the parameter-->
<element name="qualifier" minOccurs="0" maxOccurs="unbounded" type="tns:qualifier"/>
<!-- The name of the parameter -->
<attribute name="name" use="required" type="string"/>
<!-- The type of the parameter -->
<attribute name="type" use="required">
<!-- The list of primitive WMI scalar types for parameters-->
<simpleType base="string">
<enumeration value="boolean"/>
<enumeration value="string"/>
<enumeration value="char16"/>
<enumeration value="uint8"/>
<enumeration value="sint8"/>
<enumeration value="uint16"/>
<enumeration value="sint16"/>
<enumeration value="uint32"/>
<enumeration value="sint32"/>
<enumeration value="uint64"/>
<enumeration value="sint64"/>
<enumeration value="datetime"/>
<enumeration value="real32"/>
<enumeration value="real64"/>
<enumeration value="ref"/>
<enumeration value="obj"/>
</simpleType>
</attribute>
<!-- This represents a reference class and is present only if the "type" attribute has a value of "ref" or "obj"-->
<attribute name="referenceClass" type="string"/>
<!-- Indicates whether the type is an array -->
<attribute name="isArray" type="boolean"/>
</complexType>
</element>
<!-- The Name of the method -->
<attribute name="name" use="required" type="string"/>
<!-- The Type of Return Value of the method -->
<attribute name="name">
<!-- The list of types allowed for WMI method return values-->
<simpleType base="string">
<enumeration value="boolean"/>
<enumeration value="string"/>
<enumeration value="char16"/>
<enumeration value="uint8"/>
<enumeration value="sint8"/>
<enumeration value="uint16"/>
<enumeration value="sint16"/>
<enumeration value="uint32"/>
<enumeration value="sint32"/>
<enumeration value="uint64"/>
<enumeration value="sint64"/>
<enumeration value="datetime"/>
<enumeration value="real32"/>
<enumeration value="real64"/>
<enumeration value="ref"/>
<enumeration value="obj"/>
</simpleType>
</attribute>
</complexType>
</element>
</schema>