Class Template

java.lang.Object
net.sf.saxon.instruct.Procedure
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:
  • Constructor Details

    • Template

      public Template()
  • Method Details

    • 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