<xsd:element name="rpminfo_item" substitutionGroup="oval-sc:item">
<xsd:annotation>
<xsd:documentation>This item stores rpm info.</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 is the pakage name to check.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="rpmitemname" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="linux-sc:rpminfo_item/linux-sc:name">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the name entity of a rpminfo_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="arch" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the architecture for which the RPM was built, like : i386, ppc, sparc, noarch. In the case of an apache rpm named httpd-2.0.40-21.11.4.i686.rpm, this value would be i686.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="rpmitemarch" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="linux-sc:rpminfo_item/linux-sc:arch">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the arch entity of a rpminfo_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="epoch" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the epoch number of the RPM, this is used as a kludge for version-release comparisons where the vendor has done some kind of re-numbering or version forking. For a null epoch (or '(none)' as returned by rpm) is equivalent to '0'.This number is not revealed by a normal query of the RPM's information -- you must use a formatted rpm query command to gather this data from the command line, like so. For an already-installed RPM: rpm -q --qf '%{EPOCH}\n' installed_rpm For an RPM file that has not been installed: rpm -qp --qf '%{EPOCH}\n' rpm_file</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="rpmitemepoch" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="linux-sc:rpminfo_item/linux-sc:epoch">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the epoch entity of a rpminfo_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="release" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is the release number of the build.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="rpmitemrelease" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="linux-sc:rpminfo_item/linux-sc:release">
<sch:assert test="not(@datatype) or @datatype='string' or @datatype='version'">item <sch:value-of select="../@id" /> - datatype attribute for the release entity of a rpminfo_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>This is the version number of the build, changed by the vendor/builder. In the case of an apache rpm named httpd-2.0.40-21.11.4.i686.rpm, this value would be 21.11.4.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="rpmitemversion" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="linux-sc:rpminfo_item/linux-sc:version">
<sch:assert test="not(@datatype) or @datatype='string' or @datatype='version'">item <sch:value-of select="../@id" /> - datatype attribute for the version entity of a rpminfo_item should be 'string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="evr" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This represents the epoch, version, and release fields as a single version string. It has the form "EPOCH:VERSION-RELEASE". Note that a null epoch (or '(none)' as returned by rpm) is equivalent to '0' and would hence have the form 0:VERSION-RELEASE.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="rpmitemevr" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="linux-sc:rpminfo_item/linux-sc:evr">
<sch:assert test="not(@datatype) or @datatype='evr_string'">item <sch:value-of select="../@id" /> - datatype attribute for the evr entity of a rpminfo_item should be 'evr_string'</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="signature_keyid" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This field contains the PGP key ID that the RPM issuer (generally the original operating system vendor) uses to sign the key. PGP is used to verify the authenticity and integrity of the RPM being considered. Software packages and patches are signed cryptographically to allow administrators to allay concerns that the distribution mechanism has been compromised, whether that mechanism is web site, FTP server, or even a mirror controlled by a hostile party. OVAL uses this field most of all to confirm that the package installed on the system is that shipped by the vendor, since comparing package version numbers against patch announcements is only programmatically valid if the installed package is known to contain the patched code.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="rpmitemsignature_keyid" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="linux-sc:rpminfo_item/linux-sc:signature_keyid">
<sch:assert test="not(@datatype) or @datatype='string'">item <sch:value-of select="../@id" /> - datatype attribute for the signature_keyid entity of a rpminfo_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>
|