org.apache.xalan.templates

## Class ElemLiteralResult

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

- 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:
    ElemExtensionCall, ElemUnknown

      public class ElemLiteralResult
      extends ElemUse

  Implement a Literal Result Element.
  See Also:
    literal-result-element in XSLT Specification, Serialized Form
  Usage:
    **For advanced use only**

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ElemLiteralResult.Attribute`
    `class` | `ElemLiteralResult.LiteralElementAttributes`

  - ### Field Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addLiteralResultAttribute(AVT avt)` Set a literal result attribute (AVTs only).
    `void` | `addLiteralResultAttribute(java.lang.String att)` Set a literal result attribute (used for xsl attributes).
    `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.
    `boolean` | `containsExcludeResultPrefix(java.lang.String prefix, java.lang.String uri)` Get whether or not the passed URL is flagged by the "extension-element-prefixes" or "exclude-result-prefixes" properties.
    `boolean` | `containsExtensionElementURI(java.lang.String uri)` Find out if the given "extension-element-prefix" property is defined.
    `java.util.Iterator` | `enumerateLiteralResultAttributes()` Compiling templates requires that we be able to list the AVTs ADDED 9/5/2000 to support compilation experiment
    `void` | `execute(TransformerImpl transformer)` Copy a Literal Result Element into the Result tree, copy the non-excluded namespace attributes, copy the attributes not of the XSLT namespace, and execute the children of the LRE.
    `java.lang.String` | `getAttribute(java.lang.String rawName)` Return the raw value of the attribute.
    `java.lang.String` | `getAttributeNS(java.lang.String namespaceURI, java.lang.String localName)` Return the raw value of the attribute.
    `org.w3c.dom.NamedNodeMap` | `getAttributes()` Unimplemented.
    `java.lang.String` | `getExtensionElementPrefix(int i)` Get an "extension-element-prefix" property.
    `int` | `getExtensionElementPrefixCount()` Get the number of "extension-element-prefixes" Strings.
    `boolean` | `getIsLiteralResultAsStylesheet()` Return whether this element represents a root element that is also the stylesheet element.
    `AVT` | `getLiteralResultAttribute(java.lang.String name)` Get a literal result attribute by name.
    `AVT` | `getLiteralResultAttributeNS(java.lang.String namespaceURI, java.lang.String localName)` Get a literal result attribute by name.
    `java.lang.String` | `getLocalName()` Get the local name of the Literal Result Element.
    `java.lang.String` | `getNamespace()` Get the original namespace of the Literal Result Element.
    `java.lang.String` | `getNodeName()` Return the node name.
    `java.lang.String` | `getPrefix()` Get the prefix part of the raw name of the Literal Result Element.
    `java.lang.String` | `getRawName()` Get the raw name of the Literal Result Element.
    `java.lang.String` | `getVersion()` Get the "version" property.
    `int` | `getXSLToken()` Get an int constant identifying the type of element.
    `void` | `resolvePrefixTables()` Augment resolvePrefixTables, resolving the namespace aliases once the superclass has resolved the tables.
    `void` | `setExcludeResultPrefixes(StringVector v)` Set the "exclude-result-prefixes" property.
    `void` | `setExtensionElementPrefixes(StringVector v)` Set the "extension-element-prefixes" property.
    `void` | `setIsLiteralResultAsStylesheet(boolean b)` Set whether this element represents a root element that is also the stylesheet element.
    `void` | `setLocalName(java.lang.String localName)` Set the local name of the LRE.
    `void` | `setNamespace(java.lang.String ns)` Set the namespace URI of the result element to be created.
    `void` | `setRawName(java.lang.String rawName)` Set the raw name of the LRE.
    `void` | `setVersion(java.lang.String v)` Set the "version" property.
    `void` | `setXmlSpace(AVT avt)` Set the "xml:space" attribute.
    `void` | `throwDOMException(short code, java.lang.String msg)` Throw a DOMException

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

      `applyAttrSets, getUseAttributeSets, setUseAttributeSets, setUseAttributeSets`

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

      `appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, endCompose, error, error, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, 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, 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, getAttributeNode, getAttributeNodeNS, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, 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

    - #### ElemLiteralResult

          public ElemLiteralResult()

  - ### Method Detail

    - #### setIsLiteralResultAsStylesheet

          public void setIsLiteralResultAsStylesheet(boolean b)

      Set whether this element represents a root element that is also the stylesheet element.
      Parameters:
        `b` - boolean flag indicating whether this element represents a root element that is also the stylesheet element.

    - #### getIsLiteralResultAsStylesheet

          public boolean getIsLiteralResultAsStylesheet()

      Return whether this element represents a root element that is also the stylesheet element.
      Returns:
        boolean flag indicating whether this element represents a root element that is also the stylesheet 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 `ElemTemplateElement`
      Throws:
        `javax.xml.transform.TransformerException`

    - #### addLiteralResultAttribute

          public void addLiteralResultAttribute(AVT avt)

      Set a literal result attribute (AVTs only).
      Parameters:
        `avt` - literal result attribute to add (AVT only)

    - #### addLiteralResultAttribute

          public void addLiteralResultAttribute(java.lang.String att)

      Set a literal result attribute (used for xsl attributes).
      Parameters:
        `att` - literal result attribute to add

    - #### setXmlSpace

          public void setXmlSpace(AVT avt)

      Set the "xml:space" attribute. A text node is preserved if an ancestor element of the text node has an xml:space attribute with a value of preserve, and no closer ancestor element has xml:space with a value of default.
      Parameters:
        `avt` - Enumerated value, either Constants.ATTRVAL_PRESERVE or Constants.ATTRVAL_STRIP.
      See Also:
        strip in XSLT Specification, section-Creating-Text in XSLT Specification

    - #### getLiteralResultAttributeNS

          public AVT getLiteralResultAttributeNS(java.lang.String namespaceURI,
                                                 java.lang.String localName)

      Get a literal result attribute by name.
      Parameters:
        `namespaceURI` - Namespace URI of attribute node to get
        `localName` - Local part of qualified name of attribute node to get
      Returns:
        literal result attribute (AVT)

    - #### getAttributeNS

          public java.lang.String getAttributeNS(java.lang.String namespaceURI,
                                                 java.lang.String localName)

      Return the raw value of the attribute.
      Specified by:
        `getAttributeNS` in interface `org.w3c.dom.Element`
      Overrides:
        `getAttributeNS` in class `UnImplNode`
      Parameters:
        `namespaceURI` - Namespace URI of attribute node to get
        `localName` - Local part of qualified name of attribute node to get
      Returns:
        The Attr value as a string, or the empty string if that attribute does not have a specified or default value

    - #### getLiteralResultAttribute

          public AVT getLiteralResultAttribute(java.lang.String name)

      Get a literal result attribute by name. The name is namespaceURI:localname if namespace is not null.
      Parameters:
        `name` - Name of literal result attribute to get
      Returns:
        literal result attribute (AVT)

    - #### getAttribute

          public java.lang.String getAttribute(java.lang.String rawName)

      Return the raw value of the attribute.
      Specified by:
        `getAttribute` in interface `org.w3c.dom.Element`
      Overrides:
        `getAttribute` in class `UnImplNode`
      Parameters:
        `namespaceURI:localName` - or localName if the namespaceURI is null of the attribute to get
      Returns:
        The Attr value as a string, or the empty string if that attribute does not have a specified or default value

    - #### containsExcludeResultPrefix

          public boolean containsExcludeResultPrefix(java.lang.String prefix,
                                                     java.lang.String uri)

      Get whether or not the passed URL is flagged by the "extension-element-prefixes" or "exclude-result-prefixes" properties.
      Overrides:
        `containsExcludeResultPrefix` in class `ElemTemplateElement`
      Parameters:
        `prefix` - non-null reference to prefix that might be excluded.(not currently used)
        `uri` - reference to namespace that prefix maps to
      Returns:
        true if the prefix should normally be excluded.
      See Also:
        extension-element in XSLT Specification

    - #### resolvePrefixTables

          public void resolvePrefixTables()
                                   throws javax.xml.transform.TransformerException

      Augment resolvePrefixTables, resolving the namespace aliases once the superclass has resolved the tables.
      Overrides:
        `resolvePrefixTables` in class `ElemTemplateElement`
      Throws:
        `javax.xml.transform.TransformerException`

    - #### setNamespace

          public void setNamespace(java.lang.String ns)

      Set the namespace URI of the result element to be created. Note that after resolvePrefixTables has been called, this will return the aliased result namespace, not the original stylesheet namespace.
      Parameters:
        `ns` - The Namespace URI, or the empty string if the element has no Namespace URI.

    - #### getNamespace

          public java.lang.String getNamespace()

      Get the original namespace of the Literal Result Element. %REVIEW% Why isn't this overriding the getNamespaceURI method rather than introducing a new one?
      Returns:
        The Namespace URI, or the empty string if the element has no Namespace URI.

    - #### setLocalName

          public void setLocalName(java.lang.String localName)

      Set the local name of the LRE.
      Parameters:
        `localName` - The local name (without prefix) of the result element to be created.

    - #### getLocalName

          public java.lang.String getLocalName()

      Get the local name of the Literal Result Element. Note that after resolvePrefixTables has been called, this will return the aliased name prefix, not the original stylesheet namespace prefix.
      Specified by:
        `getLocalName` in interface `org.w3c.dom.Node`
      Overrides:
        `getLocalName` in class `ElemTemplateElement`
      Returns:
        The local name (without prefix) of the result element to be created.

    - #### setRawName

          public void setRawName(java.lang.String rawName)

      Set the raw name of the LRE.
      Parameters:
        `rawName` - The qualified name (with prefix), or the empty string if qualified names are not available.

    - #### getRawName

          public java.lang.String getRawName()

      Get the raw name of the Literal Result Element.
      Returns:
        The qualified name (with prefix), or the empty string if qualified names are not available.

    - #### getPrefix

          public java.lang.String getPrefix()

      Get the prefix part of the raw name of the Literal Result Element.
      Specified by:
        `getPrefix` in interface `org.w3c.dom.Node`
      Overrides:
        `getPrefix` in class `UnImplNode`
      Returns:
        The prefix, or the empty string if noprefix was provided.

    - #### setExtensionElementPrefixes

          public void setExtensionElementPrefixes(StringVector v)

      Set the "extension-element-prefixes" property.
      Parameters:
        `v` - Vector of URIs (not prefixes) to set as the "extension-element-prefixes" property
      See Also:
        extension-element in XSLT Specification

    - #### getAttributes

          public org.w3c.dom.NamedNodeMap getAttributes()

      Description copied from class: `UnImplNode`
      Unimplemented. See org.w3c.dom.Node
      Specified by:
        `getAttributes` in interface `org.w3c.dom.Node`
      Overrides:
        `getAttributes` in class `UnImplNode`
      Returns:
        NamedNodeMap
      See Also:
        `Node`

    - #### getExtensionElementPrefix

          public java.lang.String getExtensionElementPrefix(int i)
                                                     throws java.lang.ArrayIndexOutOfBoundsException

      Get an "extension-element-prefix" property.
      Parameters:
        `i` - Index of URI ("extension-element-prefix" property) to get
      Returns:
        URI at given index ("extension-element-prefix" property)
      Throws:
        `java.lang.ArrayIndexOutOfBoundsException`
      See Also:
        extension-element in XSLT Specification

    - #### getExtensionElementPrefixCount

          public int getExtensionElementPrefixCount()

      Get the number of "extension-element-prefixes" Strings.
      Returns:
        the number of "extension-element-prefixes" Strings
      See Also:
        extension-element in XSLT Specification

    - #### containsExtensionElementURI

          public boolean containsExtensionElementURI(java.lang.String uri)

      Find out if the given "extension-element-prefix" property is defined.
      Parameters:
        `uri` - The URI to find
      Returns:
        True if the given URI is found
      See Also:
        extension-element 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 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 `ElemTemplateElement`
      Returns:
        The element's name

    - #### setVersion

          public void setVersion(java.lang.String v)

      Set the "version" property.
      Parameters:
        `v` - Version property value to set
      See Also:
        forwards in XSLT Specification

    - #### getVersion

          public java.lang.String getVersion()

      Get the "version" property.
      Returns:
        Version property value
      See Also:
        forwards in XSLT Specification

    - #### setExcludeResultPrefixes

          public void setExcludeResultPrefixes(StringVector v)

      Set the "exclude-result-prefixes" property. The designation of a namespace as an excluded namespace is effective within the subtree of the stylesheet rooted at the element bearing the exclude-result-prefixes or xsl:exclude-result-prefixes attribute; a subtree rooted at an xsl:stylesheet element does not include any stylesheets imported or included by children of that xsl:stylesheet element.
      Parameters:
        `v` - vector of prefixes that are resolvable to strings.
      See Also:
        literal-result-element in XSLT Specification

    - #### execute

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

      Copy a Literal Result Element into the Result tree, copy the non-excluded namespace attributes, copy the attributes not of the XSLT namespace, and execute the children of the LRE.
      Overrides:
        `execute` in class `ElemUse`
      Parameters:
        `transformer` - non-null reference to the the current transform-time state.
      Throws:
        `javax.xml.transform.TransformerException`
      See Also:
        literal-result-element in XSLT Specification

    - #### enumerateLiteralResultAttributes

          public java.util.Iterator enumerateLiteralResultAttributes()

      Compiling templates requires that we be able to list the AVTs ADDED 9/5/2000 to support compilation experiment
      Returns:
        an Enumeration of the literal result attributes associated with this element.

    - #### throwDOMException

          public void throwDOMException(short code,
                                        java.lang.String msg)

      Throw a DOMException
      Parameters:
        `msg` - key of the error that occured.

Copyright © 2023 Apache XML Project. All Rights Reserved.