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
|
SequenceReceiver |
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(SequenceReceiver receiver)
Change the Receiver to which output is written
|
void |
setTemporaryOutputState(int temporary)
Set the XSLT output state to "temporary" or "final"
|
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 XPathContext
public XPathContextMinor newMinorContext()
newMinorContext
in interface XPathContext
public void setCaller(XPathContext caller)
setCaller
in interface XPathContext
caller
- the XPathContext of the calling expressionpublic XPathContextMajor newCleanContext()
newCleanContext
in interface XPathContext
public ParameterSet getLocalParameters()
getLocalParameters
in interface XPathContext
public ParameterSet getTunnelParameters()
getTunnelParameters
in interface XPathContext
public final Controller getController()
getController
in interface XPathContext
public final Configuration getConfiguration()
getConfiguration
in interface XPathContext
public final NamePool getNamePool()
getNamePool
in interface XPathContext
public final XPathContext getCaller()
getCaller
in interface XPathContext
public void setCurrentIterator(FocusIterator iter)
setCurrentIterator
in interface XPathContext
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 XPathContext
public final Item getContextItem()
getContextItem
in interface XPathContext
public final int getLast() throws XPathException
getLast
in interface XPathContext
XPathException
- if the context position is undefinedpublic final boolean isAtLast() throws XPathException
isAtLast
in interface XPathContext
XPathException
public javax.xml.transform.URIResolver getURIResolver()
getURIResolver
in interface XPathContext
public UnfailingErrorListener getErrorListener()
getErrorListener
in interface XPathContext
UnfailingErrorListener
,
it will have been wrapped in a DelegatingErrorListener
, and it is the DelegatingErrorListener
that this method returns.public XPathException getCurrentException()
getCurrentException
in interface XPathContext
public XPathContextMajor.ThreadManager getThreadManager()
getThreadManager
in interface XPathContext
public Component getCurrentComponent()
getCurrentComponent
in interface XPathContext
public StackFrame getStackFrame()
getStackFrame
in interface XPathContext
public void makeStackFrameMutable()
public final Sequence evaluateLocalVariable(int slotnumber)
evaluateLocalVariable
in interface XPathContext
slotnumber
- 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 XPathContext
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
public void waitForChildThreads() throws XPathException
XPathContext
waitForChildThreads
in interface XPathContext
XPathException
- if any of the child threads have failed with a dynamic
error.public void setReceiver(SequenceReceiver receiver)
setReceiver
in interface XPathContext
receiver
- the SequenceReceiver to be usedpublic final SequenceReceiver getReceiver()
getReceiver
in interface XPathContext
public void setTemporaryOutputState(int temporary)
setTemporaryOutputState
in interface XPathContext
temporary
- 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 XPathContext
public void setCurrentOutputUri(java.lang.String uri)
setCurrentOutputUri
in interface XPathContext
uri
- the current output URI, or null if in temporary output statepublic java.lang.String getCurrentOutputUri()
getCurrentOutputUri
in interface XPathContext
public int useLocalParameter(StructuredQName parameterId, int slotNumber, boolean isTunnel) throws XPathException
useLocalParameter
in interface XPathContext
parameterId
- slotNumber
- isTunnel
- True if a tunnel parameter is required, else false @return ParameterSet.NOT_SUPPLIED, ParameterSet.SUPPLIED, or ParameterSet.SUPPLIED_AND_CHECKEDXPathException
public Component.M getCurrentMode()
getCurrentMode
in interface XPathContext
public Rule getCurrentTemplateRule()
getCurrentTemplateRule
in interface XPathContext
public GroupIterator getCurrentGroupIterator()
getCurrentGroupIterator
in interface XPathContext
public GroupIterator getCurrentMergeGroupIterator()
getCurrentMergeGroupIterator
in interface XPathContext
public RegexIterator getCurrentRegexIterator()
getCurrentRegexIterator
in interface XPathContext
public DateTimeValue getCurrentDateTime()
getCurrentDateTime
in interface XPathContext
public final int getImplicitTimezone()
getImplicitTimezone
in interface XPathContext
public 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 XPathContext
public Component getTargetComponent(int bindingSlot)
XPathContext
getTargetComponent
in interface XPathContext
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-2018 Saxonica Limited. All rights reserved.