Class TemplateList

  • All Implemented Interfaces:
    java.io.Serializable

    public class TemplateList
    extends java.lang.Object
    implements java.io.Serializable
    Encapsulates a template list, and helps locate individual templates.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  TemplateList.TemplateWalker
      An inner class used by a compiler to iterate over all of the ElemTemplates stored in this TemplateList.
    • Constructor Summary

      Constructors 
      Constructor Description
      TemplateList()
      Construct a TemplateList object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void compose​(StylesheetRoot sroot)
      After all templates have been added, this function should be called.
      org.apache.xalan.templates.TemplateSubPatternAssociation getHead​(XPathContext xctxt, int targetNode, DTM dtm)
      Get the head of the most likely list of associations to check, based on the name and type of the targetNode argument.
      ElemTemplate getTemplate​(QName qname)
      Locate a named template.
      ElemTemplate getTemplate​(XPathContext xctxt, int targetNode, QName mode, boolean quietConflictWarnings, DTM dtm)
      Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft.
      ElemTemplate getTemplate​(XPathContext xctxt, int targetNode, QName mode, int maxImportLevel, int endImportLevel, boolean quietConflictWarnings, DTM dtm)
      Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft.
      ElemTemplate getTemplateFast​(XPathContext xctxt, int targetNode, int expTypeID, QName mode, int maxImportLevel, boolean quietConflictWarnings, DTM dtm)
      Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft.
      TemplateList.TemplateWalker getWalker()
      Get a TemplateWalker for use by a compiler.
      void setTemplate​(ElemTemplate template)
      Add a template to the table of named templates and/or the table of templates with match patterns.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TemplateList

        public TemplateList()
        Construct a TemplateList object. Needs to be public so it can be invoked from the CompilingStylesheetHandler.
    • Method Detail

      • setTemplate

        public void setTemplate​(ElemTemplate template)
        Add a template to the table of named templates and/or the table of templates with match patterns. This routine should be called in decreasing order of precedence but it checks nonetheless.
        Parameters:
        template -
      • compose

        public void compose​(StylesheetRoot sroot)
        After all templates have been added, this function should be called.
      • getTemplate

        public ElemTemplate getTemplate​(QName qname)
        Locate a named template.
        Parameters:
        qname - Qualified name of the template.
        Returns:
        Template argument with the requested name, or null if not found.
      • getHead

        public org.apache.xalan.templates.TemplateSubPatternAssociation getHead​(XPathContext xctxt,
                                                                                int targetNode,
                                                                                DTM dtm)
        Get the head of the most likely list of associations to check, based on the name and type of the targetNode argument.
        Parameters:
        xctxt - The XPath runtime context.
        targetNode - The target node that will be checked for a match.
        dtm - The dtm owner for the target node.
        Returns:
        The head of a linked list that contains all possible match pattern to template associations.
      • getTemplateFast

        public ElemTemplate getTemplateFast​(XPathContext xctxt,
                                            int targetNode,
                                            int expTypeID,
                                            QName mode,
                                            int maxImportLevel,
                                            boolean quietConflictWarnings,
                                            DTM dtm)
                                     throws javax.xml.transform.TransformerException
        Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft. This variation of getTemplate assumes the current node and current expression node have already been pushed.
        Parameters:
        xctxt -
        targetNode -
        mode - A string indicating the display mode.
        maxImportLevel - The maximum importCountComposed that we should consider or -1 if we should consider all import levels. This is used by apply-imports to access templates that have been overridden.
        quietConflictWarnings -
        Returns:
        Rule that best matches targetElem.
        Throws:
        XSLProcessorException - thrown if the active ProblemListener and XPathContext decide the error condition is severe enough to halt processing.
        javax.xml.transform.TransformerException
      • getTemplate

        public ElemTemplate getTemplate​(XPathContext xctxt,
                                        int targetNode,
                                        QName mode,
                                        boolean quietConflictWarnings,
                                        DTM dtm)
                                 throws javax.xml.transform.TransformerException
        Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft.
        Parameters:
        xctxt -
        targetNode -
        mode - A string indicating the display mode.
        quietConflictWarnings -
        Returns:
        Rule that best matches targetElem.
        Throws:
        XSLProcessorException - thrown if the active ProblemListener and XPathContext decide the error condition is severe enough to halt processing.
        javax.xml.transform.TransformerException
      • getTemplate

        public ElemTemplate getTemplate​(XPathContext xctxt,
                                        int targetNode,
                                        QName mode,
                                        int maxImportLevel,
                                        int endImportLevel,
                                        boolean quietConflictWarnings,
                                        DTM dtm)
                                 throws javax.xml.transform.TransformerException
        Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft.
        Parameters:
        xctxt -
        targetNode -
        mode - A string indicating the display mode.
        maxImportLevel - The maximum importCountComposed that we should consider or -1 if we should consider all import levels. This is used by apply-imports to access templates that have been overridden.
        endImportLevel - The count of composed imports
        quietConflictWarnings -
        Returns:
        Rule that best matches targetElem.
        Throws:
        XSLProcessorException - thrown if the active ProblemListener and XPathContext decide the error condition is severe enough to halt processing.
        javax.xml.transform.TransformerException
      • getWalker

        public TemplateList.TemplateWalker getWalker()
        Get a TemplateWalker for use by a compiler. See the documentation for the TreeWalker inner class for further details.