<expr>

Purpose The <expr> clause is used to find multiple objects simultaneously that meet certain criteria. It is used in the <eval> statement.
Format <expr>
   {finder expression}
<expr>

{finder expression} an expression that forms a valid rule that can be applied to find objects that conform to the rule
has node:{node name} {node name} is the name of the object/node

Find all objects whose name is {node name}

has node:MyNode
will find all the nodes whose name is MyNode.

has attr:{attr name} {attr name} is the name of the attribute

Find all objects with an attribute whose name is {attr name}

has attr:class
will find all the nodes with an attribute called class.

has var:{var name} {var name} is the name of the variable

Find all objects with a variable whose name is {var name}

has var:MyVar
will find all the nodes with a variable called MyVar.

has arr:{arr name and index}" {arr name and index} is the name of the array and the index of the element

Find all objects with an array whose name and element is {arr name and index}

has arr:MyArr[3]
will find all the nodes with an array called MyArr with at least four elements.

has any:{item name}" {item name} is the name of the node, variable, array element or attribute

Find all objects with an item whose name is {item name} has any:xyz
will find all the nodes (or has an attribute, variable or array element) whose name is xyz.

node:{node name}="{value}" {node name} is the name of the object/node
{value} is the value of the object/node

Find all objects whose name is {node name} and whose value is {value}

node:MyNode=400
will find all the nodes whose name is MyNode and whose value is 400.

attr:{attr name}="{value}" {attr name} is the name of the attribute
{value} is the value of the attribute

Find all objects with an attribute whose name is {attr name} and whose value is {value}

attr:class="XPlant"
will find all the nodes with an attribute called class whose value is XPlant.

var:{var name}="{value}" {var name} is the name of the variable
{value} is the value of the variable

Find all objects with a variable whose name is {var name} and whose value is {value}

var:MyVar=400
will find all the nodes with a variable called MyVar whose value is 400.

arr:{arr name and index}="{value}" {arr name and index} is the name of the array and the index of the element
{value} is the value of the array element

Find all objects with an array whose name and element is {arr name and index} and whose value is {value}

arr:MyArr[3]=400
will find all the nodes with an array called MyArr whose fourth element has a value of 400.

any:{item name}="{value}" {item name} is the name of the node, variable, array element or attribute
{value} is the value of the item

Find all objects with an item whose name is {item name} and whose value is {value}

any:xyz=400
will find all the nodes (or has an attribute, variable or array element) whose name is xyz whose value is 400.