org.apache.xalan.templates

## Class ElemApplyTemplates

- java.lang.Object
- - org.apache.xml.utils.UnImplNode
  - - org.apache.xalan.templates.ElemTemplateElement
    - - org.apache.xalan.templates.ElemForEach
      - - org.apache.xalan.templates.ElemCallTemplate
        - - 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
  Usage:
    **For advanced use only**

- - ### Field Summary

    - ### Fields inherited from class org.apache.xalan.templates.ElemCallTemplate

      `m_templateName`

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

      `m_doc_cache_off`

    - ### 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

    Constructors
    Constructor and Description
    `ElemApplyTemplates()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, setExpression, setSelect, setSortElem, sortNodes`

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

      `appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, containsExcludeResultPrefix, error, error, 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, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, 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, 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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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.
      Usage:
        **For advanced use only**

Copyright © 2023 Apache XML Project. All Rights Reserved.