net.sf.saxon.sxpath

Class XPathDynamicContext

public class XPathDynamicContext extends Object

This object represents the dynamic XPath execution context for use in the free-standing Saxon XPath API. The dynamic context holds the context item and the values of external variables used by the XPath expression.

This object is always created via the method createDynamicContext

Constructor Summary
protected XPathDynamicContext(XPathContextMajor contextObject, SlotManager stackFrameMap)
Method Summary
protected voidcheckExternalVariables(SlotManager stackFrameMap, int numberOfExternals)
Check that all external variables have been given a value
ItemgetContextItem()
Get the context item
ErrorListenergetErrorListener()
Get the error listener.
URIResolvergetURIResolver()
Get the URI resolver.
XPathContextgetXPathContextObject()
For system use: get the wrapped XPathContext object
voidsetContextItem(Item item)
Set the context item for evaluation of the XPath Expression
voidsetContextNode(Source source)
Set the context item to a node derived from a supplied Source object.
voidsetErrorListener(ErrorListener listener)
Set the error listener.
voidsetURIResolver(URIResolver resolver)
Set an object that will be used to resolve URIs used in document(), etc.
voidsetVariable(XPathVariable variable, ValueRepresentation value)
Set the value of an external variable used within the XPath expression

Constructor Detail

XPathDynamicContext

protected XPathDynamicContext(XPathContextMajor contextObject, SlotManager stackFrameMap)

Method Detail

checkExternalVariables

protected void checkExternalVariables(SlotManager stackFrameMap, int numberOfExternals)
Check that all external variables have been given a value

Parameters: stackFrameMap describes the stack frame numberOfExternals the number of variables that need to be supplied

Throws: XPathException if required variables have not been given a value

getContextItem

public Item getContextItem()
Get the context item

Returns: the context item if there is one, or null otherwise

getErrorListener

public ErrorListener getErrorListener()
Get the error listener.

Returns: the ErrorListener in use

Since: 9.2

getURIResolver

public URIResolver getURIResolver()
Get the URI resolver.

Returns: the user-supplied URI resolver if there is one, or null otherwise.

Since: 9.2

getXPathContextObject

public XPathContext getXPathContextObject()
For system use: get the wrapped XPathContext object

Returns: the underlying XPathContext object

setContextItem

public void setContextItem(Item item)
Set the context item for evaluation of the XPath Expression

Parameters: item the context item

Throws: XPathException if the node is in a document that was built under the wrong configuration

setContextNode

public void setContextNode(Source source)
Set the context item to a node derived from a supplied Source object. This may be any implementation of the Source interface recognized by Saxon. Note that the Saxon NodeInfo interface, representing a node in a tree, is one such implementation; others include javax.xml.transform.stream.StreamSource, javax.xml.transform.sax.SAXSource, and javax.xml.transform.dom.DOMSource

Parameters: source The source object representing the node that will be used as the context item

Throws: XPathException if a failure occurs reading or parsing a Source object to build an input tree, or if the source is a document that was built under the wrong configuration

setErrorListener

public void setErrorListener(ErrorListener listener)
Set the error listener.

Parameters: listener the ErrorListener to be used

Since: 9.2

setURIResolver

public void setURIResolver(URIResolver resolver)
Set an object that will be used to resolve URIs used in document(), etc.

Parameters: resolver An object that implements the URIResolver interface, or null.

Since: 9.2

setVariable

public void setVariable(XPathVariable variable, ValueRepresentation value)
Set the value of an external variable used within the XPath expression

Parameters: variable the object representing the variable, as returned by the XPathEvaluator method. Note that setting the value of a variable does not modify the XPathVariable object itself, which means that this method is thread-safe. value The value of the variable.

Throws: XPathException if the supplied value does not conform to the required type of the variable; or if the supplied value contains a node that does not belong to this Configuration (or another Configuration that shares the same namePool)