<xsd:element name="oval">
<xsd:annotation>
<xsd:documentation>The oval element is the root of an OVAL Definition Document, and must occur exactly once. Its purpose is to bind together the four major sections of a definition - generator, definitions, tests, and variables - which are the children of the oval element. The generator section must be present and provides information about when the definition file was compiled and under what version. The optional definitions, tests, and variables sections define the specific characteristics that should be checked on a system to determine the truth value of the OVAL Definition Document.</xsd:documentation>
<xsd:documentation>The optional Signature element allows an XML Signature as defined by the W3C to be attached to the document. This allows authentication and data integrety to be provided to the user. Enveloped signatures are supported.</xsd:documentation>
<xsd:appinfo>
<cardinality>1</cardinality>
<attributes>none</attributes>
<content>none</content>
<parent_elements>none</parent_elements>
<child_elements>generator, [definitions], [tests], [variables], [Signature]</child_elements>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="oval:generator" minOccurs="1" maxOccurs="1" />
<xsd:element ref="oval:definitions" minOccurs="0" maxOccurs="1" />
<xsd:element ref="oval:tests" minOccurs="0" maxOccurs="1" />
<xsd:element ref="oval:variables" minOccurs="0" maxOccurs="1" />
<xsd:element ref="ds:Signature" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:key name="definitionKey">
<xsd:annotation>
<xsd:documentation>Enforce uniqueness amongst the OVAL ids differentiating the individual definition elements.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="oval:definitions/oval:definition" />
<xsd:field xpath="@id" />
</xsd:key>
<xsd:key name="testKey">
<xsd:annotation>
<xsd:documentation>Enforce uniqueness amongst the individual test ids.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="oval:tests/*" />
<xsd:field xpath="@id" />
</xsd:key>
<xsd:key name="variableKey">
<xsd:annotation>
<xsd:documentation>Enforce uniqueness amongst the individual variable ids.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="oval:variables/oval:variable" />
<xsd:field xpath="@id" />
</xsd:key>
<xsd:keyref name="testKeyRef" refer="oval:testKey">
<xsd:annotation>
<xsd:documentation>Require each test reference in a criterion element to refer to a valid test id.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="oval:definitions/oval:definition/oval:criteria/oval:*/oval:criterion" />
<xsd:field xpath="@test_ref" />
</xsd:keyref>
<xsd:keyref name="subtestKeyRef" refer="oval:testKey">
<xsd:annotation>
<xsd:documentation>Require each test reference in a subtest element to refer to a valid test id.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="oval:tests/oval:compound_test/oval:subtest" />
<xsd:field xpath="@test_ref" />
</xsd:keyref>
<xsd:keyref name="variable_testKeyRef" refer="oval:variableKey">
<xsd:annotation>
<xsd:documentation>Require each variable referenced in an item element refers to a valid variable id.</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="oval:tests/oval:variable_test/oval:item" />
<xsd:field xpath="@variable" />
</xsd:keyref>
</xsd:element>
|