The filter type supports the following XPath 1.0 subset:
Location Paths:
Axis
Child
Attribute
Node tests'*' - wildcard
NCName
'text'
Expressions:
or
and
=, !=
<=, <, >=, >
'('Expr')'
Literal
Number
FunctionCall
Core Function Library:
position()
The data model supported by the EventLog filter for representing XML events is a restricted form of what is used for XPath 1.0. Evaluation of each event MUST be restricted to forward-only, in-order, depth-first traversal of the XML.
The data model used differs in the following specific ways:
-
Because only the child and attribute axes are supported, generating a string value for nodes is not supported.
-
Generating an expanded name for nodes is not supported.
-
Evaluation of nodes in forward document order is supported, but reverse document order is not.
-
Node sets are not supported.
-
The stream of XML events is represented as the set of top-level elements in a 'virtual' document. The root of this document is implied and does not have a formal name. This implies that absolute location paths are not supported. The current context node at the start/end of each XML event evaluation is this root node.
-
The evaluation context is a restricted version of that for XPath 1.0. It contains a current context node and a nonzero positive integer representing the current position. It does not contain the context size, nor does it contain variable bindings. It has a smaller function library, and it has no namespace scoping support.
-
Namespace, processing, and comment nodes are not supported.