net.sf.saxon.instruct
Class Template

java.lang.Object
  extended bynet.sf.saxon.instruct.Procedure
      extended bynet.sf.saxon.instruct.Template
All Implemented Interfaces:
Container, InstructionInfoProvider, LocationProvider, java.io.Serializable, javax.xml.transform.SourceLocator

public class Template
extends Procedure
implements InstructionInfoProvider

An xsl:template element in the style sheet.

See Also:
Serialized Form

Constructor Summary
Template()
           
 
Method Summary
 TailCall expand(XPathContext context)
          Expand the template.
 int getFingerprint()
          Get the namepool fingerprint of the name of the template (if it is named)
 InstructionInfo getInstructionInfo()
          Get the InstructionInfo details about the construct.
 int getMinImportPrecedence()
           
 int getPrecedence()
           
 boolean hasBadParentPointer()
          Diagnostic method
 void init(int templateFingerprint, int precedence, int minImportPrecedence)
           
 void process(XPathContext context)
          Process the template, without returning any tail calls
 TailCall processLeavingTail(XPathContext context)
          Process this template, with the possibility of returning a tail call package if the template contains any tail calls that are to be performed by the caller.
 
Methods inherited from class net.sf.saxon.instruct.Procedure
getBody, getColumnNumber, getExecutable, getHostLanguage, getLineNumber, getLineNumber, getLocationProvider, getPublicId, getStackFrameMap, getSystemId, getSystemId, setBody, setExecutable, setHostLanguage, setLineNumber, setStackFrameMap, setSystemId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Template

public Template()
Method Detail

init

public void init(int templateFingerprint,
                 int precedence,
                 int minImportPrecedence)

getFingerprint

public int getFingerprint()
Get the namepool fingerprint of the name of the template (if it is named)

Returns:
the fingerprint of the template name, or -1 if unnamed

getPrecedence

public int getPrecedence()

getMinImportPrecedence

public int getMinImportPrecedence()

process

public void process(XPathContext context)
             throws XPathException
Process the template, without returning any tail calls

Parameters:
context - The dynamic context, giving access to the current node, the current variables, etc.
Throws:
XPathException

processLeavingTail

public TailCall processLeavingTail(XPathContext context)
                            throws XPathException
Process this template, with the possibility of returning a tail call package if the template contains any tail calls that are to be performed by the caller.

Throws:
XPathException

expand

public TailCall expand(XPathContext context)
                throws XPathException
Expand the template. Called when the template is invoked using xsl:call-template. Invoking a template by this method does not change the current template.

Throws:
XPathException

getInstructionInfo

public InstructionInfo getInstructionInfo()
Get the InstructionInfo details about the construct. This information isn't used for tracing, but it is available when inspecting the context stack.

Specified by:
getInstructionInfo in interface InstructionInfoProvider

hasBadParentPointer

public boolean hasBadParentPointer()
Diagnostic method

Returns: