<?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:macos-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#macos"
            xmlns:sch="http://purl.oclc.org/dsdl/schematron"
            targetNamespace="http://oval.mitre.org/XMLSchema/oval-definitions-5#macos"
            elementFormDefault="qualified"
            version="5.8">
   <xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-definitions-5"
               schemaLocation="oval-definitions-schema.xsd"/>
   <xsd:element name="accountinfo_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="accountinfo_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="username" 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="accountinfo_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="username" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="password" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="uid" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="gid" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="realname" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="home_dir" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="login_shell" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="diskutil_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="diskutil_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="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="diskutil_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="filepath" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="uread" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="uwrite" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="uexec" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="gread" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="gwrite" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="gexec" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="oread" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="owrite" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="oexec" type="macos-def:EntityStatePermissionCompareType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="inetlisteningservers_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="inetlisteningservers_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="program_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="inetlisteningservers_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="program_name" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="local_address" type="oval-def:EntityStateIPAddressStringType"
                               minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="local_full_address" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="local_port" type="oval-def:EntityStateIntType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="foreign_address" type="oval-def:EntityStateIPAddressStringType"
                               minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="foreign_full_address" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="foreign_port" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="pid" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="protocol" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="user_id" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="nvram_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="nvram_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="nvram_var" 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="nvram_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="nvram_var" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="nvram_value" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
               </xsd:sequence>
            </xsd:extension>
         </xsd:complexContent>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="plist_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="plist_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="key" type="oval-def:EntityObjectStringType" nillable="true"/>
                        <xsd:choice>
                           <xsd:element name="app_id" type="oval-def:EntityObjectStringType"/>
                           <xsd:element name="filepath" type="oval-def:EntityObjectStringType"/>
                        </xsd:choice>
                        <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="plist_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="key" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="app_id" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="filepath" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="instance" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="type" type="macos-def:EntityStatePlistTypeType" 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="pwpolicy_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="pwpolicy_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="target_user" type="oval-def:EntityObjectStringType"/>
                        <xsd:element name="username" type="oval-def:EntityObjectStringType" nillable="true"/>
                        <xsd:element name="userpass" type="oval-def:EntityObjectStringType" nillable="true"/>
                        <xsd:element name="directory_node" type="oval-def:EntityObjectStringType" nillable="true"/>
                        <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="pwpolicy_state" substitutionGroup="oval-def:state">
      <xsd:complexType>
         <xsd:complexContent>
            <xsd:extension base="oval-def:StateType">
               <xsd:sequence>
                  <xsd:element name="target_user" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="username" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="userpass" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="directory_node" type="oval-def:EntityStateStringType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="maxChars" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="maxFailedLoginAttempts" type="oval-def:EntityStateIntType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="minChars" type="oval-def:EntityStateIntType" minOccurs="0" maxOccurs="1"/>
                  <xsd:element name="passwordCannotBeName" type="oval-def:EntityStateBoolType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="requiresAlpha" type="oval-def:EntityStateBoolType" minOccurs="0"
                               maxOccurs="1"/>
                  <xsd:element name="requiresNumeric" type="oval-def:EntityStateBoolType" 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="EntityStatePlistTypeType">
      <xsd:simpleContent>
         <xsd:restriction base="oval-def:EntityStateStringType">
            <xsd:enumeration value="CFString"/>
            <xsd:enumeration value="CFNumber"/>
            <xsd:enumeration value="CFBoolean"/>
            <xsd:enumeration value="CFDate"/>
            <xsd:enumeration value="CFData"/>
            <xsd:enumeration value="CFArray"/>
            <xsd:enumeration value="CFDictionary"/>
            <xsd:enumeration value=""/>
         </xsd:restriction>
      </xsd:simpleContent>
   </xsd:complexType>
</xsd:schema>