org.apache.xalan.templates

Class TemplateList

public class TemplateList extends Object implements Serializable

Encapsulates a template list, and helps locate individual templates.

UNKNOWN: advanced

Nested Class Summary
classTemplateList.TemplateWalker
An inner class used by a compiler to iterate over all of the ElemTemplates stored in this TemplateList.
Constructor Summary
TemplateList()
Construct a TemplateList object.
Method Summary
voidcompose(StylesheetRoot sroot)
After all templates have been added, this function should be called.
TemplateSubPatternAssociationgetHead(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.
ElemTemplategetTemplate(QName qname)
Locate a named template.
ElemTemplategetTemplate(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.
ElemTemplategetTemplate(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.
ElemTemplategetTemplateFast(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.TemplateWalkergetWalker()
Get a TemplateWalker for use by a compiler.
voidsetTemplate(ElemTemplate template)
Add a template to the table of named templates and/or the table of templates with match patterns.

Constructor Detail

TemplateList

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

Method Detail

compose

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

getHead

public 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.

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.

getTemplate

public 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.

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. TransformerException

getTemplate

public 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.

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. TransformerException

getTemplateFast

public 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. 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. 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.

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

Copyright B) 2005 Apache XML Project. All Rights Reserved.