﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema targetNamespace="http://oval.mitre.org/XMLSchema/oval-definitions-5#macos" elementFormDefault="qualified" version="5.3" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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">
  <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" minOccurs="1" maxOccurs="1" />
            <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1" />
          </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 minOccurs="1" maxOccurs="1">
              <xsd:element ref="oval-def:set" />
              <xsd:sequence>
                <xsd:element name="username" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1" />
              </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="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" minOccurs="1" maxOccurs="1" />
            <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1" />
          </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 minOccurs="1" maxOccurs="1">
              <xsd:element ref="oval-def:set" />
              <xsd:sequence>
                <xsd:element name="program_name" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1" />
              </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:EntityStateStringType" 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:EntityStateStringType" minOccurs="0" maxOccurs="1" />
            <xsd:element name="foreign_address" type="oval-def:EntityStateStringType" 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" minOccurs="1" maxOccurs="1" />
            <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1" />
          </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 minOccurs="1" maxOccurs="1">
              <xsd:element ref="oval-def:set" />
              <xsd:sequence>
                <xsd:element name="nvram_var" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1" />
              </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="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" minOccurs="1" maxOccurs="1" />
            <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1" />
          </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 minOccurs="1" maxOccurs="1">
              <xsd:element ref="oval-def:set" />
              <xsd:sequence>
                <xsd:element name="username" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1" />
                <xsd:element name="userpass" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1" />
                <xsd:element name="directory_node" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1" />
              </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="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:schema>