B.1.2 Example 1

For example the logic describe by ‘(((AType.A = 5) or InList(BType.B, 3,5,7)) and BaseObjectType.displayName LIKE “Main%”)’ would result in a logic tree as shown in Figure B.1 and a ContentFilter as shown in Table B.1. For this example to return anything AType and BType both shall be subtypes of BaseObjectType, or the resulting “And” operation would always be false.

Figure B.1 – Filter logic tree example

Table B.1 describes the elements, operators and operands used in the example.

Table B.1 – ContentFilter example
Element[]OperatorOperand[0]Operand[1]Operand[2]Operand[3]
0AndElementOperand = 1Element Operand = 4
1OrElementOperand = 2Element Operand = 3
2Equals

AttributeOperand = NodeId: AType, BrowsePath: “.12:A”,

Attribute:value

LiteralOperand = ‘5’
3InList

AttributeOperand = NodeId: BType, BrowsePath: “.12:B”,

Attribute:value

LiteralOperand = ‘3’LiteralOperand = ‘5’LiteralOperand = ‘7’
4LikeAttributeOperand = NodeId: BaseObjectType, BrowsePath: “.”, Attribute: displayNameLiteralOperand = “Main%”