2.2.15.1 Filter XPath 1.0 Subset

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.