net.sf.saxon.trace
Class ContextStackFrame

java.lang.Object
  extended by net.sf.saxon.trace.ContextStackFrame
Direct Known Subclasses:
ContextStackFrame.ApplyTemplates, ContextStackFrame.BuiltInTemplateRule, ContextStackFrame.CallingApplication, ContextStackFrame.CallTemplate, ContextStackFrame.ForEach, ContextStackFrame.FunctionCall, ContextStackFrame.VariableEvaluation

public abstract class ContextStackFrame
extends Object

An entry on the context stack. A new entry is created every time the context changes. This is a representation of the stack created on request; it does not hold live data.


Nested Class Summary
static class ContextStackFrame.ApplyTemplates
          Subclass of ContextStackFrame representing an xsl:apply-templates call in XSLT
static class ContextStackFrame.BuiltInTemplateRule
          Subclass of ContextStackFrame representing a built-in template rule in XSLT
static class ContextStackFrame.CallingApplication
          Subclass of ContextStackFrame representing the outermost stack frame, for the calling application
static class ContextStackFrame.CallTemplate
          Subclass of ContextStackFrame representing an xsl:call-template instruction in XSLT
static class ContextStackFrame.ForEach
          Subclass of ContextStackFrame representing an xsl:for-each instruction in XSLT
static class ContextStackFrame.FunctionCall
          Subclass of ContextStackFrame representing a call to a user-defined function either in XSLT or XQuery
static class ContextStackFrame.VariableEvaluation
          Subclass of ContextStackFrame representing the evaluation of a variable (typically a global variable)
 
Constructor Summary
ContextStackFrame()
           
 
Method Summary
 Container getContainer()
          Get the container of the instruction that caused this new context to be created.
 Item getContextItem()
          Get the value of the context item at this level of the context stack
 int getLineNumber()
          Get the line number of the location of the instruction that caused this new context to be created
 String getSystemId()
          Get the system ID representing the location of the instruction that caused this new context to be created
abstract  void print(PrintStream out)
          Display a representation of the stack frame on the specified output stream
 void setContainer(Container container)
          Set the container of the instruction that caused this new context to be created.
 void setContextItem(Item contextItem)
          Set the value of the context item at this level of the context stack
 void setLineNumber(int lineNumber)
          Set the line number of the location of the instruction that caused this new context to be created
 void setSystemId(String uri)
          Set the system ID representing the location of the instruction that caused this new context to be created
protected  String showLocation()
          Show the location of a call (for use by subclasses)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContextStackFrame

public ContextStackFrame()
Method Detail

setSystemId

public void setSystemId(String uri)
Set the system ID representing the location of the instruction that caused this new context to be created

Parameters:
uri - the system ID (base URI/module URI) of the module containing the instruction

getSystemId

public String getSystemId()
Get the system ID representing the location of the instruction that caused this new context to be created

Returns:
the system ID (base URI/module URI) of the module containing the instruction

setLineNumber

public void setLineNumber(int lineNumber)
Set the line number of the location of the instruction that caused this new context to be created

Parameters:
lineNumber - the line number of the instruction within its containing module

getLineNumber

public int getLineNumber()
Get the line number of the location of the instruction that caused this new context to be created

Returns:
the line number of the instruction within its containing module

setContainer

public void setContainer(Container container)
Set the container of the instruction that caused this new context to be created. This will generally be an object such as an XSLT Template or a user-defined function

Parameters:
container - the container of the instruction

getContainer

public Container getContainer()
Get the container of the instruction that caused this new context to be created. This will generally be an object such as an XSLT Template or a user-defined function

Returns:
the container of the instruction in the expression tree

setContextItem

public void setContextItem(Item contextItem)
Set the value of the context item at this level of the context stack

Parameters:
contextItem - the context item as it was when this new context was created

getContextItem

public Item getContextItem()
Get the value of the context item at this level of the context stack

Returns:
the context item as it was when this new context was created

print

public abstract void print(PrintStream out)
Display a representation of the stack frame on the specified output stream

Parameters:
out - the output stream

showLocation

protected String showLocation()
Show the location of a call (for use by subclasses)

Returns:
typically "(" + systemId() + "#" + lineNumber() + ")"


Copyright (c) Saxonica Limited. All rights reserved.