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

public class ElemLiteralResult
extends ElemUse

**For advanced use only** Implement a Literal Result Element.

See Also:
literal-result-element in XSLT Specification, Serialized Form

Constructor Summary
ElemLiteralResult()
           
 
Method Summary
 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).
 boolean containsExcludeResultPrefix(java.lang.String prefix)
          Get whether or not the passed URL is contained flagged by the "extension-element-prefixes" property.
 boolean containsExtensionElementURI(java.lang.String uri)
          Find out if the given "extension-element-prefix" property is defined.
 java.util.Enumeration enumerateLiteralResultAttributes()
          Compiling templates requires that we be able to list the AVTs ADDED 9/5/2000 to support compilation experiment
 void execute(TransformerImpl transformer, Node sourceNode, QName mode)
          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 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.
 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 getRawName()
          Get the raw name of the Literal Result Element.
 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.
 
Methods inherited from class org.apache.xalan.templates.ElemUse
getUseAttributeSets, setUseAttributeSets, setUseAttributeSets
 
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement
appendChild, canStripWhiteSpace, compareTo, compose, error, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getFirstChild, getFirstChildElem, getLastChild, getLength, getLineNumber, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getParentElem, getParentNode, getPrefixes, getPreviousSibling, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, hasChildNodes, isCompiledTemplate, item, recompose, removeChild, replaceChild, runtimeInit, setDOMBackPointer, setLocaterInfo, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace
 
Methods inherited from class org.apache.xml.utils.UnImplNode
appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, error, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSpecified, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertBefore, insertData, isSupported, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceData, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setNodeValue, setPrefix, setValue, 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.

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:
v - Enumerated value, either Constants.ATTRVAL_PRESERVE or Constants.ATTRVAL_STRIP.
See Also:
strip in XSLT Specification, section-Creating-Text in XSLT Specification

getLiteralResultAttribute

public AVT getLiteralResultAttribute(java.lang.String name)
Get a literal result attribute by name.
Parameters:
name - Name of literal result attribute to get
Returns:
literal result attribute (AVT)

containsExcludeResultPrefix

public boolean containsExcludeResultPrefix(java.lang.String prefix)
Get whether or not the passed URL is contained flagged by the "extension-element-prefixes" property.
Parameters:
prefix - non-null reference to prefix that might be excluded.
Returns:
true if the prefix should normally be excluded.
Overrides:
containsExcludeResultPrefix in class ElemTemplateElement
See Also:
extension-element in XSLT Specification

resolvePrefixTables

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

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.
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.
Returns:
The local name (without prefix) of the result element to be created.
Overrides:
getLocalName in class UnImplNode

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.

setExtensionElementPrefixes

public void setExtensionElementPrefixes(StringVector v)
Set the "extension-element-prefixes" property.
Parameters:
v - Vector of URI to set as the "extension-element-prefixes" property
See Also:
extension-element in XSLT Specification

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.
Returns:
The token ID for this element
Overrides:
getXSLToken in class ElemTemplateElement
See Also:
Constants

getNodeName

public java.lang.String getNodeName()
Return the node name.
Returns:
The element's name
Overrides:
getNodeName in class ElemTemplateElement

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

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,
                    Node sourceNode,
                    QName mode)
             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.
Parameters:
transformer - non-null reference to the the current transform-time state.
sourceNode - non-null reference to the current source node.
mode - reference, which may be null, to the current mode.
Throws:
TransformerException -  
Overrides:
execute in class ElemUse
See Also:
literal-result-element in XSLT Specification

enumerateLiteralResultAttributes

public java.util.Enumeration 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.


Copyright � 2000 Apache XML Project. All Rights Reserved.