Class XSLTemplate

    • Constructor Detail

      • XSLTemplate

        public XSLTemplate()
    • Method Detail

      • isDeclaration

        public boolean isDeclaration()
        Ask whether this node is a declaration, that is, a permitted child of xsl:stylesheet (including xsl:include and xsl:import).
        Overrides:
        isDeclaration in class StyleElement
        Returns:
        true for this element
      • mayContainSequenceConstructor

        public 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
      • mayContainParam

        protected boolean mayContainParam​(java.lang.String attName)
        Description copied from class: StyleElement
        Determine whether this type of element is allowed to contain an xsl:param element
        Overrides:
        mayContainParam in class StyleElement
        Parameters:
        attName - if null, the method tests whether an xsl:param child is allowed. If non-null, it tests whether an xsl:param child with the given attribute name is allowed
        Returns:
        true if this element is allowed to contain an xsl:param
      • isPermittedChild

        protected boolean isPermittedChild​(StyleElement child)
        Specify that xsl:param is a permitted child
        Overrides:
        isPermittedChild in class StyleElement
        Parameters:
        child - the child that may or may not be permitted
        Returns:
        true if the child is permitted.
      • getTemplateName

        public StructuredQName getTemplateName()
        Return the name of this template. Note that this may be called before prepareAttributes has been called.
        Returns:
        the name of the template as a Structured QName.
      • getReturnedItemType

        protected ItemType getReturnedItemType()
        Determine the type of item returned by this template
        Overrides:
        getReturnedItemType in class StyleElement
        Returns:
        the item type returned
      • prepareAttributes

        public void prepareAttributes()
                               throws XPathException
        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
        Throws:
        XPathException - if a static error is detected
      • validate

        public void validate​(Declaration 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
      • postValidate

        public void postValidate()
                          throws XPathException
        Description copied from class: StyleElement
        Hook to allow additional validation of a parent element immediately after its children have been validated.
        Overrides:
        postValidate in class StyleElement
        Throws:
        XPathException - if any error is found during post-traversal validation
      • index

        protected void index​(Declaration decl,
                             PrincipalStylesheetModule top)
                      throws XPathException
        Description copied from class: StyleElement
        Method supplied by declaration elements to add themselves to a stylesheet-level index
        Overrides:
        index in class StyleElement
        Parameters:
        decl - the Declaration being indexed. (This corresponds to the StyleElement object except in cases where one module is imported several times with different precedence.)
        top - the outermost XSLStylesheet element
        Throws:
        XPathException - if any error is encountered
      • markTailCalls

        public 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
      • register

        public void register​(Declaration declaration)
                      throws XPathException
        Registers the template rule with each Mode that it belongs to.
        Parameters:
        declaration - Associates this template with a stylesheet module (in principle an xsl:template element can be in a document that is imported more than once; these are separate declarations)
        Throws:
        XPathException
      • optimize

        public void optimize​(Declaration declaration)
                      throws XPathException
        This method is a bit of a misnomer, because it does more than invoke optimization of the template body. In particular, it also registers the template rule with each Mode that it belongs to.
        Specified by:
        optimize in interface StylesheetProcedure
        Parameters:
        declaration - Associates this template with a stylesheet module (in principle an xsl:template element can be in a document that is imported more than once; these are separate declarations)
        Throws:
        XPathException
      • getCompiledTemplate

        public Template getCompiledTemplate()
        Get the compiled template
        Returns:
        the compiled template