org.apache.xalan.templates

Class ElemCallTemplate

Implemented Interfaces:
Document, Element, ExpressionNode, ExpressionOwner, Node, NodeList, PrefixResolver, Serializable, SourceLocator, WhitespaceStrippingElementMatcher, XSLTVisitable
Known Direct Subclasses:
ElemApplyTemplates

public class ElemCallTemplate
extends ElemForEach

Implement xsl:call-template.
 &!ELEMENT xsl:call-template (xsl:with-param)*>
 &!ATTLIST xsl:call-template
   name %qname; #REQUIRED
 &
 
See Also:
named-templates in XSLT Specification

Field Summary

QName
m_templateName
An xsl:call-template element invokes a template by name; it has a required name attribute that identifies the template to be invoked.

Fields inherited from class org.apache.xalan.templates.ElemForEach

m_doc_cache_off

Method Summary

ElemTemplateElement
appendChild(ElemTemplateElement newChild)
Add a child to the child list.
void
callChildVisitors(XSLTVisitor visitor, boolean callAttrs)
Call the children visitors.
void
compose(StylesheetRoot sroot)
This function is called after everything else has been recomposed, and allows the template to set remaining values that may be based on some other property that depends on recomposition.
void
endCompose(StylesheetRoot sroot)
This after the template's children have been composed.
void
execute(TransformerImpl transformer)
Invoke a named template.
QName
getName()
Get the "name" attribute.
String
getNodeName()
Return the node name.
ElemWithParam
getParamElem(int i)
Get a xsl:param element associated with this element.
int
getParamElemCount()
Get the count xsl:param elements associated with this element.
int
getXSLToken()
Get an int constant identifying the type of element.
void
setName(QName name)
Set the "name" attribute.
void
setParamElem(ElemWithParam ParamElem)
Set a xsl:param element associated with this element.

Methods inherited from class org.apache.xalan.templates.ElemForEach

appendChild, callChildVisitors, compose, endCompose, execute, getExpression, getNodeName, getSelect, getSortElem, getSortElemCount, getXSLToken, setExpression, setSelect, setSortElem, sortNodes, transformSelectedNodes

Methods inherited from class org.apache.xalan.templates.ElemTemplateElement

appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, containsExcludeResultPrefix, endCompose, error, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDOMBackPointer, getDeclaredPrefixes, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeName, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXSLToken, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace

Methods inherited from class org.apache.xml.utils.UnImplNode

adoptNode, appendChild, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, error, error, getActualEncoding, getAttribute, getAttributeNS, getAttributeNode, getAttributeNodeNS, getAttributes, getBaseURI, getChildNodes, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getFirstChild, getImplementation, getInputEncoding, getLastChild, getLength, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getOwnerElement, getParentNode, getPrefix, getPreviousSibling, getSchemaTypeInfo, getSpecified, getStrictErrorChecking, getTagName, getTextContent, getUserData, getWholeText, getXmlEncoding, getXmlStandalone, getXmlVersion, hasAttribute, hasAttributeNS, hasAttributes, hasChildNodes, importNode, insertBefore, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, isWhitespaceInElementContent, item, lookupNamespaceURI, lookupPrefix, normalize, normalizeDocument, removeAttribute, removeAttributeNS, removeAttributeNode, removeChild, renameNode, replaceChild, replaceData, replaceWholeText, setActualEncoding, setAttribute, setAttributeNS, setAttributeNode, setAttributeNodeNS, setData, setDocumentURI, setIdAttribute, setIdAttribute, setIdAttributeNS, setIdAttributeNode, setInputEncoding, setNodeValue, setPrefix, setStrictErrorChecking, setTextContent, setUserData, setValue, setXmlEncoding, setXmlStandalone, setXmlVersion, splitText, substringData

Field Details

m_templateName

public QName m_templateName
An xsl:call-template element invokes a template by name; it has a required name attribute that identifies the template to be invoked.

Method Details

appendChild

public ElemTemplateElement appendChild(ElemTemplateElement newChild)
Add a child to the child list. <!ELEMENT xsl:apply-templates (xsl:sort|xsl:with-param)*> <!ATTLIST xsl:apply-templates select %expr; "node()" mode %qname; #IMPLIED >
Overrides:
appendChild in interface ElemForEach
Parameters:
newChild - Child to add to this node's children list
Returns:
The child that was just added the children list

callChildVisitors

public void callChildVisitors(XSLTVisitor visitor,
                              boolean callAttrs)
Call the children visitors.
Overrides:
callChildVisitors in interface ElemForEach
Parameters:
visitor - The visitor whose appropriate method will be called.

compose

public void compose(StylesheetRoot sroot)
            throws TransformerException
This function is called after everything else has been recomposed, and allows the template to set remaining values that may be based on some other property that depends on recomposition.
Overrides:
compose in interface ElemForEach

endCompose

public void endCompose(StylesheetRoot sroot)
            throws TransformerException
This after the template's children have been composed.
Overrides:
endCompose in interface ElemForEach

execute

public void execute(TransformerImpl transformer)
            throws TransformerException
Invoke a named template.
Overrides:
execute in interface ElemForEach
Parameters:
transformer - non-null reference to the the current transform-time state.

getName

public QName getName()
Get the "name" attribute. An xsl:call-template element invokes a template by name; it has a required name attribute that identifies the template to be invoked.
Returns:
Name attribute of this element

getNodeName

public String getNodeName()
Return the node name.
Overrides:
getNodeName in interface ElemForEach
Returns:
The name of this element

getParamElem

public ElemWithParam getParamElem(int i)
Get a xsl:param element associated with this element.
Parameters:
i - Index of element to find
Returns:
xsl:param element at given index

getParamElemCount

public int getParamElemCount()
Get the count xsl:param elements associated with this element.
Returns:
The number of xsl:param elements.

getXSLToken

public int getXSLToken()
Get an int constant identifying the type of element.
Overrides:
getXSLToken in interface ElemForEach
Returns:
The token ID for this element
See Also:
Constants

setName

public void setName(QName name)
Set the "name" attribute. An xsl:call-template element invokes a template by name; it has a required name attribute that identifies the template to be invoked.
Parameters:
name - Name attribute to set

setParamElem

public void setParamElem(ElemWithParam ParamElem)
Set a xsl:param element associated with this element.
Parameters:
ParamElem - xsl:param element to set.

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