Class LocalParam

  • All Implemented Interfaces:
    java.io.Serializable, javax.xml.transform.SourceLocator, Binding, Container, Expression, TailCallReturner, InstructionInfoProvider

    public final class LocalParam
    extends GeneralVariable
    The compiled form of an xsl:param element in the stylesheet or an external variable in a Query.
    The xsl:param element in XSLT has mandatory attribute name and optional attribute select. It can also be specified as required="yes" or required="no". In standard XQuery external variables are always required, and no default value can be specified; but Saxon provides an extension pragma that allows a query to specify a default.
    See Also:
    Serialized Form
    • Constructor Detail

      • LocalParam

        public LocalParam()
    • Method Detail

      • setConversion

        public void setConversion​(Expression convertor)
        Define a conversion that is to be applied to the supplied parameter value.
        Parameters:
        convertor -
      • getInstructionNameCode

        public int getInstructionNameCode()
        Get the name of this instruction for diagnostic and tracing purposes
        Overrides:
        getInstructionNameCode in class GeneralVariable
      • iterateSubExpressions

        public java.util.Iterator iterateSubExpressions()
        Get all the XPath expressions associated with this instruction (in XSLT terms, the expression present on attributes of the instruction, as distinct from the child instructions in a sequence construction)
        Specified by:
        iterateSubExpressions in interface Expression
        Overrides:
        iterateSubExpressions in class GeneralVariable
        Returns:
        an iterator containing the sub-expressions of this expression
      • replaceSubExpression

        public boolean replaceSubExpression​(Expression original,
                                            Expression replacement)
        Replace one subexpression by a replacement subexpression
        Specified by:
        replaceSubExpression in interface Container
        Overrides:
        replaceSubExpression in class GeneralVariable
        Parameters:
        original - the original subexpression
        replacement - the replacement subexpression
        Returns:
        true if the original subexpression is found
      • processLeavingTail

        public TailCall processLeavingTail​(XPathContext context)
                                    throws XPathException
        Process the local parameter declaration
        Specified by:
        processLeavingTail in interface TailCallReturner
        Specified by:
        processLeavingTail in class Instruction
        Parameters:
        context - The dynamic context of the transformation, giving access to the current node, the current variables, etc.
        Returns:
        null if the instruction has completed execution; or a TailCall indicating a function call or template call that is delegated to the caller, to be made after the stack has been unwound so as to save stack space.
        Throws:
        XPathException