The ninth example provides a further illustration for a request in which the AddressSpaceis restricted by a Serverdefined View. This request is similar to the second example except that some of the requested nodes are expressed in terms of a relative path. It is importantto note that the ContentFilteris the same, only the View description would be specified as “View1”.

Example 9: Get PersonType.LastName, AnimalType.Name where a person has a child or (a pet is of type cat and has a feeding schedule) limited by the AddressSpacein View1.

Table B.28describes the NodeTypeDescription parameters used in the example.

Table B.28– Example 9 NodeTypeDescription

Type Definition Node

Include

Subtypes

QueryDataDescription

Relative Path

Attribute

Index Range

PersonType

FALSE

“.NodeId”

value

N/A

<12:HasChild>12:PersonType<12:HasAnimal>12:AnimalType.NodeId

value

N/A

<12:HasChild>

value

N/A

<12:HasChild>12:PersonType

<12:HasAnimal>

value

N/A

PersonType

FALSE

“.12:LastName”

value

N/A

<12:HasAnimal>12:AnimalType. 12:Name

value

N/A

AnimalType

TRUE

“.12:name”

value

N/A

The corresponding ContentFilteris illustrated in Figure B.13.

image055.png

Figure B.13– Example 9 Filter Logic Tree

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

Table B.29– Example 9 ContentFilter

Element[]

Operator

Operand[0]

Operand[1]

Operand[2]

Operand[3]

0

Or

ElementOperand=1

ElementOperand = 2

1

RelatedTo

AttributeOperand = NodeId: 12:PersonType, BrowsePath “.”, Attribute: NodeId

AttributeOperand = NodeId: 12:PersonType, BrowsePath “.”, Attribute: NodeId

AttributeOperand = NodeId: 12:HasChild, BrowsePath “.”, Attribute: NodeId

LiteralOperand = ‘1’

2

RelatedTo

AttributeOperand = NodeId: 12:CatType, BrowsePath “.”, Attribute: NodeId

AttributeOperand = NodeId: 12:FeedingScheduleType, BrowsePath “.”, Attribute: NodeId

AttributeOperand = NodeId: 12:HasSchedule, BrowsePath “.”, Attribute: NodeId

LiteralOperand = ‘1’

The results from this Querywould contain the QueryDataSetsshown in Table B.30. If this is compared to the result set from example 2, the Pet Nodesare included in the list, even though they are outside of the View. This is possible since the name referenced via the relative path and the root Nodeis in the View.

Table B.30– Example 9 QueryDataSets

NodeId

TypeDefinition NodeId

RelativePath

Value

12:30 (Jfamily1)

PersonType

. 12:LastName

Jones

<12:HasAnimal>12:AnimalType. 12:Name

Rosemary

<12:HasAnimal>12:AnimalType. 12:Name

Basil

NOTE The RelativePath column and browse name (in parentheses in the NodeIdcolumn) are not in the QueryDataSet and are only shown here for clarity. The TypeDefinition NodeId would be an integer not the symbolic name that is included in the table.

______________