net.sf.saxon.query
Class DynamicQueryContext
java.lang.Object
net.sf.saxon.query.DynamicQueryContext
public class DynamicQueryContext
extends java.lang.Object
This object represents a dynamic context for query execution. This class is used
by the application writer to set up aspects of the dynamic context; it is not used
operationally (or modified) by the XQuery processor itself, which copies all required
information into its own internal representation.
DynamicQueryContext
public DynamicQueryContext(Configuration config)
Create the dynamic context for a query
config
- the Saxon configuration
clearParameters
public void clearParameters()
Reset the parameters to an empty list.
getConfiguration
public Configuration getConfiguration()
Get the Configuration associated with this dynamic query context
getContextItem
public Item getContextItem()
Get the context item for the query, as set using setContextItem() or setContextNode().
- the context item if set, or null otherwise.
getCurrentDateTime
public DateTimeValue getCurrentDateTime()
- the current date and time, if it has been set.
getErrorListener
public ErrorListener getErrorListener()
Get the error listener.
getParameter
public Object getParameter(String expandedName)
Get the actual value of a parameter to the query.
expandedName
- the name of the required parameter, in
"{uri}local-name" format
- the value of the parameter, if it exists, or null otherwise
getParameters
public HashMap getParameters()
Get all the supplied parameters as a HashMap. The key is the expanded QName in Clark notation,
the value is the value as supplied to setParameterValue
- a HashMap containing all the parameters
getTraceListener
public TraceListener getTraceListener()
Get the trace listener.
- the TraceListener in use, or null if none is in use
getURIResolver
public URIResolver getURIResolver()
Get the URI resolver.
- the user-supplied URI resolver if there is one, or the
system-defined one otherwise
setContextItem
public void setContextItem(Item item)
Set the context item for evaluating the expression. If this method is not called,
the context node will be undefined. The context item is available as the value of
the expression ".",.
To obtain a node by parsing a source document, see the method
buildDocument
in class QueryProcessor.
item
- The item that is to be the context item for the query
setContextNode
public void setContextNode(NodeInfo node)
From Saxon 8.7, the method setContextItem(Item)
is preferred
Set the context item for evaluating the expression to be a node. If this method is not called,
the context node will be undefined. The context node is available as the value of
the expression ".".
To obtain a NodeInfo by parsing a source document, see the method
buildDocument
in class QueryProcessor.
node
- The node that is to be the context node for the query
setCurrentDateTime
public void setCurrentDateTime(DateTimeValue dateTime)
throws XPathException
Set a value to be used as the current date and time for the query. By default, the "real" current date and
time are used. The main purpose of this method is that it allows repeatable results to be achieved when
testing queries
dateTime
- The value to be used as the current date and time. This must include a timezone. The timezone
from this value will also be used as the implicit timezone
setErrorListener
public void setErrorListener(ErrorListener listener)
Set the error listener. The error listener receives reports of all run-time
errors and can decide how to report them.
listener
- the ErrorListener to be used
setParameter
public void setParameter(String expandedName,
Object value)
Set a parameter for the query.
expandedName
- The name of the parameter in "{uri}local-name" format.
It is not an error to supply a value for a parameter that has not been
declared, the parameter will simply be ignored. If the parameter has
been declared in the query (as an external global variable) then it
will be initialized with the value supplied.value
- The value of the parameter. This can be any valid Java
object. It follows the same conversion rules as a value returned
from a Saxon extension function. An error will occur at query
execution time if the supplied value cannot be converted to the required
type as declared in the query. For precise control of the type of the
value, instantiate one of the classes in the net.sf.saxon.value package,
for example net.sf.saxon.value.DayTimeDuration.
setParameterValue
public void setParameterValue(String expandedName,
ValueRepresentation value)
Set a parameter for the query.
expandedName
- The name of the parameter in "{uri}local-name" format.
It is not an error to supply a value for a parameter that has not been
declared, the parameter will simply be ignored. If the parameter has
been declared in the query (as an external global variable) then it
will be initialized with the value supplied.value
- The value of the parameter. This must be an XPath value in its Saxon
representation: no conversion occurs.
setTraceListener
public void setTraceListener(TraceListener listener)
Set the trace listener. The trace listener receives reports of all run-time
expression evaluation.
listener
- the TraceListener to be used
setURIResolver
public void setURIResolver(URIResolver resolver)
Set an object that will be used to resolve URIs used in
fn:document() and related functions.
resolver
- An object that implements the URIResolver interface, or
null.