Class XSLChooseOrSwitch

All Implemented Interfaces:
Source, SourceLocator, ActiveSource, GroundedValue, Item, MutableNodeInfo, NamespaceResolver, NodeInfo, Sequence, Location, SteppingNode, SiblingCountingNode, Locator
Direct Known Subclasses:
XSLChoose, XSLSwitch

public abstract class XSLChooseOrSwitch extends StyleElement
An xsl:choose or xsl:switch element in the stylesheet.
  • Constructor Details

    • XSLChooseOrSwitch

      public XSLChooseOrSwitch()
  • Method Details

    • isInstruction

      public boolean isInstruction()
      Determine whether this node is an instruction.
      Overrides:
      isInstruction in class StyleElement
      Returns:
      true - it is an instruction
    • 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 templates and functions.
      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
    • compileConditions

      protected abstract void compileConditions(Compilation exec, ComponentDeclaration decl, Expression[] conditions)
    • compileActions

      protected void compileActions(Compilation exec, ComponentDeclaration decl, Expression[] actions) throws XPathException
      Throws:
      XPathException