org.apache.xalan.templates

## Class ElemCallTemplate

- java.lang.Object
- - org.apache.xml.utils.UnImplNode
  - - org.apache.xalan.templates.ElemTemplateElement
    - - org.apache.xalan.templates.ElemForEach
      - - org.apache.xalan.templates.ElemCallTemplate

- 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
  Direct Known 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, Serialized Form
  Usage:
    **For advanced use only**

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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`

    - ### 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
    `ElemCallTemplate()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `java.lang.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

      `getExpression, getSelect, getSortElem, getSortElemCount, setExpression, setSelect, setSortElem, sortNodes, transformSelectedNodes`

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

- - ### Field Detail

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

  - ### Constructor Detail

    - #### ElemCallTemplate

          public ElemCallTemplate()

  - ### Method Detail

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

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

    - #### getXSLToken

          public int getXSLToken()

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

    - #### getNodeName

          public java.lang.String getNodeName()

      Return the node name.
      Specified by:
        `getNodeName` in interface `org.w3c.dom.Node`
      Overrides:
        `getNodeName` in class `ElemForEach`
      Returns:
        The name of this element

    - #### 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 `ElemForEach`
      Throws:
        `javax.xml.transform.TransformerException`

    - #### endCompose

          public void endCompose(StylesheetRoot sroot)
                          throws javax.xml.transform.TransformerException

      This after the template's children have been composed.
      Overrides:
        `endCompose` in class `ElemForEach`
      Throws:
        `javax.xml.transform.TransformerException`

    - #### execute

          public void execute(TransformerImpl transformer)
                       throws javax.xml.transform.TransformerException

      Invoke a named template.
      Overrides:
        `execute` in class `ElemForEach`
      Parameters:
        `transformer` - non-null reference to the the current transform-time state.
      Throws:
        `javax.xml.transform.TransformerException`
      See Also:
        named-templates in XSLT Specification

    - #### getParamElemCount

          public int getParamElemCount()

      Get the count xsl:param elements associated with this element.
      Returns:
        The number of xsl:param elements.

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

    - #### setParamElem

          public void setParamElem(ElemWithParam ParamElem)

      Set a xsl:param element associated with this element.
      Parameters:
        `ParamElem` - xsl:param element to set.

    - #### appendChild

          public ElemTemplateElement appendChild(ElemTemplateElement newChild)

      Add a child to the child list.
      Overrides:
        `appendChild` in class `ElemForEach`
      Parameters:
        `newChild` - Child to add to this node's children list
      Returns:
        The child that was just added the children list
      Throws:
        `DOMException`

    - #### callChildVisitors

          public void callChildVisitors(XSLTVisitor visitor,
                                        boolean callAttrs)

      Call the children visitors.
      Overrides:
        `callChildVisitors` in class `ElemForEach`
      Parameters:
        `visitor` - The visitor whose appropriate method will be called.

Copyright © 2023 Apache XML Project. All Rights Reserved.