<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:oval="http://oval.mitre.org/XMLSchema/oval-common-5"
            xmlns:oval-def="http://oval.mitre.org/XMLSchema/oval-definitions-5"
            xmlns:esx-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#esx"
            xmlns:sch="http://purl.oclc.org/dsdl/schematron"
            targetNamespace="http://oval.mitre.org/XMLSchema/oval-definitions-5#esx"
            elementFormDefault="qualified"
            version="5.11">
   <xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-common-5"
               schemaLocation="oval-common-schema.xsd"/>
   <xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-definitions-5"
               schemaLocation="oval-definitions-schema.xsd"/>
   <xsd:element name="patch56_test" substitutionGroup="oval-def:test">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:TestType">
               <xsd:sequence>
                  <xsd:element name="object" type="oval-def:ObjectRefType"/>
                  <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="patch56_object" substitutionGroup="oval-def:object">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:ObjectType">
               <xsd:sequence>
                  <xsd:choice>
                     <xsd:element ref="oval-def:set"/>
                     <xsd:sequence>
                        <xsd:element name="behaviors" type="esx-def:Patch56Behaviors" minOccurs="0"/>
                        <xsd:element name="patch_name" type="oval-def:EntityObjectStringType"/>
                        <xsd:element ref="oval-def:filter" minOccurs="0" maxOccurs="unbounded"/>
                     </xsd:sequence>
                  </xsd:choice>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="patch56_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="patch_name" type="oval-def:EntityStateStringType" minOccurs="0"/>
                  <xsd:element name="knowledge_base_id" type="oval-def:EntityStateIntType" minOccurs="0"/>
                  <xsd:element name="bundle_id" type="oval-def:EntityStateIntType" minOccurs="0"/>
                  <xsd:element name="classification" type="esx-def:EntityStateClassificationType"
                               minOccurs="0"/>
                  <xsd:element name="support_level" type="esx-def:EntityStateSupportLevelType" minOccurs="0"/>
                  <xsd:element name="status" type="oval-def:EntityStateBoolType" minOccurs="0"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:complexType name="Patch56Behaviors">
      <xsd:attribute name="supersedence" use="optional" default="false">
         <xsd:simpleType>
            <xsd:restriction base="xsd:boolean"/>
         </xsd:simpleType>
      </xsd:attribute>
   </xsd:complexType>
   <xsd:element name="patch_test" substitutionGroup="oval-def:test">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:TestType">
               <xsd:sequence>
                  <xsd:element name="object" type="oval-def:ObjectRefType"/>
                  <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="patch_object" substitutionGroup="oval-def:object">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:ObjectType">
               <xsd:sequence>
                  <xsd:choice>
                     <xsd:element ref="oval-def:set"/>
                     <xsd:sequence>
                        <xsd:element name="behaviors" type="esx-def:PatchBehaviors" minOccurs="0" maxOccurs="1"/>
                        <xsd:element name="patch_number" type="oval-def:EntityObjectStringType"/>
                     </xsd:sequence>
                  </xsd:choice>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="patch_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="patch_number" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="status" type="oval-def:EntityStateBoolType" minOccurs="0" maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:complexType name="PatchBehaviors">
      <xsd:attribute name="supersedence" use="optional" default="false">
         <xsd:simpleType>
            <xsd:restriction base="xsd:boolean"/>
         </xsd:simpleType>
      </xsd:attribute>
   </xsd:complexType>
   <xsd:element name="version_test" substitutionGroup="oval-def:test">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:TestType">
               <xsd:sequence>
                  <xsd:element name="object" type="oval-def:ObjectRefType"/>
                  <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="version_object" substitutionGroup="oval-def:object">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:ObjectType"/>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="version_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="release" type="oval-def:EntityStateVersionType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="build" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="visdkmanagedobject_test" substitutionGroup="oval-def:test">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:TestType">
               <xsd:sequence>
                  <xsd:element name="object" type="oval-def:ObjectRefType"/>
                  <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="visdkmanagedobject_object" substitutionGroup="oval-def:object">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:ObjectType">
               <xsd:sequence>
                  <xsd:choice>
                     <xsd:element ref="oval-def:set"/>
                     <xsd:sequence>
                        <xsd:element name="behaviors" type="esx-def:ViSdkManagedEntityBehaviors" minOccurs="0"/>
                        <xsd:element name="property" type="oval-def:EntityObjectStringType"/>
                        <xsd:element ref="oval-def:filter" minOccurs="0" maxOccurs="unbounded"/>
                     </xsd:sequence>
                  </xsd:choice>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="visdkmanagedobject_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="property" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="value" type="oval-def:EntityStateAnySimpleType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:complexType name="ViSdkManagedEntityBehaviors">
      <xsd:attribute name="managed_entity_type" use="optional" default="VirtualMachine">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:enumeration value="ClusterComputerResource"/>
               <xsd:enumeration value="ComputeResource"/>
               <xsd:enumeration value="Datacenter"/>
               <xsd:enumeration value="Datastore"/>
               <xsd:enumeration value="DistributedVirtualPortgroup"/>
               <xsd:enumeration value="DistributedVirtualSwitch"/>
               <xsd:enumeration value="Folder"/>
               <xsd:enumeration value="HostSystem"/>
               <xsd:enumeration value="Network"/>
               <xsd:enumeration value="ResourcePool"/>
               <xsd:enumeration value="VirtualApp"/>
               <xsd:enumeration value="VirtualMachine"/>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:attribute>
   </xsd:complexType>
   <xsd:complexType name="EntityStateClassificationType">
      <xsd:simpleContent>
         <xsd:restriction base="oval-def:EntityStateStringType">
            <xsd:enumeration value="B"/>
            <xsd:enumeration value="R"/>
            <xsd:enumeration value="S"/>
            <xsd:enumeration value="U"/>
            <xsd:enumeration value=""/>
         </xsd:restriction>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:complexType name="EntityStateSupportLevelType">
      <xsd:simpleContent>
         <xsd:restriction base="oval-def:EntityStateStringType">
            <xsd:enumeration value="C"/>
            <xsd:enumeration value="D"/>
            <xsd:enumeration value="G"/>
            <xsd:enumeration value="H"/>
            <xsd:enumeration value=""/>
         </xsd:restriction>
      </xsd:simpleContent>
   </xsd:complexType>
</xsd:schema>