Errata exists for this version of the document.

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 must be subtypes of BaseObjectType, or the resulting “And” operation would always be false.

image043.png

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[]

Operator

Operand[0]

Operand[1]

Operand[2]

Operand[3]

0

And

ElementOperand = 1

Element Operand = 4

1

Or

ElementOperand = 2

Element Operand = 3

2

Equals

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

Attribute:value

LiteralOperand = ‘5’

3

InList

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

Attribute:value

LiteralOperand = ‘3’

LiteralOperand = ‘5’

LiteralOperand = ‘7’

4

Like

AttributeOperand = NodeId: BaseObjectType, BrowsePath: “.”, Attribute: displayName

LiteralOperand = “Main%”