PatchApplicability Schema

 

Applies To: Windows Server Update Services

Types

The PatchApplicability Schema defines the following types in the https://www.microsoft.com/msi/patch\_applicability.xsd target namespace.

MsiPatch

<xs:element name="MsiPatch">  
   <xs:complexType>  
   <xs:sequence>  
   <xs:element name="TargetProduct" minOccurs="1" maxOccurs="unbounded">  
   <xs:complexType>  
   <xs:sequence>  
      <xs:element name="TargetProductCode" type="ValidateGUID" />  
      <xs:element name="UpdatedProductCode" type="GUID" minOccurs="0" maxOccurs="1" />  
      <xs:element name="TargetVersion" type="ValidateVersion" />  
      <xs:element name="UpdatedVersion" type="Version" minOccurs="0" maxOccurs="1" />  
      <xs:element name="TargetLanguage" type="ValidateLanguage" />  
      <xs:element name="UpdatedLanguages" type="intList" />  
      <xs:element name="UpgradeCode" type="ValidateGUID" />  
      </xs:sequence>  
      <xs:attribute name="MinMsiVersion" type="xs:int" />  
</xs:complexType>  
      </xs:element>  
      <xs:element name="TargetProductCode" type="GUID" minOccurs="1" maxOccurs="unbounded" />  
      <xs:element name="ObsoletedPatch" minOccurs="0" maxOccurs="unbounded" type="GUID" />  
      <xs:element name="SequenceData" minOccurs="0" maxOccurs="unbounded">  
      <xs:complexType>  
      <xs:sequence>  
      <xs:element name="PatchFamily" type="Identifier" />  
      <xs:element name="ProductCode" type="GUID" minOccurs="0" maxOccurs="1" />  
      <xs:element name="Sequence" type="Version" />  
      <xs:element name="Attributes" type="xs:int" minOccurs="0" maxOccurs="1" />  
      </xs:sequence>  
      </xs:complexType>  
      </xs:element>  
   </xs:sequence>  
  
   <xs:attribute name="SchemaVersion" type="Version" />  
   <xs:attribute name="PatchGUID" type="GUID" />  
   <xs:attribute name="MinMsiVersion" type="xs:int" />  
   <xs:attribute name="TargetsRTM" type="xs:boolean" use="optional" />  
   </xs:complexType>  
</xs:element>  

GUID

<xs:simpleType name="GUID">  
   <xs:restriction base="xs:string">  
   <xs:pattern value="\{[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}\}" />  
   </xs:restriction>  
</xs:simpleType>  

Version

<xs:simpleType name="Version">  
   <xs:restriction base="xs:string">  
      <xs:pattern value="[0-9]{1,5}(\.[0-9]{1,5}){0,3}" />  
   </xs:restriction>  
</xs:simpleType>  

ValidateGUID

<xs:complexType name="ValidateGUID">  
   <xs:simpleContent>  
      <xs:extension base="GUID">  
         <xs:attribute name="Validate" type="xs:boolean" />  
      </xs:extension>  
   </xs:simpleContent>  
</xs:complexType>  

ValidateVersion

<xs:complexType name="ValidateVersion">  
   <xs:simpleContent>  
   <xs:extension base="Version">  
   <xs:attribute name="ComparisonType">  
   <xs:simpleType>  
      <xs:restriction base="xs:string">  
      <xs:enumeration value="LessThan" />  
      <xs:enumeration value="LessThanOrEqual" />  
      <xs:enumeration value="Equal" />  
      <xs:enumeration value="GreaterThanOrEqual" />  
      <xs:enumeration value="GreaterThan" />  
      <xs:enumeration value="None" />  
      </xs:restriction>  
   </xs:simpleType>  
   </xs:attribute>  
   <xs:attribute name="ComparisonFilter">  
   <xs:simpleType>  
      <xs:restriction base="xs:string">  
      <xs:enumeration value="Major" />  
      <xs:enumeration value="MajorMinor" />  
      <xs:enumeration value="MajorMinorUpdate" />  
      <xs:enumeration value="None" />  
      </xs:restriction>  
   </xs:simpleType>  
   </xs:attribute>  
   <xs:attribute name="Validate" type="xs:boolean" />  
   </xs:extension>  
   </xs:simpleContent>  
</xs:complexType>  

ValidateLanguage

<xs:complexType name="ValidateLanguage">  
   <xs:simpleContent>  
      <xs:extension base="xs:int">  
         <xs:attribute name="Validate" type="xs:boolean" />  
      </xs:extension>  
   </xs:simpleContent>  
</xs:complexType>  

intList

<xs:simpleType name="intList">  
   <xs:list itemType="xs:int" />  
</xs:simpleType>  

Identifier

<xs:simpleType name="Identifier">  
   <xs:restriction base="xs:string">  
      <xs:pattern value="[_a-zA-Z0-9][_a-zA-Z0-9\.]*" />  
   </xs:restriction>  
</xs:simpleType>