Class XSLOtherwise

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

public class XSLOtherwise extends StyleElement
Handler for xsl:otherwise elements in stylesheet.
  • Constructor Details

    • XSLOtherwise

      public XSLOtherwise()
  • Method Details

    • 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
    • validate

      public void validate(ComponentDeclaration decl) throws XPathException
      Description copied from class: StyleElement
      Check that the stylesheet element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.
      Overrides:
      validate in class StyleElement
      Parameters:
      decl - the declaration to be validated
      Throws:
      XPathException - if any error is found during validation
    • markTailCalls

      protected boolean markTailCalls()
      Mark tail-recursive calls on stylesheet functions. For most instructions, this does nothing.
      Overrides:
      markTailCalls in class StyleElement
      Returns:
      true if one or more tail calls were identified
    • 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
    • compileSequenceConstructor

      public Expression compileSequenceConstructor(Compilation compilation, ComponentDeclaration decl, boolean includeParams) throws XPathException
      Description copied from class: StyleElement
      Compile the children of this instruction on the stylesheet tree, adding the subordinate instructions to the parent instruction on the execution tree.
      Overrides:
      compileSequenceConstructor in class StyleElement
      Parameters:
      compilation - the Executable
      decl - the Declaration of the containing top-level stylesheet element
      includeParams - true if xsl:param elements are to be treated as child instructions (true for templates but not for functions)
      Returns:
      the compiled sequence constructor
      Throws:
      XPathException - if compilation fails