Class ElemLiteralResult

All Implemented Interfaces:
Serializable, SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, WhitespaceStrippingElementMatcher, Document, Element, Node, NodeList
Direct Known Subclasses:
ElemExtensionCall, ElemUnknown

public class ElemLiteralResult extends ElemUse
Implement a Literal Result Element.
See Also:
  • Constructor Details

    • ElemLiteralResult

      public ElemLiteralResult()
  • Method Details

    • 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 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:
      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(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:
    • getLiteralResultAttributeNS

      public AVT getLiteralResultAttributeNS(String namespaceURI, 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 String getAttributeNS(String namespaceURI, String localName)
      Return the raw value of the attribute.
      Specified by:
      getAttributeNS in interface 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(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 String getAttribute(String rawName)
      Return the raw value of the attribute.
      Specified by:
      getAttribute in interface Element
      Overrides:
      getAttribute in class UnImplNode
      Parameters:
      rawName - Name of attribute to get
      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(String prefix, 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:
    • resolvePrefixTables

      public void resolvePrefixTables() throws TransformerException
      Augment resolvePrefixTables, resolving the namespace aliases once the superclass has resolved the tables.
      Overrides:
      resolvePrefixTables in class ElemTemplateElement
      Throws:
      TransformerException
    • setNamespace

      public void setNamespace(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 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(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 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 Node
      Overrides:
      getLocalName in class ElemTemplateElement
      Returns:
      The local name (without prefix) of the result element to be created.
    • setRawName

      public void setRawName(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 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 String getPrefix()
      Get the prefix part of the raw name of the Literal Result Element.
      Specified by:
      getPrefix in interface 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:
    • getAttributes

      public NamedNodeMap getAttributes()
      Description copied from class: UnImplNode
      Unimplemented. See org.w3c.dom.Node
      Specified by:
      getAttributes in interface Node
      Overrides:
      getAttributes in class UnImplNode
      Returns:
      NamedNodeMap
      See Also:
    • getExtensionElementPrefix

      public String getExtensionElementPrefix(int i) throws 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:
      ArrayIndexOutOfBoundsException
      See Also:
    • getExtensionElementPrefixCount

      public int getExtensionElementPrefixCount()
      Get the number of "extension-element-prefixes" Strings.
      Returns:
      the number of "extension-element-prefixes" Strings
      See Also:
    • containsExtensionElementURI

      public boolean containsExtensionElementURI(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:
    • 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:
    • getNodeName

      public String getNodeName()
      Return the node name.
      Specified by:
      getNodeName in interface Node
      Overrides:
      getNodeName in class ElemTemplateElement
      Returns:
      The element's name
    • setVersion

      public void setVersion(String v)
      Set the "version" property.
      Parameters:
      v - Version property value to set
      See Also:
    • getVersion

      public String getVersion()
      Get the "version" property.
      Returns:
      Version property value
      See Also:
    • 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:
    • execute

      public void execute(TransformerImpl transformer) throws 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:
      TransformerException
      See Also:
    • enumerateLiteralResultAttributes

      public 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, String msg)
      Throw a DOMException
      Parameters:
      msg - key of the error that occured.