7 Common parameter type definitions ToC Previous Next

7.7 ContentFilter ToC Previous Next

7.7.4 FilterOperand parameters ToC Previous Next Overview ToC

The ContentFilter structure specified in 7.7 defines a collection of elements that makes up filter criteria and contains different types of FilterOperands. The FilterOperand parameter is an extensible parameter. This parameter is defined in Table 129. The ExtensibleParameter type is defined in 7.17.

Table 129 – FilterOperand parameter TypeIds

Symbolic Id Description
Element Specifies an index into the array of elements. This type is used to build a logic tree of sub-elements by linking the operand of one element to a sub-element.
Literal Specifies a literal value.
Attribute Specifies any Attribute of an Object or Variable Node using a Node in the type system and relative path constructed from ReferenceTypes and BrowseNames.
SimpleAttribute Specifies any Attribute of an Object or Variable Node using a TypeDefinition and a relative path constructed from BrowseNames. ElementOperand ToC

The ElementOperand provides the linking to sub-elements within a ContentFilter. The link is in the form of an integer that is used to index into the array of elements contained in the ContentFilter. An index is considered valid if its value is greater than the element index it is part of and it does not Reference a non-existent element. Clients shall construct filters in this way to avoid circular and invalid References. Servers should protect against invalid indexes by verifying the index prior to using it.

Table 130 defines the ElementOperand type.

Table 130 – ElementOperand

Name Type Description
ElementOperand structure ElementOperand value.
   index UInt32 Index into the element array. LiteralOperand ToC

Table 131 defines the LiteralOperand type.

Table 131 – LiteralOperand

Name Type Description
LiteralOperand structure LiteralOperand value.
   value BaseDataType A literal value. AttributeOperand ToC

Table 132 defines the AttributeOperand type.

Table 132 – AttributeOperand

Name Type Description
AttributeOperand structure Attribute of a Node in the AddressSpace.
   nodeId NodeId NodeId   of a Node from the type system.
   alias String An optional parameter used to identify or refer to an alias. An alias is a symbolic name that can be used to alias this operand and use it in other locations in the filter structure.
   browsePath RelativePath Browse path relative to the Node identified by the nodeId parameter. See 7.31 for the definition of RelativePath.
   attributeId IntegerId Id of the Attribute. This shall be a valid AttributeId. The IntegerId is defined in 7.19. The IntegerIds for the Attributes are defined in OPC 10000-6.
   indexRange NumericRange    This parameter is used to identify a single element of an array or a single range of indexes for an array. The first element is identified by index 0 (zero).   The NumericRange type is defined in 7.27.This parameter is not used if the specified Attribute is not an array. However, if the specified Attribute is an array and this parameter is not used, then all elements are to be included in the range. The parameter is null or empty if not used. SimpleAttributeOperand ToC

The SimpleAttributeOperand is a simplified form of the AttributeOperand and all of the rules that apply to the AttributeOperand also apply to the SimpleAttributeOperand. The examples provided in B.1 only use AttributeOperand, however, the AttributeOperand can be replaced by a SimpleAttributeOperand whenever all ReferenceTypes in the RelativePath are subtypes of HierarchicalReferences and the targets are Object or Variable Nodes and an Alias is not required.

Table 133 defines the SimpleAttributeOperand type.

Table 133 – SimpleAttributeOperand

Name Type Description
SimpleAttributeOperand structure Attribute of a Node in the AddressSpace.
   typeDefinitionId NodeId    NodeId   of a TypeDefinitionNode.   This parameter restricts the operand to instances of the TypeDefinitionNode or one of its subtypes.If the SimpleAttributeOperand is used in an EventFilter and the typeDefinitionId is BaseEventType the Server shall evaluate the browsePath without considering the typeDefinitionId.
   browsePath [] QualifiedName    A relative path to a Node.   This parameter specifies a relative path using a list of BrowseNames instead of the RelativePath structure used in the AttributeOperand. The list of BrowseNames is equivalent to a RelativePath that specifies forward references which are subtypes of the HierarchicalReferences ReferenceType.   All Nodes followed by the browsePath shall be of the NodeClass Object or Variable.If this list is empty the Node is the instance of the TypeDefinition.
   attributeId IntegerId    Id of the Attribute. The IntegerId is defined in 7.19.The Value Attribute shall be supported by all Servers. The support of other Attributes depends on requirements set in Profiles or other parts of this specification.
   indexRange NumericRange    This parameter is used to identify a single element of an array, or a single range of indexes for an array. The first element is identified by index 0 (zero).   This parameter is ignored if the selected Node is not a Variable or the Value of a Variable is not an array.   All values in the array are used if this parameter is null or empty.The NumericRange type is defined in 7.27.

Previous Next