net.sf.saxon.sxpath
public class XPathExpression extends Object implements Serializable
Constructor Summary | |
---|---|
protected | XPathExpression(XPathEvaluator evaluator, Expression exp)
The constructor is protected, to ensure that instances can only be
created using the createExpression() method of XPathEvaluator |
Method Summary | |
---|---|
XPathDynamicContext | createDynamicContext(Item contextItem)
Create a dynamic context suitable for evaluating this expression |
XPathDynamicContext | createDynamicContext(Controller controller, Item contextItem)
Create a dynamic context suitable for evaluating this expression within an environement
represented by an existing controller. |
boolean | effectiveBooleanValue(XPathDynamicContext context)
Evaluate the expression, returning its effective boolean value |
List | evaluate(XPathDynamicContext context)
Execute the expression, returning the result as a List, whose members will be instances
of the class |
List | evaluate(Source source)
Execute a prepared XPath expression, returning the results as a List in which items have been converted
to the appropriate Java object.
|
Item | evaluateSingle(XPathDynamicContext context)
Execute the expression, returning the result as a single Item
If the result of the expression is a sequence containing more than one item, items after
the first are discarded. |
Object | evaluateSingle(Source source)
Execute a prepared XPath expression, returning the first item in the result.
|
Expression | getInternalExpression()
Low-level method to get the internal Saxon expression object. |
SequenceIterator | iterate(XPathDynamicContext context)
Execute the expression, returning the result as a SequenceIterator, whose members will be instances
of the class Item
Note that if evaluation of the expression fails with a dynamic error, this will generally be reported in the form of an exception thrown by the next() method of the |
SequenceIterator | rawIterator(Source source)
Get a raw iterator over the results of the expression. |
protected void | setStackFrameMap(SlotManager map, int numberOfExternalVariables)
Define the number of slots needed for local variables within the expression |
Parameters: evaluator the creating XPathEvaluator exp the internal representation of the compiled expression
Parameters: contextItem the initial context item, which may be null if no context item is required, or if it is to be supplied later
Returns: an XPathDynamicContext object representing a suitable dynamic context. This will be initialized with a stack frame suitable for holding the variables used by the expression.
Parameters: controller an existing controller. May be null, in which case the method is equivalent to calling createDynamicContext contextItem the initial context item, which may be null if no context item is required, or if it is to be supplied later
Returns: an XPathDynamicContext object representing a suitable dynamic context. This will be initialized with a stack frame suitable for holding the variables used by the expression.
Since: 9.2
Parameters: context the XPath dynamic context
Returns: the effective boolean value of the result, as defined by the fn:boolean() function
Throws: XPathException if a dynamic error occurs, or if the result is a value for which no effective boolean value is defined
Parameters: context the XPath dynamic context
Returns: a list of items representing the result of the expression
Parameters: source the document or other node against which the XPath expression will be evaluated. This may be a Saxon NodeInfo object, representing a node in an existing tree, or it may be any kind of JAXP Source object such as a StreamSource SAXSource or DOMSource. For the way in which the source document is built, see Configuration
Returns: The results of the expression, as a List. The List represents the sequence of items returned by the expression. Each item in the list will either be an instance of net.sf.saxon.om.NodeInfo, representing a node, or a Java object representing an atomic value.
Parameters: context the XPath dynamic context
Returns: the first item in the result of the expression, or null
Parameters: source the document or other node against which the XPath expression will be evaluated. This may be a Saxon NodeInfo object, representing a node in an existing tree, or it may be any kind of JAXP Source object such as a StreamSource SAXSource or DOMSource. For the way in which the source document is built, see Configuration
Returns: The first item in the sequence returned by the expression. If the expression returns an empty sequence, this method returns null. Otherwise, it returns the first item in the result sequence, represented as a Java object using the same mapping as for the evaluate() method
Returns: the underlying Saxon expression object.
Note that if evaluation of the expression fails with a dynamic error, this will generally be reported in the form of an exception thrown by the next() method of the SequenceIterator
Parameters: context the XPath dynamic context
Returns: an iterator over the result of the expression
Deprecated: since 8.9 - use XPathExpression
Get a raw iterator over the results of the expression. This returns results without any conversion of the returned items to "native" Java classes. This method is intended for use by applications that need to process the results of the expression using internal Saxon interfaces.Parameters: source the document or other node against which the XPath expression will be evaluated. This may be a Saxon NodeInfo object, representing a node in an existing tree, or it may be any kind of JAXP Source object such as a StreamSource SAXSource or DOMSource. For the way in which the source document is built, see Configuration
Returns: an iterator over the results of the expression
Parameters: map the stack frame map identifying all the variables used by the expression, both those declared internally, and references to variables declared externally numberOfExternalVariables the number of slots in the stack frame allocated to externally-declared variables. These must be assigned a value before execution starts