Definition Type: ComplexType
Name: ConcatFunctionType
Namespace: http://oval.mitre.org/XMLSchema/oval-definitions-5
Containing Schema: oval-definitions-schema.xsd
Abstract
Documentation:
The concat function takes two or more components and concatenates them together to form a single string. The first component makes up the begining of the resulting string and any following components are added to the end it. If one of the components returns multiple values then the concat function would be performed multiple times and the end result would be an array of values for the local variable. For example assume a local variable has two sub-components: a basic component element returns the values "abc" and "def", and a literal component element that has a value of "xyz". The local_variable element would be evaluated to have two values, "abcxyz" and "defxyz". If one of the components does not exist, then the result of the concat operation should be does not exist.
Collapse XSD Schema Diagram:
Drilldown into substring in schema oval-definitions-schema_xsd Drilldown into split in schema oval-definitions-schema_xsd Drilldown into escape_regex in schema oval-definitions-schema_xsd Drilldown into end in schema oval-definitions-schema_xsd Drilldown into concat in schema oval-definitions-schema_xsd Drilldown into begin in schema oval-definitions-schema_xsd Drilldown into FunctionGroup in schema oval-definitions-schema_xsd Drilldown into literal_component in schema oval-definitions-schema_xsd Drilldown into variable_component in schema oval-definitions-schema_xsd Drilldown into object_component in schema oval-definitions-schema_xsd Drilldown into ComponentGroup in schema oval-definitions-schema_xsdXSD Diagram of ConcatFunctionType in schema oval-definitions-schema_xsd (Open Vulnerability and Assessment Language (OVAL®))
Collapse XSD Schema Code:
<xsd:complexType name="ConcatFunctionType">
    <xsd:annotation>
        <xsd:documentation>The concat function takes two or more components and concatenates them together to form a single string. The first component makes up the begining of the resulting string and any following components are added to the end it. If one of the components returns multiple values then the concat function would be performed multiple times and the end result would be an array of values for the local variable. For example assume a local variable has two sub-components: a basic component element returns the values "abc" and "def", and a literal component element that has a value of "xyz". The local_variable element would be evaluated to have two values, "abcxyz" and "defxyz". If one of the components does not exist, then the result of the concat operation should be does not exist.</xsd:documentation>
        <xsd:appinfo>
            <evaluation_documentation>Below is a chart that specifies how to classify the flag status of a variable using the concat function during evaluation when multiple components are supplied. Both the object and variable component are indirectly associated with collected objects in a system characteristics file. These objects could have been completely collected from the system, or there might have been some type of error that led to the object not being collected, or maybe only a part of the object set was collected. This flag status is important as OVAL Objects or OVAL State that are working with a variable (through the var_ref attribute on an entity) can use this information to report more accurate results. For example, an OVAL Test with a check attribute of 'at least one' that specifies an object with a variable reference, might be able to produce a valid result based on an incomplete object set as long as one of the objects in the set is true.</evaluation_documentation>
            <evaluation_chart> || num of components with flag || || || resulting flag is || E | C | I | DNE | NC | NA || ------||-----------------------------------||------------------ || 1+ | 0+ | 0+ | 0+ | 0+ | 0+ || Error || 0 | 1+ | 0 | 0 | 0 | 0 || Complete || 0 | 0+ | 1+ | 0 | 0 | 0 || Incomplete || 0 | 0+ | 0+ | 1+ | 0 | 0 || Does Not Exist || 0 | 0+ | 0+ | 0+ | 1+ | 0 || Not Collected || 0 | 0+ | 0+ | 0+ | 0+ | 1+ || Not Applicable ------||-----------------------------------||------------------</evaluation_chart>
        </xsd:appinfo>
    </xsd:annotation>
    <xsd:sequence minOccurs="2" maxOccurs="unbounded">
        <xsd:group ref="oval-def:ComponentGroup" />
    </xsd:sequence>
</xsd:complexType>
Collapse Child Elements:
Name Type Min Occurs Max Occurs
object_component oval-def:object_component (1) (1)
variable_component oval-def:variable_component (1) (1)
literal_component oval-def:literal_component (1) (1)
begin oval-def:begin (1) (1)
concat oval-def:concat (1) (1)
end oval-def:end (1) (1)
escape_regex oval-def:escape_regex (1) (1)
split oval-def:split (1) (1)
substring oval-def:substring (1) (1)
<xs:group> oval-def:ComponentGroup (1) (1)
<xs:group> oval-def:FunctionGroup (1) (1)
Collapse Derivation Tree:
Collapse References:
oval-def:concat