Package 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 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 Description ElemLiteralResult()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLiteralResultAttribute(java.lang.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(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 experimentvoid
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
-
-
-
-
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 classElemTemplateElement
- 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 getlocalName
- 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 interfaceorg.w3c.dom.Element
- Overrides:
getAttributeNS
in classUnImplNode
- Parameters:
namespaceURI
- Namespace URI of attribute node to getlocalName
- 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 interfaceorg.w3c.dom.Element
- Overrides:
getAttribute
in classUnImplNode
- 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 classElemTemplateElement
- 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 classElemTemplateElement
- 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 interfaceorg.w3c.dom.Node
- Overrides:
getLocalName
in classElemTemplateElement
- 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 interfaceorg.w3c.dom.Node
- Overrides:
getPrefix
in classUnImplNode
- 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 interfaceorg.w3c.dom.Node
- Overrides:
getAttributes
in classUnImplNode
- 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 classElemTemplateElement
- Returns:
- The token ID for this element
- See Also:
Constants
-
getNodeName
public java.lang.String getNodeName()
Return the node name.- Specified by:
getNodeName
in interfaceorg.w3c.dom.Node
- Overrides:
getNodeName
in classElemTemplateElement
- 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 classElemUse
- 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.
-
-