Saxon.Api
Class XPathSelector
-
public class XPathSelector
- implements IEnumerable
An XPathSelector represents a compiled and loaded XPath expression ready for execution.
The XPathSelector holds details of the dynamic evaluation context for the XPath expression.
An XPathSelector should not be used concurrently in multiple threads. It is safe,
however, to reuse the object within a single thread to evaluate the same XPath expression
several times.
Evaluating the expression does not change the context that has been established.
An XPathSelector is always constructed by running the Load method of
an XPathExecutable.
The class XPathSelector implements IEnumerable, so it is possible to
enumerate the results in a for expression.
Property Summary |
|
|---|---|
| XdmItem | ContextItem The context item for the XPath expression evaluation. |
| net.sf.saxon.s9api.XPathSelector | Implementation
Escape hatch to the |
| XmlResolver | InputXmlResolver
The |
Method Summary |
|
|---|---|
| bool | EffectiveBooleanValue()
Evaluate the effective boolean value of the XPath expression, returning the result
as a |
| XdmValue | Evaluate()
Evaluate the expression, returning the result as an |
| XdmItem | EvaluateSingle()
Evaluate the XPath expression, returning the result as an |
| IEnumerator | GetEnumerator()
Evaluate the expression, returning the result as an |
| void | SetVariable(QName name, XdmValue value) Set the value of a variable |
Property Detail
ContextItem
The context item for the XPath expression evaluation.
This may be either a node or an atomic
value. Most commonly it will be a document node, which might be constructed
using the Build method of the DocumentBuilder object.
Implementation
Escape hatch to the net.sf.saxon.s9api.XPathSelector object in the underlying Java implementation
InputXmlResolver
The XmlResolver to be used at run-time to resolve and dereference URIs
supplied to the doc() function.
Method Detail
EffectiveBooleanValue
throws
DynamicError
Evaluate
throws
DynamicError
Evaluate the expression, returning the result as an XdmValue (that is,
a sequence of nodes, atomic values, and possibly function items such as maps and arrays).
Although a singleton result may be represented as an XdmItem, there is
no guarantee that this will always be the case. If you know that the expression will
return at
most one node or atomic value, it is best to use the EvaluateSingle method, which
does guarantee that an XdmItem (or null) will be returned.
Returns:
XdmValue representing the results of the expression.
Throws:
Saxon.Api.DynamicError if the evaluation of the XPath expression fails
with a dynamic error.
EvaluateSingle
throws
DynamicError
Evaluate the XPath expression, returning the result as an XdmItem (that is,
a single node or atomic value).
Returns:
XdmItem representing the result of the expression, or null if the expression
returns an empty sequence. If the expression returns a sequence of more than one item,
any items after the first are ignored.
Throws:
Saxon.Api.DynamicError if the evaluation of the XPath expression fails
with a dynamic error.
GetEnumerator
throws
DynamicError
Evaluate the expression, returning the result as an IEnumerator (that is,
an enumerator over a sequence of nodes and/or atomic values).
Returns:
XdmItem. Note
that the expression may be evaluated lazily, which means that a successful response
from this method does not imply that the expression has executed successfully: failures
may be reported later while retrieving items from the iterator.
Throws:
Saxon.Api.DynamicError if the evaluation of the XPath expression fails
with a dynamic error. However, some errors will not be detected during the invocation
of this
method, but only when stepping through the returned SequenceEnumerator.
SetVariable
Set the value of a variable
Parameters:
name - The name of the variable. This must match the name of a variable
that was declared to the XPathCompiler. No error occurs if the expression does not
actually reference a variable with this name.value - The value to be given to the variable.
Evaluate the effective boolean value of the XPath expression, returning the result as a
BooleanReturns:
Booleanrepresenting the result of the expression, converted to its effective boolean value as if by applying the XPathboolean()functionThrows:
Saxon.Api.DynamicErrorif the evaluation of the XPath expression fails with a dynamic error.