net.sf.saxon.instruct
Class Template

java.lang.Object
  extended by net.sf.saxon.instruct.Procedure
      extended by net.sf.saxon.instruct.Template
All Implemented Interfaces:
Serializable, SourceLocator, LocationProvider, Container, InstructionInfoProvider

public class Template
extends Procedure
implements InstructionInfoProvider

An xsl:template element in the style sheet.

See Also:
Serialized Form

Constructor Summary
Template()
           
 
Method Summary
 void apply(XPathContext context, Rule rule)
          Process the template, without returning any tail calls
 TailCall applyLeavingTail(XPathContext context, Rule rule)
          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.
 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
 boolean hasRequiredParams()
           
 void init(int templateFingerprint, int precedence, int minImportPrecedence)
           
 void setBody(Expression body)
           
 void setHasRequiredParams(boolean has)
           
 
Methods inherited from class net.sf.saxon.instruct.Procedure
getBody, getColumnNumber, getExecutable, getHostLanguage, getLineNumber, getLineNumber, getLocationProvider, getPublicId, getStackFrameMap, getSystemId, getSystemId, replaceSubExpression, setExecutable, setHostLanguage, setLineNumber, setStackFrameMap, setSystemId
 
Methods inherited from class java.lang.Object
equals, 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)

setBody

public void setBody(Expression body)
Overrides:
setBody in class Procedure

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()

setHasRequiredParams

public void setHasRequiredParams(boolean has)

hasRequiredParams

public boolean hasRequiredParams()

apply

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

Parameters:
context - The dynamic context, giving access to the current node,
rule -
Throws:
XPathException

applyLeavingTail

public TailCall applyLeavingTail(XPathContext context,
                                 Rule rule)
                          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:
true if the template contains an expression with a bad parent pointer


Copyright (C) Michael H. Kay. All rights reserved.