<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:oval-def="http://oval.mitre.org/XMLSchema/oval-definitions-5"
            xmlns:oval="http://oval.mitre.org/XMLSchema/oval-common-5"
            xmlns:sol-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#solaris"
            xmlns:sch="http://purl.oclc.org/dsdl/schematron"
            targetNamespace="http://oval.mitre.org/XMLSchema/oval-definitions-5#solaris"
            elementFormDefault="qualified"
            version="5.8">
   <xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-definitions-5"
               schemaLocation="oval-definitions-schema.xsd"/>
   <xsd:element name="isainfo_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="isainfo_object" substitutionGroup="oval-def:object">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:ObjectType"/>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="isainfo_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="bits" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="kernel_isa" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="application_isa" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="ndd_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="ndd_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="device" type="oval-def:EntityObjectStringType"/>
                        <xsd:element name="parameter" 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="ndd_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="device" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="instance" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="parameter" 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:element name="package_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="package_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="pkginst" 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="package_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="pkginst" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="name" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="category" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="version" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="vendor" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="description" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="packagecheck_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="packagecheck_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="sol-def:PackageCheckBehaviors" minOccurs="0"
                                     maxOccurs="1"/>
                        <xsd:element name="pkginst" type="oval-def:EntityObjectStringType"/>
                        <xsd:element name="filepath" type="oval-def:EntityObjectStringType" minOccurs="1"
                                     maxOccurs="1"/>
                        <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="packagecheck_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="pkginst" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="filepath" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="checksum_differs" type="oval-def:EntityStateBoolType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="size_differs" type="oval-def:EntityStateBoolType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="mtime_differs" type="oval-def:EntityStateBoolType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="uread" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="uwrite" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="uexec" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="gread" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="gwrite" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="gexec" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="oread" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="owrite" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="oexec" type="sol-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:complexType name="PackageCheckBehaviors">
      <xsd:attribute name="fileattributes_only" use="optional" type="xsd:boolean" default="false"/>
      <xsd:attribute name="filecontents_only" use="optional" type="xsd:boolean" default="false"/>
      <xsd:attribute name="no_volatileeditable" use="optional" type="xsd:boolean" default="false"/>
   </xsd:complexType>
   <xsd:element name="patch54_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_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="patch54_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="sol-def:PatchBehaviors" minOccurs="0" maxOccurs="1"/>
                        <xsd:element name="base" type="oval-def:EntityObjectIntType"/>
                        <xsd:element name="version" type="oval-def:EntityObjectIntType"/>
                        <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="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:element name="base" type="oval-def:EntityObjectIntType"/>
                  </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="base" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="version" type="oval-def:EntityStateIntType" 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="smf_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="smf_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="fmri" 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="smf_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="fmri" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="service_name" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="service_state" type="sol-def:EntityStateSmfServiceStateType"
                               minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="protocol" type="sol-def:EntityStateSmfProtocolType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="server_executable" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="server_arguements" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="exec_as_user" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:complexType name="EntityStatePermissionCompareType">
      <xsd:simpleContent>
         <xsd:restriction base="oval-def:EntityStateStringType">
            <xsd:enumeration value="more"/>
            <xsd:enumeration value="less"/>
            <xsd:enumeration value="same"/>
            <xsd:enumeration value=""/>
         </xsd:restriction>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:complexType name="EntityStateSmfProtocolType">
      <xsd:simpleContent>
         <xsd:restriction base="oval-def:EntityStateStringType">
            <xsd:enumeration value="tcp"/>
            <xsd:enumeration value="tcp6"/>
            <xsd:enumeration value="tcp6only"/>
            <xsd:enumeration value="udp"/>
            <xsd:enumeration value="udp6"/>
            <xsd:enumeration value="udp6only"/>
            <xsd:enumeration value=""/>
         </xsd:restriction>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:complexType name="EntityStateSmfServiceStateType">
      <xsd:simpleContent>
         <xsd:restriction base="oval-def:EntityStateStringType">
            <xsd:enumeration value="DEGRADED"/>
            <xsd:enumeration value="DISABLED"/>
            <xsd:enumeration value="MAINTENANCE"/>
            <xsd:enumeration value="LEGACY-RUN"/>
            <xsd:enumeration value="OFFLINE"/>
            <xsd:enumeration value="ONLINE"/>
            <xsd:enumeration value="UNINITIALIZED"/>
            <xsd:enumeration value=""/>
         </xsd:restriction>
      </xsd:simpleContent>
   </xsd:complexType>
</xsd:schema>