Free-Form Boolean Expression Language
Copy
The Free-Form Boolean expression language enables you to define restrictions and relationships between Variables. It is based on the Aras Markup Language (AML). The following nodes are used in the language:
- expression
- eq
- variable
- named-constant
- and
- or
- not
- implication
- condition
- consequence
- exactly-one
- at-most-one
- at-least-one
Some of these nodes contain required attributes and some of them have a strict structure or required nodes.
When using an expression in AML, it should be represented as a value of a Container Node. This can be achieved in two ways: wrapped with CDATA or encoded.
CDATA Example:
<containerNode>
<![CDATA[<expression>
<and>
<eq>
<variable id="item_id_color" />
<named-constant id="item_id_red" />
</eq>
<eq>
<variable id="item_id_wheelsize" />
<named-constant id="item_id_17inch" />
</eq>
</and>
</expression>]]>
</containerNode>
Note
There can only be one CDATA node within a Container Node. The CDATA node can only contain one expression node.
Encoded Example:
<containerNode>
<expression>
<and>
<eq>
<variable id="item_id_color" />
<named-constant id="item_id_red" />
</eq>
<eq>
<variable id="item_id_wheelsize" />
<named-constant id="item_id_17inch" />
</eq>
</and>
</expression>
</containerNode>
The following sections describe these nodes and include examples.