XPath API
- Version:
- Author:
- Keith Visco
- Author:
- Assaf Arkin
Expressions And Results
An XPath expression is compiled using the XPath parser. To obtain a new parser instance
use the static method
newInstance
.
Once obtained, the parser can be used to create XPath expressions using the
createExpression
method. Expressions
are compiled and can be reused multiple times. The parser is thread-safe and can be
used to create multiple expressions concurrently.
com.intalio.n3.xpath.XPathExpression
is an abstract class representing an
XPath expression. The primary method is
evaluate
that is used to evaluates the expression and returns the XPath result.
An XPath result is represented by the abstract class
com.intalio.n3.xpath.XPathResult
.
An XPath result can be one of the following four types:
- A boolean result of type
com.intalio.n3.xpath.XPathResult.BOOLEAN
represented
by an object of type com.intalio.n3.xpath.BooleanResult
. - A string result of type
com.intalio.n3.xpath.XPathResult.STRING
represented
by an object of type com.intalio.n3.xpath.StringResult
. - A number result of type
com.intalio.n3.xpath.XPathResult.NUMBER
represented
by an object of type com.intalio.n3.xpath.NumberResult
. - A node-set result of type
com.intalio.n3.xpath.XPathResult.NODE_SET
represented
by an object of type com.intalio.n3.xpath.NodeSet
.
XPath Context
In order to evaluate an XPath expression, an XPath context is required. An XPath context
provides a way to manage a stock of node-sets, resolve variable and function names, and
return the size and position of the context.
com.intalio.n3.xpath.XPathContext
provides a base implementation of an XPath context. This implementation is not thread-safe,
care must be taken not to use the same context when evaluating expressions concurrently.
Impelementations may wish to extend this class and provide additional facilities
for locating the document order of a node, or providing a function library.
com.intalio.n3.xpath.Variables
provides variable bindings that can be used when
evaluating an XPath expression, and
com.intalio.n3.xpath.XPathFunction
can be used
to implement extension functions.
XPath Node
com.intalio.n3.xpath.XPathNode
is an abstract class representing a node in
a document tree, on which XPath expressions can be evaluated. This abstract class provides
all the services required by XPath, and enables multiple implementations to exist.
It does not make use of iterators or traversals, but assumes double-linked lists are
used to maintain node lists.