<xsd:element name="compound_test" substitutionGroup="oval_results:test">
<xsd:annotation>
<xsd:documentation>This test has been deprecated in version 4.1 of the oval-schema and will be removed completely in version 5. It is recommended that all future OVAL Content use the compound_test found in the independent schema.</xsd:documentation>
<xsd:documentation>A compound test allows multiple tests (including other compound tests) to be joined together by a logical operator. This provides flexibility in test creation and enables complex tests to be reused, serving as building blocks for future tests. The required operation attribute specifies how to logically combine the numerous subtests of a compound test. Possible values are: AND, OR, XOR. A value of AND means that each subtest must be true for the compound_test to return true. A value of OR means that only one subtest must be true for the compound_test to return true. A value of XOR means that one, and only one, subtest must be true for the compound_test to return true. The required result attribute specifies the result of the OVAL analysis on this group of subtests. A compound test extends the compoundTestType.</xsd:documentation>
<xsd:appinfo>
<test_name>Compound Test</test_name>
<extends>compoundTestType</extends>
<valid_sections>[message], subtest</valid_sections>
<example>
<compound_test id="cmp-0" operation="AND" comment="an example compound test" version="1" result="1">
<subtest test_ref="wrt-0" version="1" result="0" />
<subtest test_ref="wat-0" version="1" negate="true" result="1" />
<subtest test_ref="cmp-1" version="1" result="1" />
</compound_test>
</example>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval_results:testType">
<xsd:sequence>
<xsd:element name="subtest" minOccurs="1" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>The subtest element specifies a particular test to be referenced. The required test_ref attribute accomplishes this by linking to a valid test id. The optional 'negate' attribute signifies that the result of an individual test should be negated during analysis. For example, consider a test that returns TRUE if a specific patch is installed. By negating this test, it now analyzes to TRUE if the patch is NOT installed. The required result attribute holds the result of the analysis, either true, false, or error.</xsd:documentation>
<xsd:appinfo>
<parent_test>Compound Test</parent_test>
<cardinality>1-n</cardinality>
<content>none</content>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="test_ref" type="oval_results:testid" use="required" />
<xsd:attribute name="version" type="oval_results:versionType" default="1" />
<xsd:attribute name="negate" type="xsd:boolean" use="optional" default="false" />
<xsd:attribute name="result" type="oval_results:resultType" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="operation" type="oval_results:operations" use="required" />
<xsd:attribute name="result" type="oval_results:resultType" use="required" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
|