org.apache.xalan.templates

## Class ElemTemplate

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

- All Implemented Interfaces:
    java.io.Serializable, javax.xml.transform.SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, WhitespaceStrippingElementMatcher, org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.NodeList
  Direct Known Subclasses:
    ElemExsltFunction, WhiteSpaceInfo

      public class ElemTemplate
      extends ElemTemplateElement

  Implement xsl:template.

  See Also:
    section-Defining-Template-Rules in XSLT Specification, Serialized Form
  Usage:
    **For advanced use only**

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `m_frameSize` The stack frame size for this template, which is equal to the maximum number of params and variables that can be declared in the template at one time.

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

  - ### 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` | `endCompose(StylesheetRoot sroot)` This after the template's children have been composed.
    `void` | `execute(TransformerImpl transformer)` Copy the template contents into the result tree.
    `XPath` | `getMatch()` Get the "match" attribute.
    `QName` | `getMode()` Get the "mode" attribute.
    `QName` | `getName()` Get the "name" attribute.
    `java.lang.String` | `getNodeName()` Return the node name.
    `double` | `getPriority()` Get the "priority" attribute.
    `java.lang.String` | `getPublicId()` Return the public identifier for the current document event.
    `Stylesheet` | `getStylesheet()` Get the owning stylesheet.
    `StylesheetComposed` | `getStylesheetComposed()` Get the stylesheet composed (resolves includes and imports and has methods on it that return "composed" properties.
    `StylesheetRoot` | `getStylesheetRoot()` Get the root stylesheet.
    `java.lang.String` | `getSystemId()` Return the system identifier for the current document event.
    `int` | `getXSLToken()` Get an int constant identifying the type of element.
    `void` | `recompose(StylesheetRoot root)` This function is called during recomposition to control how this element is composed.
    `void` | `setLocaterInfo(javax.xml.transform.SourceLocator locator)` Set the location information for this element.
    `void` | `setMatch(XPath v)` Set the "match" attribute.
    `void` | `setMode(QName v)` Set the "mode" attribute.
    `void` | `setName(QName v)` Set the "name" attribute.
    `void` | `setPriority(double v)` Set the "priority" attribute.
    `void` | `setStylesheet(Stylesheet sheet)` Set the owning stylesheet.

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

      `appendChild, 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, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, 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_frameSize

          public int m_frameSize

      The stack frame size for this template, which is equal to the maximum number of params and variables that can be declared in the template at one time.

  - ### Constructor Detail

    - #### ElemTemplate

          public ElemTemplate()

  - ### Method Detail

    - #### getPublicId

          public java.lang.String getPublicId()

      Return the public identifier for the current document event.

      This will be the public identifier

      Specified by:
        `getPublicId` in interface `javax.xml.transform.SourceLocator`
      Overrides:
        `getPublicId` in class `ElemTemplateElement`
      Returns:
        A string containing the public identifier, or null if none is available.
      See Also:
        `getSystemId()`

    - #### getSystemId

          public java.lang.String getSystemId()

      Return the system identifier for the current document event.

      If the system identifier is a URL, the parser must resolve it fully before passing it to the application.

      Specified by:
        `getSystemId` in interface `javax.xml.transform.SourceLocator`
      Overrides:
        `getSystemId` in class `ElemTemplateElement`
      Returns:
        A string containing the system identifier, or null if none is available.
      See Also:
        `getPublicId()`

    - #### setLocaterInfo

          public void setLocaterInfo(javax.xml.transform.SourceLocator locator)

      Set the location information for this element.
      Overrides:
        `setLocaterInfo` in class `ElemTemplateElement`
      Parameters:
        `locator` - SourceLocator holding location information

    - #### getStylesheetComposed

          public StylesheetComposed getStylesheetComposed()

      Get the stylesheet composed (resolves includes and imports and has methods on it that return "composed" properties.
      Overrides:
        `getStylesheetComposed` in class `ElemTemplateElement`
      Returns:
        The stylesheet composed.

    - #### getStylesheet

          public Stylesheet getStylesheet()

      Get the owning stylesheet.
      Overrides:
        `getStylesheet` in class `ElemTemplateElement`
      Returns:
        The owning stylesheet.

    - #### setStylesheet

          public void setStylesheet(Stylesheet sheet)

      Set the owning stylesheet.
      Parameters:
        `sheet` - The owning stylesheet for this element

    - #### getStylesheetRoot

          public StylesheetRoot getStylesheetRoot()

      Get the root stylesheet.
      Overrides:
        `getStylesheetRoot` in class `ElemTemplateElement`
      Returns:
        The root stylesheet for this element

    - #### setMatch

          public void setMatch(XPath v)

      Set the "match" attribute. The match attribute is a Pattern that identifies the source node or nodes to which the rule applies. The match attribute is required unless the xsl:template element has a name attribute (see [6 Named Templates]). It is an error for the value of the match attribute to contain a VariableReference.
      Parameters:
        `v` - Value to set for the "match" attribute
      See Also:
        patterns in XSLT Specification

    - #### getMatch

          public XPath getMatch()

      Get the "match" attribute. The match attribute is a Pattern that identifies the source node or nodes to which the rule applies. The match attribute is required unless the xsl:template element has a name attribute (see [6 Named Templates]). It is an error for the value of the match attribute to contain a VariableReference.
      Returns:
        Value of the "match" attribute
      See Also:
        patterns in XSLT Specification

    - #### setName

          public void setName(QName v)

      Set the "name" attribute. An xsl:template element with a name attribute specifies a named template. If an xsl:template element has a name attribute, it may, but need not, also have a match attribute.
      Parameters:
        `v` - Value to set the "name" attribute
      See Also:
        named-templates in XSLT Specification

    - #### getName

          public QName getName()

      Get the "name" attribute. An xsl:template element with a name attribute specifies a named template. If an xsl:template element has a name attribute, it may, but need not, also have a match attribute.
      Returns:
        Value of the "name" attribute
      See Also:
        named-templates in XSLT Specification

    - #### setMode

          public void setMode(QName v)

      Set the "mode" attribute. Modes allow an element to be processed multiple times, each time producing a different result. If xsl:template does not have a match attribute, it must not have a mode attribute.
      Parameters:
        `v` - Value to set the "mode" attribute
      See Also:
        modes in XSLT Specification

    - #### getMode

          public QName getMode()

      Get the "mode" attribute. Modes allow an element to be processed multiple times, each time producing a different result. If xsl:template does not have a match attribute, it must not have a mode attribute.
      Returns:
        Value of the "mode" attribute
      See Also:
        modes in XSLT Specification

    - #### setPriority

          public void setPriority(double v)

      Set the "priority" attribute. The priority of a template rule is specified by the priority attribute on the template rule. The value of this must be a real number (positive or negative), matching the production Number with an optional leading minus sign (-).
      Parameters:
        `v` - The value to set for the "priority" attribute
      See Also:
        conflict in XSLT Specification

    - #### getPriority

          public double getPriority()

      Get the "priority" attribute. The priority of a template rule is specified by the priority attribute on the template rule. The value of this must be a real number (positive or negative), matching the production Number with an optional leading minus sign (-).
      Returns:
        The value of the "priority" attribute
      See Also:
        conflict in XSLT Specification

    - #### getXSLToken

          public int getXSLToken()

      Get an int constant identifying the type of element.
      Overrides:
        `getXSLToken` in class `ElemTemplateElement`
      Returns:
        The token ID for the 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 `ElemTemplateElement`
      Returns:
        The element's name

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

    - #### execute

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

      Copy the template contents into the result tree. The content of the xsl:template element is the template that is instantiated when the template rule is applied.
      Overrides:
        `execute` in class `ElemTemplateElement`
      Parameters:
        `transformer` - non-null reference to the the current transform-time state.
      Throws:
        `javax.xml.transform.TransformerException`

    - #### recompose

          public void recompose(StylesheetRoot root)

      This function is called during recomposition to control how this element is composed.
      Overrides:
        `recompose` in class `ElemTemplateElement`
      Parameters:
        `root` - The root stylesheet for this transformation.

Copyright © 2023 Apache XML Project. All Rights Reserved.