com.icl.saxon
Class Context

java.lang.Object
  |
  +--com.icl.saxon.Context
All Implemented Interfaces:
LastPositionFinder

public class Context
extends java.lang.Object
implements LastPositionFinder

This class represents a context in which an expression is evaluated or a template is executed (as defined in the XSLT specification). It also provides a range of services to node handlers, for example access to the outputter and bindery, and the applyTemplates() function.


Field Summary
static int ALL_DEPENDENCIES
           
static int CONTEXT_NODE
           
static int CONTROLLER
           
static int CURRENT_NODE
           
static int LAST
           
static int NO_DEPENDENCIES
           
static int POSITION
           
static int VARIABLES
           
static int XSLT_CONTEXT
           
 
Constructor Summary
Context()
          Construct a Context for local XPath use (no links to Controller, bindery, etc)
Context(Controller c)
          Constructor should only be called by the Controller, which acts as a Context factory.
 
Method Summary
 void applyImports()
          Apply imports.
 Bindery getBindery()
          Get the Bindery used by this Context
 NodeInfo getContextNode()
          Get the context node
 Controller getController()
          Get the controller for this Context
 NodeInfo getCurrentNode()
          Get the current node.
 java.util.Stack getGroupActivationStack()
          Get the saxon:group activation stack
 int getLast()
          Get the context size (the position of the last item in the current node list)
 int getLastPosition()
          Get the last position, to be used only when the context object is being used as the last position finder
 Mode getMode()
          Get the current mode (for use by the built-in handlers)
 Outputter getOutputter()
          Get the current Outputter.
 int getPosition()
          Get the context position (the position of the context node in the context node list)
 int getRememberedNumber(NodeInfo node)
          Get the number of a node if it is the last remembered one.
 Value getReturnValue()
          Get the return value from function
 StaticContext getStaticContext()
          Get the static context.
 ParameterSet getTailRecursion()
          Get tail recursion parameters
 Context newContext()
          Construct a new context as a copy of another
 void setBindery(Bindery b)
          Set the Bindery used by this Context
 void setContextNode(NodeInfo node)
          Set the context node.
 void setController(Controller c)
          Set the controller for this Context
 void setCurrentNode(NodeInfo node)
          Set the current node.
 void setCurrentTemplate(XSLTemplate template)
          Set the current template.
 void setLast(int last)
          Set the context size; this also makes the Context object responisble for returning the last() position.
 void setLastPositionFinder(LastPositionFinder finder)
          Set the LastPositionFinder, another object that will do the work of returning the last() position
 void setMode(Mode mode)
          Set the mode (for use by the built-in handlers)
 void setPosition(int pos)
          Set the context position
 void setRememberedNumber(NodeInfo node, int number)
          Set the last remembered node, for node numbering purposes
 void setReturnValue(Value value)
          Set return value from function
 void setStaticContext(StaticContext sc)
          Set the static context
 void setTailRecursion(ParameterSet p)
          Set tail recursion parameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VARIABLES

public static final int VARIABLES

CURRENT_NODE

public static final int CURRENT_NODE

CONTEXT_NODE

public static final int CONTEXT_NODE

POSITION

public static final int POSITION

LAST

public static final int LAST

CONTROLLER

public static final int CONTROLLER

NO_DEPENDENCIES

public static final int NO_DEPENDENCIES

ALL_DEPENDENCIES

public static final int ALL_DEPENDENCIES

XSLT_CONTEXT

public static final int XSLT_CONTEXT
Constructor Detail

Context

public Context()
Construct a Context for local XPath use (no links to Controller, bindery, etc)

Context

public Context(Controller c)
Constructor should only be called by the Controller, which acts as a Context factory.
Method Detail

newContext

public Context newContext()
Construct a new context as a copy of another

setController

public void setController(Controller c)
Set the controller for this Context

getController

public Controller getController()
Get the controller for this Context

getBindery

public Bindery getBindery()
Get the Bindery used by this Context

setBindery

public void setBindery(Bindery b)
Set the Bindery used by this Context

getOutputter

public Outputter getOutputter()
Get the current Outputter. This gives access to the writeStartTag, writeAttribute, and writeEndTag methods
Returns:
the current Outputter

setMode

public void setMode(Mode mode)
Set the mode (for use by the built-in handlers)

getMode

public Mode getMode()
Get the current mode (for use by the built-in handlers)

setContextNode

public void setContextNode(NodeInfo node)
Set the context node.
Note that this has no effect on position() or last(), which must be set separately.
Parameters:
node - the node that is to be the context node.

getContextNode

public NodeInfo getContextNode()
Get the context node
Returns:
the context node

setPosition

public void setPosition(int pos)
Set the context position

getPosition

public int getPosition()
Get the context position (the position of the context node in the context node list)
Returns:
the context position (starting at one)

setLast

public void setLast(int last)
Set the context size; this also makes the Context object responisble for returning the last() position.

setLastPositionFinder

public void setLastPositionFinder(LastPositionFinder finder)
Set the LastPositionFinder, another object that will do the work of returning the last() position

getLast

public int getLast()
            throws org.xml.sax.SAXException
Get the context size (the position of the last item in the current node list)
Returns:
the context size

getLastPosition

public int getLastPosition()
Get the last position, to be used only when the context object is being used as the last position finder
Specified by:
getLastPosition in interface LastPositionFinder

setCurrentNode

public void setCurrentNode(NodeInfo node)
Set the current node. This is the node in the source document currently being processed (e.g. by apply-templates).

getCurrentNode

public NodeInfo getCurrentNode()
Get the current node. This is the node in the source document currently being processed (e.g. by apply-templates). It is not necessarily the same as the context node: the context node can change in a sub-expression, the current node cannot.

setCurrentTemplate

public void setCurrentTemplate(XSLTemplate template)
Set the current template. This is used to support xsl:apply-imports

setStaticContext

public void setStaticContext(StaticContext sc)
Set the static context

getStaticContext

public StaticContext getStaticContext()
Get the static context. This is currently available only while processing an extension function

getGroupActivationStack

public java.util.Stack getGroupActivationStack()
Get the saxon:group activation stack

setRememberedNumber

public void setRememberedNumber(NodeInfo node,
                                int number)
Set the last remembered node, for node numbering purposes

getRememberedNumber

public int getRememberedNumber(NodeInfo node)
Get the number of a node if it is the last remembered one.
Returns:
the number of this node if known, else -1.

applyImports

public void applyImports()
                  throws org.xml.sax.SAXException
Apply imports. This supports xsl:apply-imports

setTailRecursion

public void setTailRecursion(ParameterSet p)
Set tail recursion parameters

getTailRecursion

public ParameterSet getTailRecursion()
Get tail recursion parameters

setReturnValue

public void setReturnValue(Value value)
Set return value from function

getReturnValue

public Value getReturnValue()
Get the return value from function