net.sf.saxon.s9api
public class XPathExecutable extends Object
An XPathExecutable is immutable, and therefore thread-safe. It is simplest to load a new XPathSelector each time the expression is to be evaluated. However, the XPathSelector is serially reusable within a single thread.
An XPathExecutable is created by using the XPathCompiler method on the XPathCompiler class.
Constructor Summary | |
---|---|
protected | XPathExecutable(XPathExpression exp, Processor processor, IndependentContext env) |
Method Summary | |
---|---|
OccurrenceIndicator | getRequiredCardinalityForVariable(QName variableName)
Get the required cardinality of a declared variable in the static context of the expression. |
ItemType | getRequiredItemTypeForVariable(QName variableName)
Get the required item type of a declared variable in the static context of the expression. |
OccurrenceIndicator | getResultCardinality()
Get the statically-determined cardinality of the result of the expression. |
ItemType | getResultItemType()
Get the ItemType of the items in the result of the expression, as determined by static analysis. |
XPathExpression | getUnderlyingExpression()
Get the underlying implementation object representing the compiled XPath expression.
|
StaticContext | getUnderlyingStaticContext()
Get the underlying implementation object representing the static context of the compiled
XPath expression. |
Iterator<QName> | iterateExternalVariables()
Get an iterator over the names of all the external variables. |
XPathSelector | load()
Load the compiled XPath expression to prepare it for execution. |
Parameters: variableName the name of a declared variable
Returns: the required cardinality.
If the variable was explicitly declared, this will be the occurrence indicator that was set when the
variable was declared. If no item type was set, it will be ZERO_OR_MORE. If the variable was implicitly declared by reference (which can happen only when the
allowUndeclaredVariables option is set), the returned type will be
ZERO_OR_MORE. If no variable with the specified QName has been declared either explicitly or implicitly,
the method returns null.
Since: 9.2
Parameters: variableName the name of a declared variable
Returns: the required item type.
If the variable was explicitly declared, this will be the item type that was set when the
variable was declared. If no item type was set, it will be ANY_ITEM. If the variable was implicitly declared by reference (which can happen only when the
allowUndeclaredVariables option is set), the returned type will be ANY_ITEM. If no variable with the specified QName has been declared either explicitly or implicitly,
the method returns null.
Since: 9.2
Returns: the statically-determined cardinality of the result of the expression
Since: 9.1
Returns: the statically-determined ItemType of the result of the expression
Since: 9.1
Returns: the underlying compiled XPath expression.
Returns: the underlying static context.
If the allowUndeclaredVariables option is set, this method allows discovery of the variable references that appear in the compiled expression.
Since: 9.2
Returns: An XPathSelector. The returned XPathSelector can be used to set up the dynamic context, and then to evaluate the expression.