org.apache.xalan.templates
Class ElemApplyTemplates

java.lang.Object
  extended by org.apache.xml.utils.UnImplNode
      extended by org.apache.xalan.templates.ElemTemplateElement
          extended by org.apache.xalan.templates.ElemForEach
              extended by org.apache.xalan.templates.ElemCallTemplate
                  extended by org.apache.xalan.templates.ElemApplyTemplates
All Implemented Interfaces:
java.io.Serializable, javax.xml.transform.SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, ExpressionOwner, WhitespaceStrippingElementMatcher, org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.NodeList

public class ElemApplyTemplates
extends ElemCallTemplate

Implement xsl:apply-templates.

 &!ELEMENT xsl:apply-templates (xsl:sort|xsl:with-param)*>
 &!ATTLIST xsl:apply-templates
   select %expr; "node()"
   mode %qname; #IMPLIED
 &
 

See Also:
section-Applying-Template-Rules in XSLT Specification, Serialized Form

Field Summary
private  boolean m_isDefaultTemplate
          Tells if this belongs to a default template, in which case it will act different with regard to processing modes.
private  QName m_mode
          mode %qname; #IMPLIED
(package private) static long serialVersionUID
           
 
Fields inherited from class org.apache.xalan.templates.ElemCallTemplate
m_paramElems, m_templateName
 
Fields inherited from class org.apache.xalan.templates.ElemForEach
DEBUG, m_doc_cache_off, m_selectExpression, m_sortElems, m_xpath
 
Fields inherited from class org.apache.xalan.templates.ElemTemplateElement
m_docOrderNumber, m_firstChild, m_hasVariableDecl, m_nextSibling, m_parentNode
 
Fields inherited from class org.apache.xml.utils.UnImplNode
actualEncoding, fDocumentURI
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
ElemApplyTemplates()
           
 
Method Summary
 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 execute(TransformerImpl transformer)
          Apply the context node to the matching templates.
 QName getMode()
          Get the mode attribute for this element.
 java.lang.String getNodeName()
          Return the node name.
 int getXSLToken()
          Get an int constant identifying the type of element.
 void setIsDefaultTemplate(boolean b)
          Set if this belongs to a default template, in which case it will act different with regard to processing modes.
 void setMode(QName mode)
          Set the mode attribute for this element.
 void transformSelectedNodes(TransformerImpl transformer)
          Perform a query if needed, and call transformNode for each child.
 
Methods inherited from class org.apache.xalan.templates.ElemCallTemplate
appendChild, callChildVisitors, endCompose, getName, getParamElem, getParamElemCount, setName, setParamElem
 
Methods inherited from class org.apache.xalan.templates.ElemForEach
getExpression, getSelect, getSortElem, getSortElemCount, getTemplateMatch, setExpression, setSelect, setSortElem, sortNodes
 
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement
accept, addOrReplaceDecls, appendChild, callChildVisitors, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, containsExcludeResultPrefix, error, error, executeNSDecls, executeNSDecls, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixTable, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, needToCheckExclude, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setPrefixTable, setUid, setXmlSpace, shouldStripWhiteSpace, unexecuteNSDecls, unexecuteNSDecls
 
Methods inherited from class org.apache.xml.utils.UnImplNode
adoptNode, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getActualEncoding, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSchemaTypeInfo, getSpecified, getStrictErrorChecking, getTextContent, getUserData, getWholeText, getXmlEncoding, getXmlStandalone, getXmlVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, isWhitespaceInElementContent, lookupNamespaceURI, lookupPrefix, normalize, normalizeDocument, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, renameNode, replaceData, replaceWholeText, setActualEncoding, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setDocumentURI, setIdAttribute, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInputEncoding, setNodeValue, setPrefix, setStrictErrorChecking, setTextContent, setUserData, setValue, setXmlEncoding, setXmlStandalone, setXmlVersion, splitText, substringData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

m_mode

private QName m_mode
mode %qname; #IMPLIED


m_isDefaultTemplate

private boolean m_isDefaultTemplate
Tells if this belongs to a default template, in which case it will act different with regard to processing modes.

See Also:
built-in-rule in XSLT Specification
Constructor Detail

ElemApplyTemplates

public ElemApplyTemplates()
Method Detail

setMode

public void setMode(QName mode)
Set the mode attribute for this element.

Parameters:
mode - reference, which may be null, to the current mode.

getMode

public QName getMode()
Get the mode attribute for this element.

Returns:
The mode attribute for this element

setIsDefaultTemplate

public void setIsDefaultTemplate(boolean b)
Set if this belongs to a default template, in which case it will act different with regard to processing modes.

Parameters:
b - boolean value to set.
See Also:
built-in-rule in XSLT Specification

getXSLToken

public int getXSLToken()
Get an int constant identifying the type of element.

Overrides:
getXSLToken in class ElemCallTemplate
Returns:
Token ID for this element types
See Also:
Constants

compose

public void compose(StylesheetRoot sroot)
             throws javax.xml.transform.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 class ElemCallTemplate
Throws:
javax.xml.transform.TransformerException

getNodeName

public java.lang.String getNodeName()
Return the node name.

Specified by:
getNodeName in interface org.w3c.dom.Node
Overrides:
getNodeName in class ElemCallTemplate
Returns:
Element name

execute

public void execute(TransformerImpl transformer)
             throws javax.xml.transform.TransformerException
Apply the context node to the matching templates.

Overrides:
execute in class ElemCallTemplate
Parameters:
transformer - non-null reference to the the current transform-time state.
Throws:
javax.xml.transform.TransformerException
See Also:
section-Applying-Template-Rules in XSLT Specification

transformSelectedNodes

public void transformSelectedNodes(TransformerImpl transformer)
                            throws javax.xml.transform.TransformerException
Perform a query if needed, and call transformNode for each child.

Overrides:
transformSelectedNodes in class ElemForEach
Parameters:
transformer - non-null reference to the the current transform-time state.
Throws:
javax.xml.transform.TransformerException - Thrown in a variety of circumstances.