Class XSLLocalParam

All Implemented Interfaces:
Source, SourceLocator, ActiveSource, GroundedValue, Item, MutableNodeInfo, NamespaceResolver, NodeInfo, Sequence, Location, SteppingNode, SiblingCountingNode, Locator

public class XSLLocalParam extends XSLGeneralVariable
An xsl:param element representing a local parameter (template or function parameter) in the stylesheet.
The xsl:param element has mandatory attribute name and optional attributes select, required, as, ...
  • Constructor Details

    • XSLLocalParam

      public XSLLocalParam()
  • Method Details

    • getBindingInformation

      public SourceBinding getBindingInformation(StructuredQName name)
      Ask whether this element contains a binding for a variable with a given name; and if it does, return the source binding information
      Overrides:
      getBindingInformation in class StyleElement
      Parameters:
      name - the variable name
      Returns:
      the binding information if this element binds a variable of this name; otherwise null
    • getSlotNumber

      public int getSlotNumber()
      Get the slot number allocated to this variable (its position in the stackframe)
      Returns:
      the allocated slot number
    • prepareAttributes

      protected void prepareAttributes()
      Description copied from class: StyleElement
      Set the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass
      Specified by:
      prepareAttributes in class StyleElement
    • getDefaultValueExpressionSupplier

      public Supplier<Expression> getDefaultValueExpressionSupplier()
    • prepareTemplateSignatureAttributes

      public void prepareTemplateSignatureAttributes() throws XPathException
      Throws:
      XPathException
    • validate

      public void validate(ComponentDeclaration decl) throws XPathException
      Description copied from class: XSLGeneralVariable
      Check that the variable is not already declared, and allocate a slot number
      Overrides:
      validate in class XSLGeneralVariable
      Parameters:
      decl - the declaration being validated. A single XSLVariableDeclaration object may represent multiple declarations if it appears in a stylesheet module that is included/imported more than once
      Throws:
      XPathException - if any error is found during validation
    • isTunnelParam

      public boolean isTunnelParam()
    • isRequiredParam

      public boolean isRequiredParam()
    • seesAvuncularVariables

      protected boolean seesAvuncularVariables()
      Ask whether variables declared in an "uncle" element are visible.
      Overrides:
      seesAvuncularVariables in class StyleElement
      Returns:
      false if this xsl:param is a child of xsl:function (new rule in 4.0 draft)
    • fixupReferences

      public void fixupReferences() throws XPathException
      Description copied from class: StyleElement
      Fix up references from XPath expressions. Overridden for function declarations and variable declarations
      Overrides:
      fixupReferences in class StyleElement
      Throws:
      XPathException - if any references cannot be fixed up.
    • compile

      public Expression compile(Compilation exec, ComponentDeclaration decl) throws XPathException
      Description copied from class: StyleElement
      Compile the instruction on the stylesheet tree into an executable instruction for use at run-time.
      Overrides:
      compile in class StyleElement
      Parameters:
      exec - the compilation episode
      decl - the containing top-level declaration, for example xsl:function or xsl:template
      Returns:
      either a ComputedExpression, or null. The value null is returned when compiling an instruction that returns a no-op, or when compiling a top-level object such as an xsl:template that compiles into something other than an instruction.
      Throws:
      XPathException - if validation fails
    • getCompiledParam

      public LocalParam getCompiledParam()
    • getRequiredType

      public SequenceType getRequiredType()
      Get the static type of the parameter. This is the declared type, because we cannot know the actual value in advance.
      Returns:
      the declared type (or item()* if no type is declared)