public class EarlyEvaluationContext extends Object implements XPathContext, Serializable
Constructor and Description |
---|
EarlyEvaluationContext(Configuration config,
CollationMap map)
Create an early evaluation context, used for evaluating constant expressions at compile time
|
Modifier and Type | Method and Description |
---|---|
void |
changeOutputDestination(Receiver receiver,
ParseOptions options)
Set a new output destination, supplying the output format details.
|
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).
|
StringCollator |
getCollation(String name)
Get a named collation
|
Configuration |
getConfiguration()
Get the Configuration
|
Item |
getContextItem()
Get the context item
|
Controller |
getController()
Get the Controller.
|
DateTimeValue |
getCurrentDateTime()
Get the current date and time.
|
XPathException |
getCurrentException()
Get the current exception (in saxon:catch)
|
GroupIterator |
getCurrentGroupIterator()
Get the current group iterator.
|
SequenceIterator |
getCurrentIterator()
Get the current iterator.
|
Mode |
getCurrentMode()
Get the current mode.
|
RegexIterator |
getCurrentRegexIterator()
Get the current regex iterator.
|
Rule |
getCurrentTemplateRule()
Get the current template.
|
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 (non-tunnel) parameters that were passed to the current function or template
|
NamePool |
getNamePool()
Get the Name Pool
|
InstructionInfo |
getOrigin()
Get information about the creating expression or other construct.
|
int |
getOriginatingConstructType()
Get the type of location from which this context was created.
|
SequenceReceiver |
getReceiver()
Get the Receiver to which output is currently being written.
|
StackFrame |
getStackFrame()
Get a reference to the local stack frame for variables.
|
ParameterSet |
getTunnelParameters()
Get the tunnel parameters that were passed to the current function or template.
|
boolean |
isAtLast()
Determine whether the context position is the same as the context size
that is, whether position()=last()
|
boolean |
isTemporaryOutputState()
Ask whether the XSLT output state is "temporary" or "final"
|
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 |
notifyChildThreads() |
void |
setCaller(XPathContext caller)
Set the calling XPathContext
|
void |
setCurrentIterator(SequenceIterator iter)
Set a new sequence iterator.
|
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
|
int |
useLocalParameter(int parameterId,
int slotNumber,
boolean isTunnel)
Use local parameter.
|
public EarlyEvaluationContext(Configuration config, CollationMap map)
config
- the Saxon configurationmap
- the available collationspublic void changeOutputDestination(Receiver receiver, ParseOptions options) throws XPathException
changeOutputDestination
in interface XPathContext
receiver
- the new output destinationoptions
- options for schema-validation of the output stream. May be null
if validation is not required (i.e. Validation.PRESERVE)XPathException
- if any dynamic error occurs; and
specifically, if an attempt is made to switch to a final output
destination while writing a temporary tree or sequencepublic 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 XPathContext getCaller()
getCaller
in interface XPathContext
public StringCollator getCollation(String name) throws XPathException
getCollation
in interface XPathContext
name
- the name (URI) of the required collationXPathException
- if the collation is not recognizedpublic Configuration getConfiguration()
getConfiguration
in interface XPathContext
public Item getContextItem()
getContextItem
in interface XPathContext
public Controller getController()
getController
in interface XPathContext
public GroupIterator getCurrentGroupIterator()
getCurrentGroupIterator
in interface XPathContext
public SequenceIterator getCurrentIterator()
getCurrentIterator
in interface XPathContext
public Mode getCurrentMode()
getCurrentMode
in interface XPathContext
public RegexIterator getCurrentRegexIterator()
getCurrentRegexIterator
in interface XPathContext
public Rule getCurrentTemplateRule()
getCurrentTemplateRule
in interface XPathContext
public int getLast() throws XPathException
getLast
in interface XPathContext
XPathException
- if the context position is undefinedpublic ParameterSet getLocalParameters()
getLocalParameters
in interface XPathContext
public NamePool getNamePool()
getNamePool
in interface XPathContext
public InstructionInfo getOrigin()
public int getOriginatingConstructType()
public SequenceReceiver getReceiver()
getReceiver
in interface XPathContext
public StackFrame getStackFrame()
getStackFrame
in interface XPathContext
public ParameterSet getTunnelParameters()
getTunnelParameters
in interface XPathContext
public boolean isAtLast() throws XPathException
isAtLast
in interface XPathContext
XPathException
public XPathContextMajor newCleanContext()
newCleanContext
in interface XPathContext
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 void setCurrentIterator(SequenceIterator iter)
setCurrentIterator
in interface XPathContext
iter
- the current iterator. The context item, position, and size are determined by reference
to the current iterator.public void setLocalVariable(int slotnumber, Sequence value)
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 variablepublic void setReceiver(SequenceReceiver receiver)
setReceiver
in interface XPathContext
receiver
- the SequenceReceiver to be usedpublic int useLocalParameter(int parameterId, int slotNumber, boolean isTunnel) throws XPathException
useLocalParameter
in interface XPathContext
parameterId
- slotNumber
- isTunnel
- True if a tunnel parameter is required, else false @return true if a parameter of this name was supplied, false if notXPathException
public DateTimeValue getCurrentDateTime() throws NoDynamicContextException
getCurrentDateTime
in interface XPathContext
NoDynamicContextException
public int getImplicitTimezone() throws NoDynamicContextException
getImplicitTimezone
in interface XPathContext
NoDynamicContextException
public 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 XPathException getCurrentException()
getCurrentException
in interface XPathContext
public void notifyChildThreads() throws XPathException
notifyChildThreads
in interface XPathContext
XPathException
public boolean isTemporaryOutputState()
isTemporaryOutputState
in interface XPathContext
Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.