Definition Type: Element
Name: set
Namespace: http://oval.mitre.org/XMLSchema/oval-definitions-5
Containing Schema: oval-definitions-schema.xsd
Abstract
Documentation:
The set element enables complex objects to be described. It is a recursive element in that each set element can contain additional set elements as children. Each set element defines characteristics that produce a matching set of objects. The possible characteristics are an object reference and a collection of filters. The object_reference refers to an existing OVAL Object. The filter element provides a reference to an existing OVAL State. A filter is used to eliminate certain objects from the set. Each filter is applied to each OVAL Object before the set_operator is applied. For example, if an object_reference points to an OVAL Object that is every file in a certain directory, a filter might be set up to limit the object set to only those files with a size less than 10 KB. If multiple filters are provided, then each filter is used separately against the defined object set. In other words, if an object matches any of the supplied filters, then it is thrown out of the set. The required set_operator attribute defines how different child sets are combined to form the overall set of objects. For example, does one take the union of different sets or the intersection? For a description of the valid values please refer to the SetOperatorEnumeration simple type.
Collapse XSD Schema Diagram:
Drilldown into filter in schema oval-definitions-schema_xsd Drilldown into object_reference in schema oval-definitions-schema_xsd Drilldown into set in schema oval-definitions-schema_xsd Drilldown into set_operator in schema oval-definitions-schema_xsdXSD Diagram of set in schema oval-definitions-schema_xsd (Open Vulnerability and Assessment Language (OVAL®))
Collapse XSD Schema Code:
<xsd:element name="set">
    <xsd:annotation>
        <xsd:documentation>The set element enables complex objects to be described. It is a recursive element in that each set element can contain additional set elements as children. Each set element defines characteristics that produce a matching set of objects. The possible characteristics are an object reference and a collection of filters. The object_reference refers to an existing OVAL Object. The filter element provides a reference to an existing OVAL State. A filter is used to eliminate certain objects from the set. Each filter is applied to each OVAL Object before the set_operator is applied. For example, if an object_reference points to an OVAL Object that is every file in a certain directory, a filter might be set up to limit the object set to only those files with a size less than 10 KB. If multiple filters are provided, then each filter is used separately against the defined object set. In other words, if an object matches any of the supplied filters, then it is thrown out of the set.</xsd:documentation>
        <xsd:documentation>The required set_operator attribute defines how different child sets are combined to form the overall set of objects. For example, does one take the union of different sets or the intersection? For a description of the valid values please refer to the SetOperatorEnumeration simple type.</xsd:documentation>
        <xsd:appinfo>
            <sch:pattern id="setobjref" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
                <sch:rule context="/oval-def:oval_definitions/oval-def:objects/*/oval-def:set/oval-def:object_reference">
                    <sch:assert test="name(./../..) = name(/oval-def:oval_definitions/oval-def:objects/*[@id=current()])">
                        <sch:value-of select="../../@id" /> - Each object referenced by the set must be of the same type as parent object</sch:assert>
                </sch:rule>
                <sch:rule context="/oval-def:oval_definitions/oval-def:objects/*/oval-def:set/oval-def:set/oval-def:object_reference">
                    <sch:assert test="name(./../../..) = name(/oval-def:oval_definitions/oval-def:objects/*[@id=current()])">
                        <sch:value-of select="../../../@id" /> - Each object referenced by the set must be of the same type as parent object</sch:assert>
                </sch:rule>
                <sch:rule context="/oval-def:oval_definitions/oval-def:objects/*/oval-def:set/oval-def:set/oval-def:set/oval-def:object_reference">
                    <sch:assert test="name(./../../../..) = name(/oval-def:oval_definitions/oval-def:objects/*[@id=current()])">
                        <sch:value-of select="../../../../@id" /> - Each object referenced by the set must be of the same type as parent object</sch:assert>
                </sch:rule>
            </sch:pattern>
        </xsd:appinfo>
    </xsd:annotation>
    <xsd:complexType>
        <xsd:choice>
            <xsd:sequence>
                <xsd:element ref="oval-def:set" minOccurs="1" maxOccurs="2" />
            </xsd:sequence>
            <xsd:sequence>
                <xsd:element name="object_reference" type="oval:ObjectIDPattern" minOccurs="1" maxOccurs="2" />
                <xsd:element name="filter" type="oval:StateIDPattern" minOccurs="0" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:choice>
        <xsd:attribute name="set_operator" type="oval-def:SetOperatorEnumeration" use="optional" default="UNION" />
    </xsd:complexType>
</xsd:element>
Collapse Child Elements:
Name Type Min Occurs Max Occurs
set oval-def:set 1 2
object_reference oval-def:object_reference 1 2
filter oval-def:filter 0 unbounded
Collapse Child Attributes:
Name Type Default Value Use
set_operator oval-def:set_operator UNION Optional