## net.sf.saxon.trace
Class ContextStackFrame

    java.lang.Object
      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) 2004-2010 Saxonica Limited. All rights reserved.