Aras Innovator Platform

Free-Form Boolean Expression Language

The Free-Form Boolean expression language enables you to easily 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
  • ge
  • le
  • variable
  • named-constant
  • 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_model" /> 
            <named-constant id="item_id_z5" /> 
          </eq> 
          <eq> 
            <variable id="item_id_unit" /> 
            <constant type="int">10</constant> 
          </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> 
&lt;expression&gt; 
        &lt;and&gt; 
          &lt;eq&gt; 
            &lt;variable id="item_id_model" /&gt; 
            &lt;named-constant id="item_id_z5" /&gt; 
          &lt;/eq&gt; 
          &lt;eq&gt; 
            &lt;variable id="item_id_unit" /&gt; 
            &lt;constant type="int"&gt;10&lt;constant&gt; 
          &lt;/eq&gt; 
        &lt;/and&gt; 
&lt;/expression&gt; 
</containerNode> 

The following sections describe these nodes and include examples.