Class XSLIf

    • Constructor Detail

      • XSLIf

        public XSLIf()
    • Method Detail

      • isInstruction

        public boolean isInstruction()
        Determine whether this node is an instruction.
        Overrides:
        isInstruction in class StyleElement
        Returns:
        true - it is an instruction
      • mayContainSequenceConstructor

        protected boolean mayContainSequenceConstructor()
        Determine whether this type of element is allowed to contain a template-body
        Overrides:
        mayContainSequenceConstructor in class StyleElement
        Returns:
        true: yes, it may contain a template-body
      • 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
      • prepareTestAttribute

        public static Expression prepareTestAttribute​(StyleElement se)
        Process all the attributes, for an element where the only permitted attribute is "test"
        Parameters:
        se - the containing element
        Returns:
        the expression represented by the test attribute, or null if the attribute is absent
      • 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