public interface XPathContext
Modifier and Type | Method and Description |
---|---|
Sequence<?> |
evaluateLocalVariable(int slotnumber)
Get the value of a local variable, identified by its slot number
|
XPathContext |
getCaller()
Get the calling XPathContext (the next one down the stack).
|
Configuration |
getConfiguration()
Get the Configuration
|
Item<?> |
getContextItem()
Get the context item
|
Controller |
getController()
Get the Controller.
|
Component |
getCurrentComponent()
Get the current component
|
DateTimeValue |
getCurrentDateTime()
Get the current date and time
|
XPathException |
getCurrentException()
Get the current exception (in saxon:catch)
|
GroupIterator |
getCurrentGroupIterator()
Get the current group iterator.
|
FocusIterator<?> |
getCurrentIterator()
Get the current iterator.
|
GroupIterator |
getCurrentMergeGroupIterator()
Get the current merge group iterator.
|
Component.M |
getCurrentMode()
Get the current mode.
|
java.lang.String |
getCurrentOutputUri()
Get the current output URI
|
RegexIterator |
getCurrentRegexIterator()
Get the current regex iterator.
|
Rule |
getCurrentTemplateRule()
Get the current template rule.
|
UnfailingErrorListener |
getErrorListener()
Get the error listener.
|
int |
getImplicitTimezone()
Get the implicit timezone
|
int |
getLast()
Get the context size (the position of the last item in the current node list)
|
ParameterSet |
getLocalParameters()
Get the local (non-tunnel) parameters that were passed to the current function or template
|
NamePool |
getNamePool()
Get the Name Pool
|
Receiver |
getReceiver()
Get the Receiver to which output is currently being written.
|
StackFrame |
getStackFrame()
Get a reference to the local stack frame for variables.
|
Component |
getTargetComponent(int bindingSlot)
Bind a component reference to a component.
|
int |
getTemporaryOutputState()
Ask whether the XSLT output state is "temporary" or "final"
|
XPathContextMajor.ThreadManager |
getThreadManager()
Get the thread manager used to process asynchronous xsl:result-document threads.
|
ParameterSet |
getTunnelParameters()
Get the tunnel parameters that were passed to the current function or template.
|
javax.xml.transform.URIResolver |
getURIResolver()
Get the URI resolver.
|
boolean |
isAtLast()
Determine whether the context position is the same as the context size
that is, whether position()=last().
|
java.util.Iterator |
iterateStackFrames()
Get the context stack.
|
XPathContextMajor |
newCleanContext()
Construct a new context without copying (used for the context in a function call)
|
XPathContextMajor |
newContext()
Construct a new context as a copy of another.
|
XPathContextMinor |
newMinorContext()
Construct a new minor context.
|
void |
setCaller(XPathContext caller)
Set the calling XPathContext
|
void |
setCurrentIterator(FocusIterator<?> iter)
Set a new sequence iterator.
|
void |
setCurrentOutputUri(java.lang.String uri)
Set the current output URI
|
void |
setLocalVariable(int slotNumber,
Sequence<?> value)
Set the value of a local variable, identified by its slot number
|
void |
setReceiver(Receiver receiver)
Change the SequenceReceiver to which output is written
|
void |
setTemporaryOutputState(int temporary)
Set the XSLT output state to "temporary" or "final"
|
<T extends Item<?>> |
trackFocus(SequenceIterator<T> iter)
Create, set, and return a focus tracking iterator that wraps a supplied sequence iterator.
|
int |
useLocalParameter(StructuredQName parameterId,
int slotNumber,
boolean isTunnel)
Use local parameter.
|
void |
waitForChildThreads()
Wait for child threads started under the control of this context to finish.
|
XPathContextMajor newContext()
XPathContextMajor newCleanContext()
XPathContextMinor newMinorContext()
ParameterSet getLocalParameters()
ParameterSet getTunnelParameters()
Controller getController()
Configuration getConfiguration()
NamePool getNamePool()
void setCaller(XPathContext caller)
caller
- the XPathContext of the calling expressionXPathContext getCaller()
<T extends Item<?>> FocusIterator<T> trackFocus(SequenceIterator<T> iter)
iter
- the current iterator. The context item, position, and size are determined by reference
to the current iterator.void setCurrentIterator(FocusIterator<?> iter)
iter
- the current iterator. The context item, position, and size are determined by reference
to the current iterator.FocusIterator<?> getCurrentIterator()
Item<?> getContextItem()
int getLast() throws XPathException
XPathException
- if the context position is undefinedboolean isAtLast() throws XPathException
XPathException
javax.xml.transform.URIResolver getURIResolver()
UnfailingErrorListener getErrorListener()
UnfailingErrorListener
,
it will have been wrapped in a DelegatingErrorListener
, and it is the DelegatingErrorListener
that this method returns.Component getCurrentComponent()
int useLocalParameter(StructuredQName parameterId, int slotNumber, boolean isTunnel) throws XPathException
parameterId
- Globally-unique parameter identifierslotNumber
- Slot number of the parameter within the stack frame of the called templateisTunnel
- True if a tunnel parameter is required, else falseXPathException
StackFrame getStackFrame()
Sequence<?> evaluateLocalVariable(int slotnumber)
slotnumber
- the slot number allocated at compile time to the variable,
which identifies its position within the local stack framevoid setLocalVariable(int slotNumber, Sequence<?> value) throws XPathException
slotNumber
- the slot number allocated at compile time to the variable,
which identifies its position within the local stack framevalue
- the value of the variableXPathException
void setTemporaryOutputState(int temporary)
temporary
- set non-zero to set temporary output state; zero to set final output stateint getTemporaryOutputState()
void setCurrentOutputUri(java.lang.String uri)
uri
- the current output URI, or null if in temporary output statejava.lang.String getCurrentOutputUri()
void setReceiver(Receiver receiver)
receiver
- the SequenceReceiver to be usedReceiver getReceiver()
Component.M getCurrentMode()
Rule getCurrentTemplateRule()
GroupIterator getCurrentGroupIterator()
GroupIterator getCurrentMergeGroupIterator()
RegexIterator getCurrentRegexIterator()
DateTimeValue getCurrentDateTime() throws NoDynamicContextException
NoDynamicContextException
int getImplicitTimezone()
CalendarValue.NO_TIMEZONE
java.util.Iterator iterateStackFrames()
ContextStackFrame
, starting with the top-most stackframe and
ending at the point the query or transformation was invoked by a calling application.XPathException getCurrentException()
XPathContextMajor.ThreadManager getThreadManager()
void waitForChildThreads() throws XPathException
XPathException
- if any of the child threads have failed with a dynamic
error.Component getTargetComponent(int bindingSlot)
bindingSlot
- Binding slots are allocated statically to the external component references
in every component: for example, in the case of a template, to all global
variable references, named function calls, and named template calls within
that template. The binding slot therefore identifies the name of the
component that is required; and the selection of an actual component is
done by selection from the binding vector of the component currently being
executedCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.