Package net.sf.saxon.expr.instruct
Class ApplyTemplates.ApplyTemplatesPackage
java.lang.Object
net.sf.saxon.expr.instruct.ApplyTemplates.ApplyTemplatesPackage
- All Implemented Interfaces:
TailCall
- Enclosing class:
ApplyTemplates
An ApplyTemplatesPackage is an object that encapsulates the sequence of nodes to be processed,
the mode, the parameters to be supplied, and the execution context. This object can be returned as a tail
call, so that the actual call is made from a lower point on the stack, allowing a tail-recursive
template to execute in a finite stack size
-
Method Summary
Modifier and TypeMethodDescriptionProcess this TailCall (that is, executed the template call that is packaged in this object).
-
Method Details
-
processLeavingTail
Description copied from interface:TailCall
Process this TailCall (that is, executed the template call that is packaged in this object). This may return a further TailCall, which should also be processed: this is the mechanism by which a nested set of recursive calls is converted into an iteration.- Specified by:
processLeavingTail
in interfaceTailCall
- Returns:
- a further TailCall, if the recursion continues, or null, indicating that the recursion has terminated.
- Throws:
XPathException
- if any error occurs processing the tail call
-