org.apache.xalan.templates

Class ElemLiteralResult

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

public class ElemLiteralResult
extends ElemUse

Implement a Literal Result Element.

See Also:
literal-result-element in XSLT Specification

Fields inherited from interface org.w3c.dom.Node

ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE

Method Summary

void
addLiteralResultAttribute(String att)
Set a literal result attribute (used for xsl attributes).
void
addLiteralResultAttribute(AVT avt)
Set a literal result attribute (AVTs only).
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(String prefix, String uri)
Get whether or not the passed URL is flagged by the "extension-element-prefixes" or "exclude-result-prefixes" properties.
boolean
containsExtensionElementURI(String uri)
Find out if the given "extension-element-prefix" property is defined.
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)
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.
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(String name)
Get a literal result attribute by name.
String
getLocalName()
Get the local name of the Literal Result Element.
String
getNamespace()
Get the original namespace of the Literal Result Element.
String
getNodeName()
Return the node name.
String
getPrefix()
Get the prefix part of the raw name of the Literal Result Element.
String
getRawName()
Get the raw name of the Literal Result Element.
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(String localName)
Set the local name of the LRE.
void
setNamespace(String ns)
Set the namespace URI of the result element to be created.
void
setRawName(String rawName)
Set the raw name of the LRE.
void
setVersion(String v)
Set the "version" property.
void
setXmlSpace(AVT avt)
Set the "xml:space" attribute.

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

applyAttrSets, execute, getUseAttributeSets, setUseAttributeSets, setUseAttributeSets

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

appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, containsExcludeResultPrefix, endCompose, error, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDOMBackPointer, getDeclaredPrefixes, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeName, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXSLToken, 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, appendChild, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, error, error, getAttribute, getAttributeNS, getAttributeNode, getAttributeNodeNS, getAttributes, getChildNodes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getFirstChild, getImplementation, getLastChild, getLength, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getOwnerElement, getParentNode, getPrefix, getPreviousSibling, getSpecified, getStandalone, getStrictErrorChecking, getTagName, getVersion, hasAttribute, hasAttributeNS, hasAttributes, hasChildNodes, importNode, insertBefore, insertData, isSupported, item, normalize, removeAttribute, removeAttributeNS, removeAttributeNode, removeChild, replaceChild, replaceData, setAttribute, setAttributeNS, setAttributeNode, setAttributeNodeNS, setData, setEncoding, setNodeValue, setPrefix, setStandalone, setStrictErrorChecking, setValue, setVersion, splitText, substringData

Method Details

addLiteralResultAttribute

public void addLiteralResultAttribute(String att)
Set a literal result attribute (used for xsl attributes).

Parameters:
att - literal result attribute to add


addLiteralResultAttribute

public void addLiteralResultAttribute(AVT avt)
Set a literal result attribute (AVTs only).

Parameters:
avt - literal result attribute to add (AVT only)


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 interface ElemTemplateElement


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


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:
extension-element in XSLT Specification


enumerateLiteralResultAttributes

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


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 interface ElemUse

Parameters:
transformer - non-null reference to the the current transform-time state.

Throws:
TransformerException -

See Also:
literal-result-element in XSLT Specification


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)

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


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.


getLiteralResultAttribute

public AVT getLiteralResultAttribute(String name)
Get a literal result attribute by name.

Parameters:
name - Name of literal result attribute to get

Returns:
literal result attribute (AVT)


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 interface ElemTemplateElement

Returns:
The local name (without prefix) of the result element to be created.


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.


getNodeName

public String getNodeName()
Return the node name.
Specified by:
getNodeName in interface Node
Overrides:
getNodeName in interface ElemTemplateElement

Returns:
The element's name


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 interface UnImplNode

Returns:
The prefix, or the empty string if noprefix was provided.


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.


getVersion

public String getVersion()
Get the "version" property.
Overrides:
getVersion in interface UnImplNode

Returns:
Version property value

See Also:
forwards in XSLT Specification


getXSLToken

public int getXSLToken()
Get an int constant identifying the type of element.
Overrides:
getXSLToken in interface ElemTemplateElement

Returns:
The token ID for this element

See Also:
Constants


resolvePrefixTables

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

Throws:
TransformerException -


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


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


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.


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.


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.


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.


setVersion

public void setVersion(String v)
Set the "version" property.
Overrides:
setVersion in interface UnImplNode

Parameters:
v - Version property value to set

See Also:
forwards in XSLT Specification


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:

See Also:
strip in XSLT Specification, section-Creating-Text in XSLT Specification


Copyright B) 2004 Apache XML Project. All Rights Reserved.