Package net.sf.saxon.s9api
Class XQueryExecutable
java.lang.Object
net.sf.saxon.s9api.XQueryExecutable
An XQueryExecutable represents the compiled form of a query.
To execute the query, it must first be loaded to form an
XQueryEvaluator
.
An XQueryExecutable is immutable, and therefore thread-safe. It is simplest to load a new XQueryEvaluator each time the query is to be run. However, the XQueryEvaluator is serially reusable within a single thread.
An XQueryExecutable is created by using one of the compile
methods on the
XQueryCompiler
class.
- Since:
- 9.0
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
XQueryExecutable
(Processor processor, XQueryExpression exp) -
Method Summary
Modifier and TypeMethodDescriptionvoid
explain
(Destination destination) Produce a diagnostic representation of the compiled query, in XML form.Get the statically-determined cardinality of the result of the query.Get the ItemType of the items in the result of the query, as determined by static analysis.Get the underlying implementation object representing the compiled query.boolean
Ask whether the query is an updating query: that is, whether it returns a Pending Update List rather than a Value.load()
Load the query to prepare it for execution.
-
Constructor Details
-
XQueryExecutable
-
-
Method Details
-
load
Load the query to prepare it for execution.- Returns:
- An XQueryEvaluator. The returned XQueryEvaluator can be used to set up the dynamic context for query evaluation, and to run the query.
-
getResultItemType
Get the ItemType of the items in the result of the query, as determined by static analysis. This is the most precise ItemType that the processor is able to determine from static examination of the query; the actual items in the query result are guaranteed to belong to this ItemType or to a subtype of this ItemType.- Returns:
- the statically-determined ItemType of the result of the query
- Since:
- 9.1
-
getResultCardinality
Get the statically-determined cardinality of the result of the query. This is the most precise cardinality that the processor is able to determine from static examination of the query.- Returns:
- the statically-determined cardinality of the result of the query
- Since:
- 9.1
-
isUpdateQuery
public boolean isUpdateQuery()Ask whether the query is an updating query: that is, whether it returns a Pending Update List rather than a Value. Note that queries using the XUpdate copy-modify syntax are not considered to be updating queries.- Returns:
- true if the query is an updating query, false if not
- Since:
- 9.1
-
explain
Produce a diagnostic representation of the compiled query, in XML form.The detailed form of this representation is not stable (or even documented).
- Parameters:
destination
- the destination for the XML document containing the diagnostic representation of the compiled query- Throws:
SaxonApiException
- if an error is detected- Since:
- 9.6
-
getUnderlyingCompiledQuery
Get the underlying implementation object representing the compiled query. This provides an escape hatch into lower-level APIs. The object returned by this method may change from release to release.- Returns:
- the underlying implementation of the compiled query
-