<xsd:element name="file_item" substitutionGroup="oval-sc:item">
<xsd:annotation>
<xsd:documentation>The file item holds information about the individual files found on a system. Each file item contains path and filename information as well as its type, associated user and group ids, relevant dates, and the privialeges granted. 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="path" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The path entity specifies the absolute path (excluding the filename) to a file on the machine.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitempath" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:path">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the path entity of a file_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" nillable="true">
<xsd:annotation>
<xsd:documentation>The name of the file. If the nillable attribute is set to true, then the item being represented is the higher directory represented by the path entity.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemfilename" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:filename">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the filename entity of a file_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="type" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the file's type: regular file (regular), directory, named pipe (fifo), symbolic link, socket or block special.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemtype" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:type">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the type entity of a file_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="group_id" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the group owner of the file, by group number.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemgroup_id" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:group_id">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the group_id entity of a file_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="user_id" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The numeric user id, or uid, is the third column of each user's entry in /etc/passwd. This element represents the owner of the file.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemuser_id" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:user_id">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the user_id entity of a file_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="a_time" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the time of the last access, in seconds since the last epoch.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitema_time" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:a_time">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the a_time entity of a file_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="c_time" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the time of the last change to the file's inode, which stores all.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemc_time" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:c_time">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the c_time entity of a file_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="m_time" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the time of the last change to the file's contents.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemm_time" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:m_time">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the m_time entity of a file_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="size" type="oval-sc:EntityItemIntType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the size of the file in bytes.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemsize" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:size">
<sch:assert test="@datatype='int'">item <sch:value-of select="../@id" /> - datatype attribute for the size entity of a file_item should be 'int'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="suid" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Does the program run with the uid (thus privileges) of the file's owner, rather than the calling user?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemsuid" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:suid">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the suid entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="sgid" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Does the program run with the gid (thus privileges) of the file's group owner, rather than the calling user's group?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemsgid" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:sgid">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the sgid entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="sticky" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can users delete each other's files in this directory, when said directory is writable by those users?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemsticky" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:sticky">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the sticky entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="uread" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can the owner (user owner) of the file read this file or, if a directory, read the directory contents?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemuread" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:uread">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the uread entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="uwrite" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can the owner (user owner) of the file read this file or, if a directory, read the directory contents?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemuwrite" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:uwrite">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the uwrite entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="uexec" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can the owner (user owner) of the file execute it or, if a directory, change into the directory?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemuexec" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:uexec">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the uexec entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="gread" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can the group owner of the file read this file or, if a directory, read the directory contents?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemgread" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:gread">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the gread entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="gwrite" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can the group owner of the file write to this file or directory?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemgwrite" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:gwrite">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the gwrite entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="gexec" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can the group owner of the file execute it or, if a directory, change into the directory?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemgexec" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:gexec">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the gexec entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="oread" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can all other users read this file or, if a directory, read the directory contents?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemoread" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:oread">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the oread entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="owrite" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can the other users write to this file or directory?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemowrite" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:owrite">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the owrite entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="oexec" type="oval-sc:EntityItemBoolType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Can the other users execute this file or, if a directory, change into the directory?</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="unixfileitemoexec" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="unix-sc:file_item/unix-sc:oexec">
<sch:assert test="@datatype='boolean'">item <sch:value-of select="../@id" /> - datatype attribute for the oexec entity of a file_item should be 'boolean'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
|