public class XPathContextMinor extends java.lang.Object implements XPathContext
| Modifier and Type | Class and Description |
|---|---|
protected static class |
XPathContextMinor.LastValue
Container for cached value of the last() function.
|
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
currentDestination |
protected StackFrame |
stackFrame |
protected int |
temporaryOutputState |
| Modifier | Constructor and Description |
|---|---|
protected |
XPathContextMinor()
Private Constructor
|
| 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 for this query or transformation.
|
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.
|
UnfailingErrorListener |
getErrorListener()
Get the error listener.
|
int |
getImplicitTimezone()
Get the implicit timezone, as a positive or negative offset from UTC in minutes.
|
int |
getLast()
Get the context size (the position of the last item in the current node list)
|
ParameterSet |
getLocalParameters()
Get the local parameters for the current template call.
|
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 for the current template call.
|
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.
|
void |
makeStackFrameMutable() |
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 context as a copy of another.
|
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 Receiver 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.
|
<T extends Item<?>> |
trackFocusMultithreaded(SequenceIterator<T> iter)
Create, set, and return a focus tracking iterator that wraps a supplied sequence iterator,
suitable for use in a multithreaded xsl:for-each iteration
|
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.
|
protected StackFrame stackFrame
protected java.lang.String currentDestination
protected int temporaryOutputState
public XPathContextMajor newContext()
newContext in interface XPathContextpublic XPathContextMinor newMinorContext()
newMinorContext in interface XPathContextpublic void setCaller(XPathContext caller)
setCaller in interface XPathContextcaller - the XPathContext of the calling expressionpublic XPathContextMajor newCleanContext()
newCleanContext in interface XPathContextpublic ParameterSet getLocalParameters()
getLocalParameters in interface XPathContextpublic ParameterSet getTunnelParameters()
getTunnelParameters in interface XPathContextpublic final Controller getController()
getController in interface XPathContextpublic final Configuration getConfiguration()
getConfiguration in interface XPathContextpublic final NamePool getNamePool()
getNamePool in interface XPathContextpublic final XPathContext getCaller()
getCaller in interface XPathContextpublic void setCurrentIterator(FocusIterator<?> iter)
setCurrentIterator in interface XPathContextiter - the current iterator. The context item, position, and size are determined by reference
to the current iterator.public <T extends Item<?>> FocusIterator<T> trackFocus(SequenceIterator<T> iter)
trackFocus in interface XPathContextiter - the current iterator. The context item, position, and size are determined by reference
to the current iterator.public <T extends Item<?>> FocusIterator<T> trackFocusMultithreaded(SequenceIterator<T> iter)
iter - the current iterator. The context item, position, and size are determined by reference
to the current iterator.public final FocusIterator<?> getCurrentIterator()
getCurrentIterator in interface XPathContextpublic final Item getContextItem()
getContextItem in interface XPathContextpublic final int getLast()
throws XPathException
getLast in interface XPathContextXPathException - if the context position is undefinedpublic final boolean isAtLast()
throws XPathException
isAtLast in interface XPathContextXPathExceptionpublic javax.xml.transform.URIResolver getURIResolver()
getURIResolver in interface XPathContextpublic UnfailingErrorListener getErrorListener()
getErrorListener in interface XPathContextUnfailingErrorListener,
it will have been wrapped in a DelegatingErrorListener, and it is the DelegatingErrorListener
that this method returns.public XPathException getCurrentException()
getCurrentException in interface XPathContextpublic XPathContextMajor.ThreadManager getThreadManager()
getThreadManager in interface XPathContextpublic Component getCurrentComponent()
getCurrentComponent in interface XPathContextpublic StackFrame getStackFrame()
getStackFrame in interface XPathContextpublic void makeStackFrameMutable()
public final Sequence<?> evaluateLocalVariable(int slotnumber)
evaluateLocalVariable in interface XPathContextslotnumber - the slot number allocated at compile time to the variable,
which identifies its position within the local stack framepublic final void setLocalVariable(int slotNumber,
Sequence<?> value)
throws XPathException
setLocalVariable in interface XPathContextslotNumber - the slot number allocated at compile time to the variable,
which identifies its position within the local stack framevalue - the value of the variableXPathExceptionpublic void waitForChildThreads()
throws XPathException
XPathContextwaitForChildThreads in interface XPathContextXPathException - if any of the child threads have failed with a dynamic
error.public void setReceiver(Receiver receiver)
setReceiver in interface XPathContextreceiver - the SequenceReceiver to be usedpublic final Receiver getReceiver()
getReceiver in interface XPathContextpublic void setTemporaryOutputState(int temporary)
setTemporaryOutputState in interface XPathContexttemporary - set non-zero to set temporary output state; zero to set final output state. The integer
gives clues as to the reason temporary output state is being set, e.g. StandardNames.XSL_VARIABLE
indicates we are evaluating a variable.public int getTemporaryOutputState()
getTemporaryOutputState in interface XPathContextpublic void setCurrentOutputUri(java.lang.String uri)
setCurrentOutputUri in interface XPathContexturi - the current output URI, or null if in temporary output statepublic java.lang.String getCurrentOutputUri()
getCurrentOutputUri in interface XPathContextpublic int useLocalParameter(StructuredQName parameterId, int slotNumber, boolean isTunnel) throws XPathException
useLocalParameter in interface XPathContextparameterId - 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 false @return ParameterSet.NOT_SUPPLIED, ParameterSet.SUPPLIED, or ParameterSet.SUPPLIED_AND_CHECKEDXPathExceptionpublic Component.M getCurrentMode()
getCurrentMode in interface XPathContextpublic Rule getCurrentTemplateRule()
getCurrentTemplateRule in interface XPathContextpublic GroupIterator getCurrentGroupIterator()
getCurrentGroupIterator in interface XPathContextpublic GroupIterator getCurrentMergeGroupIterator()
getCurrentMergeGroupIterator in interface XPathContextpublic RegexIterator getCurrentRegexIterator()
getCurrentRegexIterator in interface XPathContextpublic DateTimeValue getCurrentDateTime()
getCurrentDateTime in interface XPathContextpublic final int getImplicitTimezone()
getImplicitTimezone in interface XPathContextpublic 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.iterateStackFrames in interface XPathContextpublic Component getTargetComponent(int bindingSlot)
XPathContextgetTargetComponent in interface XPathContextbindingSlot - 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.