net.sf.saxon.query
public class XQueryExpression extends Object implements Container
Various methods are provided for evaluating the query, with different options for delivery of the results.
Constructor Summary | |
---|---|
protected | XQueryExpression(Expression exp, Executable exec, StaticQueryContext staticEnv, Configuration config)
The constructor is protected, to ensure that instances can only be
created using the compileQuery() methods of StaticQueryContext |
Method Summary | |
---|---|
List | evaluate(DynamicQueryContext env)
Execute a the compiled Query, returning the results as a List.
|
Object | evaluateSingle(DynamicQueryContext env)
Execute the compiled Query, returning the first item in the result.
|
void | explain(NamePool pool)
Diagnostic method: display a representation of the compiled query on the
System.err output stream. |
int | getColumnNumber()
Return the character position where the current document event ends.
|
Controller | getController()
Deprecated synonym for |
Executable | getExecutable()
Get the Executable (representing a complete stylesheet or query) of which this Container forms part |
Expression | getExpression()
Get the expression wrapped in this XQueryExpression object
|
int | getHostLanguage()
Get the host language (XSLT, XQuery, XPath) used to implement the code in this container |
int | getLineNumber()
Return the line number where the current document event ends.
|
LocationProvider | getLocationProvider()
Get the LocationProvider allowing location identifiers to be resolved. |
String | getPublicId()
Return the public identifier for the current document event.
|
StaticQueryContext | getStaticContext()
Get the static context in which this expression was compiled. |
String | getSystemId()
Return the system identifier for the current document event.
|
SequenceIterator | iterator(DynamicQueryContext env)
Get an iterator over the results of the expression. |
Controller | newController()
Get a controller that can be used to execute functions in this compiled query.
|
void | pull(DynamicQueryContext dynamicEnv, Result destination, Properties outputProperties)
Run the query in pull mode.
|
void | run(DynamicQueryContext env, Result result, Properties outputProperties)
Run the query, sending the results directly to a JAXP Result object. |
protected void | setDocumentInstruction(DocumentInstr doc) |
Parameters: env Provides the dynamic query evaluation context
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
object representing a node, or an object representing an atomic value.
For the types of Java object that may be returned, see the description of the
evaluate
method
of class XPathProcessor
Parameters: env Provides the dynamic query evaluation context
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
Warning: The return value from the method is intended only as an approximation for the sake of error reporting; it is not intended to provide sufficient information to edit the character content of the original XML document.
The return value is an approximation of the column number in the document entity or external parsed entity where the markup that triggered the event appears.
Returns: The column number, or -1 if none is available.
See Also: XQueryExpression
Deprecated: since 8.5.1 - use newController()
Deprecated synonym for XQueryExpressionReturns: the underlying expression
Warning: The return value from the method is intended only as an approximation for the sake of error reporting; it is not intended to provide sufficient information to edit the character content of the original XML document.
The return value is an approximation of the line number in the document entity or external parsed entity where the markup that triggered the event appears.
Returns: The line number, or -1 if none is available.
See Also: XQueryExpression
The return value is the public identifier of the document entity or of the external parsed entity in which the markup that triggered the event appears.
Returns: A string containing the public identifier, or null if none is available.
See Also: XQueryExpression
Returns: the internal copy of the StaticQueryContext
The return value is the system identifier of the document entity or of the external parsed entity in which the markup that triggered the event appears.
If the system identifier is a URL, the parser must resolve it fully before passing it to the application.
Returns: A string containing the system identifier, or null if none is available.
See Also: XQueryExpression
To get the results of the query in the form of an XML document in which each item is wrapped by an element indicating its type, use:
QueryResult.wrap(iterator(env))
To serialize the results to a file, use the QueryResult.serialize() method.
Parameters: env Provides the dynamic query evaluation context
Returns: an iterator over the results of the query. The class SequenceIterator is modeled on the standard Java Iterator class, but has extra functionality and can throw exceptions when errors occur.
Throws: XPathException if a dynamic error occurs in evaluating the query. Some dynamic errors will not be reported by this method, but will only be reported when the individual items of the result are accessed using the returned iterator.
See Also: Configuration
Parameters: env the dynamic query context result the destination for the results of the query. The query is effectively wrapped in a document{} constructor, so that the items in the result are concatenated to form a single document; this is then written to the requested Result destination, which may be (for example) a DOMResult, a SAXResult, or a StreamResult outputProperties Supplies serialization properties, in JAXP format, if the result is to be serialized. This parameter can be defaulted to null.
Throws: XPathException if the query fails.