<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:oval-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" xmlns:oval="http://oval.mitre.org/XMLSchema/oval-common-5" xmlns:ind-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#independent" xmlns:sch="http://purl.oclc.org/dsdl/schematron" targetNamespace="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#independent" elementFormDefault="qualified" version="5.7">
     <xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" schemaLocation="oval-system-characteristics-schema.xsd"/>
     <xsd:annotation>
          <xsd:documentation>This document outlines the items of the OVAL System Characteristics XML schema that are independent of any specific family or platform. Each iten is an extention of a basic System Characteristics item defined in the core System Characteristics XML schema.</xsd:documentation>
          <xsd:documentation>The OVAL Schema is maintained by The MITRE Corporation and developed by the public OVAL Community. For more information, including how to get involved in the project and how to submit change requests, please visit the OVAL website at http://oval.mitre.org.</xsd:documentation>
          <xsd:appinfo>
               <schema>Independent System Characteristics</schema>
               <version>5.7</version>
               <date>5/3/2010 8:41:18 PM</date>
                <terms_of_use>Copyright (c) 2002-2010, The MITRE Corporation. All rights reserved.  The contents of this file are subject to the terms of the OVAL License located at http://oval.mitre.org/oval/about/termsofuse.html. See the OVAL License for the specific language governing permissions and limitations for use of this schema.  When distributing copies of the OVAL Schema, this license header must be included.</terms_of_use>
               <sch:ns prefix="oval-sc" uri="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5"/>
               <sch:ns prefix="ind-sc" uri="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#independent"/>
              <sch:ns prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance"/>
          </xsd:appinfo>
     </xsd:annotation>
     <!-- =============================================================================== -->
     <!-- ================================  FAMILY ITEM  ================================ -->
     <!-- =============================================================================== -->
     <xsd:element name="family_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>This element stores high level system OS type, otherwise known as the family.</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="family" type="ind-sc:EntityItemFamilyType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>This element describes the high level system OS type, otherwise known as the family.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_famitemfamily">
                                                  <sch:rule context="ind-sc:family_item/ind-sc:family">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the family entity of a family_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- ==============================  FILE HASH ITEM  =============================== -->
     <!-- =============================================================================== -->
     <xsd:element name="filehash_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>This element stores the different hash values associated with a specific file.</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="filepath" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The filepath element specifies the absolute path for a file on the machine. A directory cannot be specified as a filepath.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_hashitemfilepath">
                                                  <sch:rule context="ind-sc:filehash_item/ind-sc:filepath">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the filepath entity of a filehash_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="path" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The path element specifies the directory component of the absolute path to a file on the machine.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_hashitempath">
                                                  <sch:rule context="ind-sc:filehash_item/ind-sc:path">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the path entity of a filehash_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="filename" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The name of the file.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_hashitemfilename">
                                                  <sch:rule context="ind-sc:filehash_item/ind-sc:filename">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the filename entity of a filehash_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="md5" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The md5 hash of the file</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_hashitemmd5">
                                                  <sch:rule context="ind-sc:filehash_item/ind-sc:md5">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the md5 entity of a filehash_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="sha1" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The sha1 hash of the file</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_hashitemsha1">
                                                  <sch:rule context="ind-sc:filehash_item/ind-sc:sha1">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the sha1 entity of a filehash_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- =======================  ENVIRONMENT VARIABLE ITEM  =========================== -->
     <!-- =============================================================================== -->
     <xsd:element name="environmentvariable_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>This item stores information about environment variables and their values.</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="name" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>This element describes the name of an environment variable.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_envitemname">
                                                  <sch:rule context="ind-sc:environmentvariable_item/ind-sc:name">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the name entity of an environmentvariable_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="value" type="oval-sc:EntityItemAnySimpleType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The actual value of the specified environment variable.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-def_envitemvalue">
                                                  <sch:rule context="ind-def:environmentvariable_item/ind-def:value">
                                                       <sch:assert test="not(@datatype='record')"><sch:value-of select="../@id"/> - datatype attribute for the <sch:value-of select="name()"/> entity of an <sch:value-of select="name(..)"/> should not be 'record'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- =================================  LDAP ITEM  ================================= -->
     <!-- =============================================================================== -->
     <xsd:element name="ldap_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>This element holds information about specific entries in the LDAP directory. It extends the standard ItemType as defined in the oval-system-characteristics schema and one should refer to the ItemType description for more information.</xsd:documentation>
               <xsd:appinfo>
                    <oval:deprecated_info>
                         <oval:version>5.7</oval:version>
                         <oval:reason>Replaced by the ldap57_item. This item allows for single fields to be selected from a ldap. A new item was created to allow more than one field to be selected in one statement. See the ldap57_item.</oval:reason>
                         <oval:comment>This object has been deprecated and may be removed in a future version of the language.</oval:comment>
                    </oval:deprecated_info>
                    <sch:pattern id="ind-sc_ldap_item_dep">
                         <sch:rule context="ind-def:ldap_item">
                              <sch:report test="true()">DEPRECATED ITEM: <sch:value-of select="name()"/> ID: <sch:value-of select="@id"/></sch:report>
                         </sch:rule>
                    </sch:pattern>                        
               </xsd:appinfo>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="suffix" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>Each object in an LDAP directory exists under a certain suffix (also known as a naming context). A suffix is defined as a single object in the Directory Information Tree (DIT) with every object in the tree subordinate to it.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldapitemsuffix">
                                                  <sch:rule context="ind-sc:ldap_item/ind-sc:suffix">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the suffix entity of an ldap_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="relative_dn" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" nillable="true">
                                   <xsd:annotation>
                                        <xsd:documentation>The relative_dn field is used to uniquely identify an item inside the specified suffix. It contains all of the parts of the item's distinguished name except those outlined by the suffix. If the xsi:nil attribute is set to true, then the item being represented is the higher level suffix. Using xsi:nil here will result in a status of 'does not exist' for object_class, ldaptype, and value since these entities are not associated with a suffix by itself. Note that when xsi:nil is used for the relative dn element, the attribute element should also be nilled.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldapitemrelative_dn">
                                                  <sch:rule context="ind-sc:ldap_item/ind-sc:relative_dn">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the relative_dn entity of an ldap_item should be 'string'</sch:assert>
                                                       <sch:assert test="not(@xsi:nil='true') or ../ind-sc:attribute/@xsi:nil='true'"><sch:value-of select="../@id"/> - attribute entity must be nil when relative_dn is nil</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="attribute" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" nillable="true">
                                   <xsd:annotation>
                                        <xsd:documentation>Specifies a named value contained by the object. If the xsi:nil attribute is set to true, then the item being represented is the higher level relative distinguished name. Using xsi:nil here will result in a status of 'does not exist' for object_class, ldaptype, and value since these entities are not associated with a relative distinguished name by itself.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldapitemattribute">
                                                  <sch:rule context="ind-sc:ldap_item/ind-sc:attribute">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the attribute entity of an ldap_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="object_class" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The name of the class of which the object is an instance.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldapitemobject_class">
                                                  <sch:rule context="ind-sc:ldap_item/ind-sc:object_class">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the object_class entity of an ldap_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="ldaptype" type="ind-sc:EntityItemLdaptypeType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>Specifies the type of information that the specified attribute represents.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldapitemldaptype">
                                                  <sch:rule context="ind-sc:ldap_item/ind-sc:ldaptype">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the ldaptype entity of an ldap_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="value" type="oval-sc:EntityItemAnySimpleType" minOccurs="0" maxOccurs="unbounded">
                                   <xsd:annotation>
                                        <xsd:documentation>The actual value of the specified LDAP attribute.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-def_ldapitemvalue">
                                                  <sch:rule context="ind-sc:ldap_item/ind-sc:value">
                                                       <sch:assert test="not(@datatype='record')"><sch:value-of select="../@id"/> - datatype attribute for the <sch:value-of select="name()"/> entity of an <sch:value-of select="name(..)"/> should not be 'record'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- =================================  LDAP ITEM (57)  ============================ -->
     <!-- =============================================================================== -->
     <xsd:element name="ldap57_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>This element holds information about specific entries in the LDAP directory. It extends the standard ItemType as defined in the oval-system-characteristics schema and one should refer to the ItemType description for more information.</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="suffix" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>Each object in an LDAP directory exists under a certain suffix (also known as a naming context). A suffix is defined as a single object in the Directory Information Tree (DIT) with every object in the tree subordinate to it.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldap57itemsuffix">
                                                  <sch:rule context="ind-sc:ldap57_item/ind-sc:suffix">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the suffix entity of an ldap57_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="relative_dn" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" nillable="true">
                                   <xsd:annotation>
                                        <xsd:documentation>The relative_dn field is used to uniquely identify an item inside the specified suffix. It contains all of the parts of the item's distinguished name except those outlined by the suffix. If the xsi:nil attribute is set to true, then the item being represented is the higher level suffix. Using xsi:nil here will result in a status of 'does not exist' for object_class, ldaptype, and value since these entities are not associated with a suffix by itself. Note that when xsi:nil is used for the relative dn element, the attribute element should also be nilled.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldap57itemrelative_dn">
                                                  <sch:rule context="ind-sc:ldap57_item/ind-sc:relative_dn">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the relative_dn entity of an ldap57_item should be 'string'</sch:assert>
                                                       <sch:assert test="not(@xsi:nil='true') or ../ind-sc:attribute/@xsi:nil='true'"><sch:value-of select="../@id"/> - attribute entity must be nil when relative_dn is nil</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="attribute" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1" nillable="true">
                                   <xsd:annotation>
                                        <xsd:documentation>Specifies a named value contained by the object. If the xsi:nil attribute is set to true, then the item being represented is the higher level relative distinguished name. Using xsi:nil here will result in a status of 'does not exist' for object_class, ldaptype, and value since these entities are not associated with a relative distinguished name by itself.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldap57itemattribute">
                                                  <sch:rule context="ind-sc:ldap57_item/ind-sc:attribute">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the attribute entity of an ldap57_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="object_class" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The name of the class of which the object is an instance.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldap57itemobject_class">
                                                  <sch:rule context="ind-sc:ldap57_item/ind-sc:object_class">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the object_class entity of an ldap57_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="ldaptype" type="ind-sc:EntityItemLdaptypeType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>Specifies the type of information that the specified attribute represents.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldap57itemldaptype">
                                                  <sch:rule context="ind-sc:ldap57_item/ind-sc:ldaptype">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the ldaptype entity of an ldap57_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="value" type="oval-sc:EntityItemRecordType" minOccurs="0" maxOccurs="unbounded">
                                   <xsd:annotation>
                                        <xsd:documentation>The actual value of the specified LDAP attribute.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_ldap57_item_value">
                                                  <sch:rule context="ind-sc:ldap57_item/ind-sc:value">
                                                       <sch:assert test="@datatype='record'">item <sch:value-of select="../@id"/> - datatype attribute for the value entity of a ldap57_item must be 'record'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>                                   
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- =============================  SQL CONTENT ITEM   ============================= -->
     <!-- =============================================================================== -->
     <xsd:element name="sql_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>The sql_item outlines information collected from a database via an SQL query.</xsd:documentation>
               <xsd:appinfo>
                    <oval:deprecated_info>
                         <oval:version>5.7</oval:version>
                         <oval:reason>Replaced by the sql57_item. This item allows for single fields to be selected from a database. A new item was created to allow more than one field to be selected in one statement. See the sql57_item.</oval:reason>
                         <oval:comment>This object has been deprecated and may be removed in a future version of the language.</oval:comment>
                    </oval:deprecated_info>
                    <sch:pattern id="ind-sc_sql_item_dep">
                         <sch:rule context="ind-def:sql_item">
                              <sch:report test="true()">DEPRECATED ITEM: <sch:value-of select="name()"/> ID: <sch:value-of select="@id"/></sch:report>
                         </sch:rule>
                    </sch:pattern>                        
               </xsd:appinfo>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="engine" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The engine entity identifies the specific database engine used to connect to the database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sqlitemengine">
                                                  <sch:rule context="ind-sc:sql_item/ind-sc:engine">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the engine entity of an sql_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="version" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The version entity identifies the version of the database engine used to connect to the database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sqlitemversion">
                                                  <sch:rule context="ind-sc:sql_item/ind-sc:version">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the version entity of an sql_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="connection_string" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The connection_string entity defines connection parameters used to connect to the specific database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sqlitemconnection_string">
                                                  <sch:rule context="ind-sc:sql_item/ind-sc:connection_string">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the connection_string entity of an sql_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="sql" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The sql entity holds the specific query used to identify the object(s) in the database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sqlitemsql">
                                                  <sch:rule context="ind-sc:sql_item/ind-sc:sql">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the sql entity of an sql_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="result" type="oval-sc:EntityItemAnySimpleType" minOccurs="0" maxOccurs="unbounded">
                                   <xsd:annotation>
                                        <xsd:documentation>The result entity specifies the result(s) of the given SQL query against the database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-def_sqlitemresult">
                                                  <sch:rule context="ind-sc:sql_item/ind-sc:result">
                                                       <sch:assert test="not(@datatype='record')"><sch:value-of select="../@id"/> - datatype attribute for the <sch:value-of select="name()"/> entity of an <sch:value-of select="name(..)"/> should not be 'record'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- =============================  SQL CONTENT ITEM (57)   ======================== -->
     <!-- =============================================================================== -->
     <xsd:element name="sql57_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>The sql57_item outlines information collected from a database via an SQL query.</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="engine" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The engine entity identifies the specific database engine used to connect to the database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sql7itemengine">
                                                  <sch:rule context="ind-sc:sql57_item/ind-sc:engine">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the engine entity of an sql57_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="version" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The version entity identifies the version of the database engine used to connect to the database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sql57itemversion">
                                                  <sch:rule context="ind-sc:sql57_item/ind-sc:version">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the version entity of an sql57_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="connection_string" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The connection_string entity defines connection parameters used to connect to the specific database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sql57itemconnection_string">
                                                  <sch:rule context="ind-sc:sql57_item/ind-sc:connection_string">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the connection_string entity of an sql57_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="sql" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The sql entity holds the specific query used to identify the object(s) in the database.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sql57itemsql">
                                                  <sch:rule context="ind-sc:sql57_item/ind-sc:sql">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the sql entity of an sql57_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="result" type="oval-sc:EntityItemRecordType" minOccurs="0" maxOccurs="unbounded">
                                   <xsd:annotation>
                                        <xsd:documentation>The result entity holds the results of the specified SQL statement.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_sql57_item_value">
                                                  <sch:rule context="ind-sc:sql57_item/ind-sc:result">
                                                       <sch:assert test="@datatype='record'">item <sch:value-of select="../@id"/> - datatype attribute for the result entity of a sql57_item must be 'record'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>                                   
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- ==========================  TEXT FILE CONTENT ITEM  =========================== -->
     <!-- =============================================================================== -->
     <xsd:element name="textfilecontent_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>The textfilecontent_item looks at the contents of a text file (aka a configuration file) by looking at individual lines.</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="filepath" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The filepath element specifies the absolute path for a file on the machine. A directory cannot be specified as a filepath.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_txtitemfilepath">
                                                  <sch:rule context="ind-sc:textfilecontent_item/ind-sc:filepath">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the filepath entity of a textfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="path" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The path element specifies the directory component of the absolute path to a file on the machine.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_txtitempath">
                                                  <sch:rule context="ind-sc:textfilecontent_item/ind-sc:path">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the path entity of a textfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="filename" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                         <xsd:documentation>The filename entity specifies the name of the file (without the path) that is being represented.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_txtitemfilename">
                                                  <sch:rule context="ind-sc:textfilecontent_item/ind-sc:filename">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the filename entity of a textfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                               <xsd:element name="pattern" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                     <xsd:annotation>
                                           <xsd:documentation>The pattern entity represents a regular expression that is used to define a block of text.  Subexpression notation (parenthesis) is used to call out a value(s) to test against.  For example, the pattern abc(.*)xyz would look for a block of text in the file that starts with abc and ends with xyz, with the subexpression being all the characters that exist inbetween.  Note that if the pattern can match more than one block of text starting at the same point, then it matches the longest. Subexpressions also match the longest possible substrings, subject to the constraint that the whole match be as long as possible, with subexpressions starting earlier in the pattern taking priority over ones starting later.</xsd:documentation>
                                           <xsd:appinfo>
                                                 <sch:pattern id="ind-sc_txtitempattern">
                                                       <sch:rule context="ind-sc:textfilecontent_item/ind-sc:pattern">
                                                             <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the pattern entity of a textfilecontent_item should be 'string'</sch:assert>
                                                       </sch:rule>
                                                 </sch:pattern>
                                           </xsd:appinfo>
                                     </xsd:annotation>
                               </xsd:element>
                               <xsd:element name="instance" type="oval-sc:EntityItemIntType" minOccurs="0" maxOccurs="1">
                                     <xsd:annotation>
                                           <xsd:documentation>The instance entity calls out which match of the pattern is being represented by this item.  The first match is given an instance value of 1, the second match is given and instance value of 2, and so on.  The main purpose of this entity is too provide uniqueness for different textfilecontent_items that results from multiple matches of a given pattern against the same file.</xsd:documentation>
                                           <xsd:appinfo>
                                                 <sch:pattern id="ind-sc_txtiteminstance">
                                                       <sch:rule context="ind-sc:textfilecontent_item/ind-sc:instance">
                                                             <sch:assert test="@datatype='int'">item <sch:value-of select="../@id"/> - datatype attribute for the instance entity of a textfilecontent_item should be 'int'</sch:assert>
                                                       </sch:rule>
                                                 </sch:pattern>
                                           </xsd:appinfo>
                                     </xsd:annotation>
                               </xsd:element>
                               <xsd:element name="line" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                         <xsd:documentation>The line element represents a line in the file and is represented using a regular expression.</xsd:documentation>
                                         <xsd:appinfo>
                                             <oval:deprecated_info>
                                                  <oval:version>5.4</oval:version>
                                                  <oval:reason>Due to the fact that the TextFileContent54_test supports multi-line pattern matching, the line entity is no longer needed.</oval:reason>
                                                  <oval:comment>This entity has been deprecated and will be removed in version 6.0 of the language.</oval:comment>
                                             </oval:deprecated_info>
                                             <sch:pattern id="ind-sc_txtitemline">
                                                  <sch:rule context="ind-sc:textfilecontent_item/ind-sc:line">
                                                        <sch:report test="true()">DEPRECATED ELEMENT: <sch:value-of select="name()"/> ID: <sch:value-of select="@id"/></sch:report>
                                                        <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the line entity of a textfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                               <xsd:element name="text" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                     <xsd:annotation>
                                           <xsd:documentation>The text entity represents the block of text that matched the specified pattern.</xsd:documentation>
                                           <xsd:appinfo>
                                                 <sch:pattern id="ind-sc_txtitemtext">
                                                       <sch:rule context="ind-sc:textfilecontent_item/ind-sc:text">
                                                             <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the text entity of a textfilecontent_item should be 'string'</sch:assert>
                                                       </sch:rule>
                                                 </sch:pattern>
                                           </xsd:appinfo>
                                     </xsd:annotation>
                               </xsd:element>
                               <xsd:element name="subexpression" type="oval-sc:EntityItemAnySimpleType" minOccurs="0" maxOccurs="unbounded">
                                   <xsd:annotation>
                                        <xsd:documentation>The subexpression entity represents the value of a subexpression in the specified pattern.  If multiple subexpressions are specified in the pattern, then multiple entities are presented.  Note that the textfilecontent_state in the definition schema only allows a single subexpression entity.  This means that the test will check that all (or at least one, none, etc.) the subexpressions pass the same check.  This means that the order of multiple subexpression entities in the item does not matter.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-def_txtitemsubexpression">
                                                  <sch:rule context="ind-sc:textfilecontent_item/ind-sc:subexpression">
                                                       <sch:assert test="not(@datatype='record')"><sch:value-of select="../@id"/> - datatype attribute for the <sch:value-of select="name()"/> entity of an <sch:value-of select="name(..)"/> should not be 'record'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- ===============================  VARIABLE ITEM  =============================== -->
     <!-- =============================================================================== -->
     <xsd:element name="variable_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>This item stores information about OVAL Variables and their values.</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="var_ref" type="ind-sc:EntityItemVariableRefType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The id of the variable.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_varitemvar_ref">
                                                  <sch:rule context="ind-sc:variable_item/ind-sc:var_ref">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the var_ref entity of a variable_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="value" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="unbounded">
                                   <xsd:annotation>
                                        <xsd:documentation>The value of the variable. If a variable represents and array of values, then multiple value elements should exist.</xsd:documentation>
                                   </xsd:annotation>
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- ===========================  XML FILE CONTENT ITEM  =========================== -->
     <!-- =============================================================================== -->
     <xsd:element name="xmlfilecontent_item" substitutionGroup="oval-sc:item">
          <xsd:annotation>
               <xsd:documentation>This item stores results from checking the contents of an xml file.</xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
               <xsd:complexContent>
                    <xsd:extension base="oval-sc:ItemType">
                         <xsd:sequence>
                              <xsd:element name="filepath" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The filepath element specifies the absolute path for a file on the machine. A directory cannot be specified as a filepath.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_xmlitemfilepath">
                                                  <sch:rule context="ind-sc:xmlfilecontent_item/ind-sc:filepath">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the filepath entity of a xmlfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="path" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The path element specifies the directory component of the absolute path to a file on the machine.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_xmlitempath">
                                                  <sch:rule context="ind-sc:xmlfilecontent_item/ind-sc:path">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the path entity of a xmlfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="filename" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>The filename element specifies the name of the file.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_xmlitemfilename">
                                                  <sch:rule context="ind-sc:xmlfilecontent_item/ind-sc:filename">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the filename entity of a xmlfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="xpath" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
                                   <xsd:annotation>
                                        <xsd:documentation>Specifies an Xpath expression describing the text node(s) or attribute(s) to look at.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_xmlitemxpath">
                                                  <sch:rule context="ind-sc:xmlfilecontent_item/ind-sc:xpath">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the xpath entity of a xmlfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                              <xsd:element name="value_of" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="unbounded">
                                   <xsd:annotation>
                                        <xsd:documentation>The value_of element checks the value(s) of the text node(s) or attribute(s) found. How this is used is entirely controlled by operator attributes.</xsd:documentation>
                                        <xsd:appinfo>
                                             <sch:pattern id="ind-sc_xmlitemvalue_of">
                                                  <sch:rule context="ind-sc:xmlfilecontent_item/ind-sc:value_of">
                                                       <sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id"/> - datatype attribute for the value_of entity of a xmlfilecontent_item should be 'string'</sch:assert>
                                                  </sch:rule>
                                             </sch:pattern>
                                        </xsd:appinfo>
                                   </xsd:annotation>
                              </xsd:element>
                         </xsd:sequence>
                    </xsd:extension>
               </xsd:complexContent>
          </xsd:complexType>
     </xsd:element>
     <!-- =============================================================================== -->
     <!-- =============================================================================== -->
     <!-- =============================================================================== -->
     <xsd:complexType name="EntityItemEngineType">
          <xsd:annotation>
               <xsd:documentation>The EntityItemEngineType complex type defines a string entity value that is restricted to an enumeration. Each valid entry in the enumeration is a valid database engine.</xsd:documentation>
          </xsd:annotation>
          <xsd:simpleContent>
               <xsd:restriction base="oval-sc:EntityItemStringType">
                    <xsd:enumeration value="access">
                         <xsd:annotation>
                              <xsd:documentation>The access value describes the Microsoft Access database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="db2">
                         <xsd:annotation>
                              <xsd:documentation>The db2 value describes the IBM DB2 database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="cache">
                         <xsd:annotation>
                              <xsd:documentation>The cache value describes the InterSystems Cache database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="firebird">
                         <xsd:annotation>
                              <xsd:documentation>The firebird value describes the Firebird database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="firstsql">
                         <xsd:annotation>
                              <xsd:documentation>The firstsql value describes the FirstSQL database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="foxpro">
                         <xsd:annotation>
                              <xsd:documentation>The foxpro value describes the Microsoft FoxPro database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="informix">
                         <xsd:annotation>
                              <xsd:documentation>The informix value describes the IBM Informix database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="ingres">
                         <xsd:annotation>
                              <xsd:documentation>The ingres value describes the Ingres database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="interbase">
                         <xsd:annotation>
                              <xsd:documentation>The interbase value describes the Embarcadero Technologies InterBase database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="lightbase">
                         <xsd:annotation>
                              <xsd:documentation>The lightbase value describes the Light Infocon LightBase database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="maxdb">
                         <xsd:annotation>
                              <xsd:documentation>The maxdb value describes the SAP MaxDB database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="monetdb">
                         <xsd:annotation>
                              <xsd:documentation>The monetdb value describes the MonetDB SQL database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="mimer">
                         <xsd:annotation>
                              <xsd:documentation>The mimer value describes the Mimer SQL database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="oracle">
                         <xsd:annotation>
                              <xsd:documentation>The oracle value describes the Oracle database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="paradox">
                         <xsd:annotation>
                              <xsd:documentation>The paradox value describes the Paradox database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="pervasive">
                         <xsd:annotation>
                              <xsd:documentation>The pervasive value describes the Pervasive PSQL database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="postgre">
                         <xsd:annotation>
                              <xsd:documentation>The postgre value describes the PostgreSQL database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="sqlbase">
                         <xsd:annotation>
                              <xsd:documentation>The sqlbase value describes the Unify SQLBase database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="sqlite">
                         <xsd:annotation>
                              <xsd:documentation>The sqlite value describes the SQLite database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="sqlserver">
                         <xsd:annotation>
                              <xsd:documentation>The sqlserver value describes the Microsoft SQL database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="sybase">
                         <xsd:annotation>
                              <xsd:documentation>The sybase value describes the Sybase database engine.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="">
                         <xsd:annotation>
                              <xsd:documentation>The empty string value is permitted here to allow for detailed error reporting.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
               </xsd:restriction>
          </xsd:simpleContent>
     </xsd:complexType>
     <xsd:complexType name="EntityItemFamilyType">
          <xsd:annotation>
               <xsd:documentation>The EntityItemFamilyType complex type defines a string entity value that is restricted to a set of enumerations. Each valid enumeration is a high-level family of system operating system.</xsd:documentation>
          </xsd:annotation>
          <xsd:simpleContent>
               <xsd:restriction base="oval-sc:EntityItemStringType">
                    <xsd:enumeration value="ios">
                         <xsd:annotation>
                              <xsd:documentation>The ios value describes the Cisco IOS operating system.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="macos">
                         <xsd:annotation>
                              <xsd:documentation>The macos value describes the Mac operating system.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="unix">
                         <xsd:annotation>
                              <xsd:documentation>The unix value describes the UNIX operating system.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="windows">
                         <xsd:annotation>
                              <xsd:documentation>The windows value describes the Windows operating system.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="">
                         <xsd:annotation>
                              <xsd:documentation>The empty string value is permitted here to allow for detailed error reporting.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
               </xsd:restriction>
          </xsd:simpleContent>
     </xsd:complexType>
     <xsd:complexType name="EntityItemVariableRefType">
          <xsd:annotation>
               <xsd:documentation>The EntityItemVariableRefType complex type defines a string item entity that has a valid OVAL variable id as the value.</xsd:documentation>
          </xsd:annotation>
          <xsd:simpleContent>
               <xsd:restriction base="oval-sc:EntityItemStringType">
                    <xsd:pattern value="oval:[A-Za-z0-9_\-\.]+:var:[1-9][0-9]*"/>
               </xsd:restriction>
          </xsd:simpleContent>
     </xsd:complexType>
     <xsd:complexType name="EntityItemLdaptypeType">
          <xsd:annotation>
               <xsd:documentation>The EntityItemLdaptypeType complex type restricts a string value to a specific set of values that specify the different types of information that an ldap attribute can represent. The empty string value is permitted here to allow for detailed error reporting.</xsd:documentation>
          </xsd:annotation>
          <xsd:simpleContent>
               <xsd:restriction base="oval-sc:EntityItemStringType">
                    <xsd:enumeration value="LDAPTYPE_ATTRIBUTE_TYPE_DESCRIP_STRING">
                         <xsd:annotation>
                              <xsd:documentation>The data type is the attribute type description.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_DN_STRING">
                         <xsd:annotation>
                              <xsd:documentation>The string is of Distinguished Name (path) of a directory service object.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_BIT_STRING">
                         <xsd:annotation>
                              <xsd:documentation>The bit string type.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_PRINTABLE_STRING">
                         <xsd:annotation>
                              <xsd:documentation>The string is displayable on screen or in print.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_NUMERIC_STRING">
                         <xsd:annotation>
                              <xsd:documentation>The string is of a numeral to be interpreted as text.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_BOOLEAN">
                         <xsd:annotation>
                              <xsd:documentation>The data is of a Boolean value.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_INTEGER">
                         <xsd:annotation>
                              <xsd:documentation>The data is of an integer value.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_UTC_TIME">
                         <xsd:annotation>
                              <xsd:documentation>The data is of the universal time as expressed in Universal Time Coordinate (UTC).</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_GENERALIZED_TIME">
                         <xsd:annotation>
                              <xsd:documentation>The data is of generalized time.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_DIRECTORY_STRING">
                         <xsd:annotation>
                              <xsd:documentation>The directory string.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_OBJECT_CLASS_DESCRIP_STRING">
                         <xsd:annotation>
                              <xsd:documentation>The object class description type.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_BINARY">
                         <xsd:annotation>
                              <xsd:documentation>The data is binary.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_TIMESTAMP">
                         <xsd:annotation>
                              <xsd:documentation>The data is of a time stamp in seconds.</xsd:documentation>
                              <xsd:appinfo>
                                   <oval:deprecated_info>
                                        <oval:version>5.7</oval:version>
                                        <oval:reason>This value was accidently carried over from the win-sc:EntityItemAdstypeType as it was used as a template for the ind-sc:EntityItemLdaptypeType.</oval:reason>
                                        <oval:comment>This value has been deprecated and will be removed in version 6.0 of the language.</oval:comment>
                                   </oval:deprecated_info>
                                   <sch:pattern id="ind-sc_ldaptype_timestamp_value_dep">
                                        <sch:rule context="oval-sc:oval_system_characteristics/oval-sc:system_data/ind-sc:ldap_item/ind-sc:ldaptype|oval-sc:oval_system_characteristics/oval-sc:system_data/ind-sc:ldap57_item/ind-sc:ldaptype">
                                             <sch:report test=".='LDAPTYPE_TIMESTAMP'">
                                                  DEPRECATED ELEMENT VALUE IN: ldap_item ELEMENT VALUE: <sch:value-of select="."/> 
                                             </sch:report>
                                        </sch:rule>
                                   </sch:pattern>                        
                              </xsd:appinfo>
                         </xsd:annotation>
                    </xsd:enumeration>
                    <xsd:enumeration value="LDAPTYPE_EMAIL">
                         <xsd:annotation>
                              <xsd:documentation>The data is of an e-mail message.</xsd:documentation>
                              <xsd:appinfo>
                                   <oval:deprecated_info>
                                        <oval:version>5.7</oval:version>
                                        <oval:reason>This value was accidently carried over from the win-sc:EntityItemAdstypeType as it was used as a template for the ind-sc:EntityItemLdaptypeType.</oval:reason>
                                        <oval:comment>This value has been deprecated and will be removed in version 6.0 of the language.</oval:comment>
                                   </oval:deprecated_info>
                                   <sch:pattern id="ind-sc_ldaptype_email_value_dep">
                                        <sch:rule context="oval-sc:oval_system_characteristics/oval-sc:system_data/ind-sc:ldap_item/ind-sc:ldaptype|oval-sc:oval_system_characteristics/oval-sc:system_data/ind-sc:ldap57_item/ind-sc:ldaptype">
                                             <sch:report test=".='LDAPTYPE_EMAIL'">
                                                  DEPRECATED ELEMENT VALUE IN: ldap_item ELEMENT VALUE: <sch:value-of select="."/> 
                                             </sch:report>
                                        </sch:rule>
                                   </sch:pattern>                        
                              </xsd:appinfo>
                         </xsd:annotation>                              
                    </xsd:enumeration>
                    <xsd:enumeration value="">
                         <xsd:annotation>
                              <xsd:documentation>The empty string value is permitted here to allow for detailed error reporting.</xsd:documentation>
                         </xsd:annotation>
                    </xsd:enumeration>
               </xsd:restriction>
          </xsd:simpleContent>
     </xsd:complexType>
</xsd:schema>
