org.apache.xalan.templates

Class ElemTemplateElement

Implemented Interfaces:
Document, Element, ExpressionNode, Node, NodeList, PrefixResolver, Serializable, SourceLocator, WhitespaceStrippingElementMatcher, XSLTVisitable
Known Direct Subclasses:
DecimalFormatProperties, ElemApplyImport, ElemChoose, ElemComment, ElemCopyOf, ElemEmpty, ElemExtensionDecl, ElemExtensionScript, ElemFallback, ElemForEach, ElemIf, ElemMessage, ElemNumber, ElemOtherwise, ElemPI, ElemSort, ElemTemplate, ElemText, ElemTextLiteral, ElemUse, ElemValueOf, ElemVariable, ElemWhen, ElemWithParam, KeyDeclaration, NamespaceAlias, OutputProperties, Stylesheet, XSLTElementProcessor

public class ElemTemplateElement
extends UnImplNode
implements PrefixResolver, Serializable, ExpressionNode, WhitespaceStrippingElementMatcher, XSLTVisitable

An instance of this class represents an element inside an xsl:template class. It has a single "execute" method which is expected to perform the given action on the result tree. This class acts like a Element node, and implements the Element interface, but is not a full implementation of that interface... it only implements enough for basic traversal of the tree.

See Also:
Stylesheet

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

Constructor Summary

ElemTemplateElement()
Construct a template element instance.

Method Summary

ElemTemplateElement
appendChild(ElemTemplateElement elem)
Add a child to the child list.
Node
appendChild(Node newChild)
Add a child to the child list.
void
callVisitors(XSLTVisitor visitor)
boolean
canAcceptVariables()
Tell if this element can accept variable declarations.
boolean
canStripWhiteSpace()
Get information about whether or not whitespace can be stripped.
int
compareTo(Object o)
Compares this object with the specified object for precedence order.
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 contained flagged by the "extension-element-prefixes" property.
void
endCompose(StylesheetRoot sroot)
This after the template's children have been composed.
void
error(String msg)
Throw an error.
void
error(String msg, Object[] args)
Throw a template element runtime error.
void
execute(TransformerImpl transformer)
Execute the element's primary function.
void
exprAddChild(ExpressionNode n, int i)
This method tells the node to add its argument to the node's list of children.
ExpressionNode
exprGetChild(int i)
This method returns a child node.
int
exprGetNumChildren()
Return the number of children the node has.
ExpressionNode
exprGetParent()
Get the ExpressionNode parent of this node.
void
exprSetParent(ExpressionNode n)
Set the parent of this node.
String
getBaseIdentifier()
Return the base identifier.
NodeList
getChildNodes()
Return the nodelist (same reference).
int
getColumnNumber()
Return the column number where the current document event ends.
Node
getDOMBackPointer()
If this stylesheet was created from a DOM, get the DOM backpointer that this element originated from.
Vector
getDeclaredPrefixes()
Return a table that contains all prefixes available within this element context.
int
getEndColumnNumber()
Return the column number where the current document event ends.
int
getEndLineNumber()
Return the line number where the current document event ends.
Node
getFirstChild()
Get the first child as a Node.
ElemTemplateElement
getFirstChildElem()
Get the first child as a ElemTemplateElement.
Node
getLastChild()
Get the last child.
ElemTemplateElement
getLastChildElem()
Get the last child.
int
getLength()
NodeList method: Count the immediate children of this node
int
getLineNumber()
Return the line number where the current document event ends.
String
getLocalName()
For now, just return the result of getNodeName(), which the local name.
String
getNamespaceForPrefix(String prefix)
Given a namespace, get the corrisponding prefix.
String
getNamespaceForPrefix(String prefix, Node context)
Fullfill the PrefixResolver interface.
Node
getNextSibling()
Get the next sibling (as a Node) or return null.
ElemTemplateElement
getNextSiblingElem()
Get the next sibling (as a ElemTemplateElement) or return null.
String
getNodeName()
Return the node name.
short
getNodeType()
Get the type of the node.
Document
getOwnerDocument()
Get the stylesheet owner.
ElemTemplate
getOwnerXSLTemplate()
Get the owning xsl:template element.
ElemTemplateElement
getParentElem()
Get the parent as an ElemTemplateElement.
Node
getParentNode()
Get the parent as a Node.
ElemTemplateElement
getParentNodeElem()
Get the parent element.
Vector
getPrefixes()
Return a table that contains all prefixes available within this element context.
Node
getPreviousSibling()
Get the previous sibling (as a Node) or return null.
ElemTemplateElement
getPreviousSiblingElem()
Get the previous sibling (as a Node) or return null.
String
getPublicId()
Return the public identifier for the current document event.
Stylesheet
getStylesheet()
Get the owning stylesheet.
StylesheetComposed
getStylesheetComposed()
Get the owning "composed" stylesheet.
StylesheetRoot
getStylesheetRoot()
Get the owning root stylesheet.
String
getSystemId()
Return the system identifier for the current document event.
String
getTagName()
Return the element name.
int
getUid()
Get the UID (document order index).
int
getXSLToken()
Get an integer representation of the element type.
boolean
getXmlSpace()
Get the "xml:space" attribute.
boolean
handlesNullPrefixes()
boolean
hasChildNodes()
Tell if there are child nodes.
boolean
hasTextLitOnly()
Tell if this element only has one text child, for optimization purposes.
boolean
hasVariableDecl()
Node
insertBefore(Node newChild, Node refChild)
Unimplemented.
boolean
isCompiledTemplate()
Tell if this template is a compiled template.
Node
item(int index)
NodeList method: Return the Nth immediate child of this node, or null if the index is out of bounds.
void
recompose(StylesheetRoot root)
This function is called during recomposition to control how this element is composed.
ElemTemplateElement
removeChild(ElemTemplateElement childETE)
Remove a child.
ElemTemplateElement
replaceChild(ElemTemplateElement newChildElem, ElemTemplateElement oldChildElem)
Replace the old child with a new child.
Node
replaceChild(Node newChild, Node oldChild)
Replace the old child with a new child.
void
resolvePrefixTables()
Combine the parent's namespaces with this namespace for fast processing, taking care to reference the parent's namespace if this namespace adds nothing new.
void
runtimeInit(TransformerImpl transformer)
This function will be called on top-level elements only, just before the transform begins.
void
setDOMBackPointer(Node n)
If this stylesheet was created from a DOM, set the DOM backpointer that this element originated from.
void
setEndLocaterInfo(SourceLocator locator)
Set the end location information for this element.
void
setLocaterInfo(SourceLocator locator)
Set the location information for this element.
void
setParentElem(ElemTemplateElement p)
Set the parent as an ElemTemplateElement.
void
setPrefixes(NamespaceSupport nsSupport)
From the SAX2 helper class, set the namespace table for this element.
void
setPrefixes(NamespaceSupport nsSupport, boolean excludeXSLDecl)
Copy the namespace declarations from the NamespaceSupport object.
void
setUid(int i)
Set the UID (document order index).
void
setXmlSpace(int v)
Set the "xml:space" attribute.
boolean
shouldStripWhiteSpace(XPathContext support, Element targetElement)
Get information about whether or not an element should strip whitespace.

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

Constructor Details

ElemTemplateElement

public ElemTemplateElement()
Construct a template element instance.

Parameters:

Method Details

appendChild

public ElemTemplateElement appendChild(ElemTemplateElement elem)
Add a child to the child list. NOTE: This presumes the child did not previously have a parent. Making that assumption makes this a less expensive operation -- but requires that if you *do* want to reparent a node, you use removeChild() first to remove it from its previous context. Failing to do so will damage the tree.

Parameters:

Returns:
Child just added to the child list


appendChild

public Node appendChild(Node newChild)
            throws DOMException
Add a child to the child list. NOTE: This presumes the child did not previously have a parent. Making that assumption makes this a less expensive operation -- but requires that if you *do* want to reparent a node, you use removeChild() first to remove it from its previous context. Failing to do so will damage the tree.
Specified by:
appendChild in interface Node
Overrides:
appendChild in interface UnImplNode

Parameters:
newChild - Child to be added to child list

Returns:
Child just added to the child list

Throws:
DOMException -


callVisitors

public void callVisitors(XSLTVisitor visitor)
Specified by:
callVisitors in interface XSLTVisitable

See Also:
XSLTVisitable.callVisitors(XSLTVisitor)


canAcceptVariables

public boolean canAcceptVariables()
Tell if this element can accept variable declarations.

Returns:
true if the element can accept and process variable declarations.


canStripWhiteSpace

public boolean canStripWhiteSpace()
Get information about whether or not whitespace can be stripped.
Specified by:
canStripWhiteSpace in interface WhitespaceStrippingElementMatcher

Returns:
true if the whitespace can be stripped.

See Also:
strip in XSLT Specification


compareTo

public int compareTo(Object o)
            throws ClassCastException
Compares this object with the specified object for precedence order. The order is determined by the getImportCountComposed() of the containing composed stylesheet and the getUid() of this element. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Parameters:
o - The object to be compared to this object

Returns:
a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.


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.


containsExcludeResultPrefix

public boolean containsExcludeResultPrefix(String prefix,
                                           String uri)

Parameters:
prefix - non-null reference to prefix that might be excluded.

Returns:
true if the prefix should normally be excluded.

See Also:
extension-element in XSLT Specification


endCompose

public void endCompose(StylesheetRoot sroot)
            throws TransformerException
This after the template's children have been composed.


error

public void error(String msg)
Throw an error.
Overrides:
error in interface UnImplNode

Parameters:
msg - Message Key for the error


error

public void error(String msg,
                  Object[] args)
Throw a template element runtime error. (Note: should we throw a TransformerException instead?)
Overrides:
error in interface UnImplNode

Parameters:
msg - key of the error that occured.
args - Arguments to be used in the message


execute

public void execute(TransformerImpl transformer)
            throws TransformerException
Execute the element's primary function. Subclasses of this function may recursivly execute down the element tree.

Parameters:
transformer - The XSLT TransformerFactory.

Throws:
TransformerException - if any checked exception occurs.


exprAddChild

public void exprAddChild(ExpressionNode n,
                         int i)
This method tells the node to add its argument to the node's list of children.
Specified by:
exprAddChild in interface ExpressionNode

Parameters:
n - Must be a ElemTemplateElement.


exprGetChild

public ExpressionNode exprGetChild(int i)
This method returns a child node. The children are numbered from zero, left to right.
Specified by:
exprGetChild in interface ExpressionNode


exprGetNumChildren

public int exprGetNumChildren()
Return the number of children the node has.
Specified by:
exprGetNumChildren in interface ExpressionNode


exprGetParent

public ExpressionNode exprGetParent()
Get the ExpressionNode parent of this node.
Specified by:
exprGetParent in interface ExpressionNode


exprSetParent

public void exprSetParent(ExpressionNode n)
Set the parent of this node.
Specified by:
exprSetParent in interface ExpressionNode

Parameters:
n - Must be a ElemTemplateElement.


getBaseIdentifier

public String getBaseIdentifier()
Return the base identifier.
Specified by:
getBaseIdentifier in interface PrefixResolver

Returns:
The base identifier


getChildNodes

public NodeList getChildNodes()
Return the nodelist (same reference).
Specified by:
getChildNodes in interface Node
Overrides:
getChildNodes in interface UnImplNode

Returns:
The nodelist containing the child nodes (this)


getColumnNumber

public int getColumnNumber()
Return the column number where the current document event ends. Note that this is the column number of the first character after the text associated with the document event. The first column in a line is position 1.
Specified by:
getColumnNumber in interface SourceLocator

Returns:
The column number, or -1 if none is available.

See Also:
getLineNumber()


getDOMBackPointer

public Node getDOMBackPointer()
If this stylesheet was created from a DOM, get the DOM backpointer that this element originated from. For tooling use.

Returns:
DOM backpointer that this element originated from or null.


getDeclaredPrefixes

public Vector getDeclaredPrefixes()
Return a table that contains all prefixes available within this element context.

Returns:
Vector containing the prefixes available within this element context


getEndColumnNumber

public int getEndColumnNumber()
Return the column number where the current document event ends. Note that this is the column number of the first character after the text associated with the document event. The first column in a line is position 1.

Returns:
The column number, or -1 if none is available.

See Also:
getLineNumber()


getEndLineNumber

public int getEndLineNumber()
Return the line number where the current document event ends. Note that this is the line position of the first character after the text associated with the document event.

Returns:
The line number, or -1 if none is available.

See Also:
getColumnNumber()


getFirstChild

public Node getFirstChild()
Get the first child as a Node.
Specified by:
getFirstChild in interface Node
Overrides:
getFirstChild in interface UnImplNode

Returns:
This node's first child or null


getFirstChildElem

public ElemTemplateElement getFirstChildElem()
Get the first child as a ElemTemplateElement.

Returns:
This node's first child (as a ElemTemplateElement) or null


getLastChild

public Node getLastChild()
Get the last child.
Specified by:
getLastChild in interface Node
Overrides:
getLastChild in interface UnImplNode

Returns:
This node's last child


getLastChildElem

public ElemTemplateElement getLastChildElem()
Get the last child.

Returns:
This node's last child


getLength

public int getLength()
NodeList method: Count the immediate children of this node
Specified by:
getLength in interface NodeList
Overrides:
getLength in interface UnImplNode

Returns:
The count of children of this node


getLineNumber

public int getLineNumber()
Return the line number where the current document event ends. Note that this is the line position of the first character after the text associated with the document event.
Specified by:
getLineNumber in interface SourceLocator

Returns:
The line number, or -1 if none is available.

See Also:
getColumnNumber()


getLocalName

public String getLocalName()
For now, just return the result of getNodeName(), which the local name.
Specified by:
getLocalName in interface Node
Overrides:
getLocalName in interface UnImplNode

Returns:
The result of getNodeName().


getNamespaceForPrefix

public String getNamespaceForPrefix(String prefix)
Given a namespace, get the corrisponding prefix. 9/15/00: This had been iteratively examining the m_declaredPrefixes field for this node and its parents. That makes life difficult for the compilation experiment, which doesn't have a static vector of local declarations. Replaced a recursive solution, which permits easier subclassing/overriding.
Specified by:
getNamespaceForPrefix in interface PrefixResolver

Parameters:
prefix - non-null reference to prefix string, which should map to a namespace URL.

Returns:
The namespace URL that the prefix maps to, or null if no mapping can be found.


getNamespaceForPrefix

public String getNamespaceForPrefix(String prefix,
                                    Node context)
Fullfill the PrefixResolver interface. Calling this for this class will throw an error.
Specified by:
getNamespaceForPrefix in interface PrefixResolver

Parameters:
prefix - The prefix to look up, which may be an empty string ("") for the default Namespace.
context - The node context from which to look up the URI.

Returns:
null if the error listener does not choose to throw an exception.


getNextSibling

public Node getNextSibling()
Get the next sibling (as a Node) or return null.
Specified by:
getNextSibling in interface Node
Overrides:
getNextSibling in interface UnImplNode

Returns:
this node's next sibling or null


getNextSiblingElem

public ElemTemplateElement getNextSiblingElem()
Get the next sibling (as a ElemTemplateElement) or return null.

Returns:
This node's next sibling (as a ElemTemplateElement) or null


getNodeName

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

Returns:
An invalid node name


getNodeType

public short getNodeType()
Get the type of the node.
Specified by:
getNodeType in interface Node
Overrides:
getNodeType in interface UnImplNode

Returns:
Constant for this node type


getOwnerDocument

public Document getOwnerDocument()
Get the stylesheet owner.
Specified by:
getOwnerDocument in interface Node
Overrides:
getOwnerDocument in interface UnImplNode

Returns:
The stylesheet owner


getOwnerXSLTemplate

public ElemTemplate getOwnerXSLTemplate()
Get the owning xsl:template element.

Returns:
The owning xsl:template element, this element if it is a xsl:template, or null if not found.


getParentElem

public ElemTemplateElement getParentElem()
Get the parent as an ElemTemplateElement.

Returns:
This node's parent as an ElemTemplateElement


getParentNode

public Node getParentNode()
Get the parent as a Node.
Specified by:
getParentNode in interface Node
Overrides:
getParentNode in interface UnImplNode

Returns:
This node's parent node


getParentNodeElem

public ElemTemplateElement getParentNodeElem()
Get the parent element.

Returns:
This node's next parent (as a ElemTemplateElement) or null


getPrefixes

public Vector getPrefixes()
Return a table that contains all prefixes available within this element context.

Returns:
reference to vector of XMLNSDecls, which may be null.


getPreviousSibling

public Node getPreviousSibling()
Get the previous sibling (as a Node) or return null. Note that this may be expensive if the parent has many kids; we accept that price in exchange for avoiding the prev pointer TODO: If we were sure parents and sibs are always ElemTemplateElements, we could hit the fields directly rather than thru accessors.
Specified by:
getPreviousSibling in interface Node
Overrides:
getPreviousSibling in interface UnImplNode

Returns:
This node's previous sibling or null


getPreviousSiblingElem

public ElemTemplateElement getPreviousSiblingElem()
Get the previous sibling (as a Node) or return null. Note that this may be expensive if the parent has many kids; we accept that price in exchange for avoiding the prev pointer TODO: If we were sure parents and sibs are always ElemTemplateElements, we could hit the fields directly rather than thru accessors.

Returns:
This node's previous sibling or null


getPublicId

public String getPublicId()
Return the public identifier for the current document event.

This will be the public identifier

Specified by:
getPublicId in interface SourceLocator

Returns:
A string containing the public identifier, or null if none is available.

See Also:
getSystemId()


getStylesheet

public Stylesheet getStylesheet()
Get the owning stylesheet. This looks up the inheritance chain until it calls getStylesheet on a Stylesheet object, which will return itself.

Returns:
the owning stylesheet


getStylesheetComposed

public StylesheetComposed getStylesheetComposed()
Get the owning "composed" stylesheet. This looks up the inheritance chain until it calls getStylesheetComposed on a Stylesheet object, which will Get the owning aggregated stylesheet, or that stylesheet if it is aggregated.

Returns:
the owning "composed" stylesheet.


getStylesheetRoot

public StylesheetRoot getStylesheetRoot()
Get the owning root stylesheet. This looks up the inheritance chain until it calls StylesheetRoot on a Stylesheet object, which will return a reference to the root stylesheet.

Returns:
the owning root stylesheet


getSystemId

public String getSystemId()
Return the system identifier for the current document event.

If the system identifier is a URL, the parser must resolve it fully before passing it to the application.

Specified by:
getSystemId in interface SourceLocator

Returns:
A string containing the system identifier, or null if none is available.

See Also:
getPublicId()


getTagName

public String getTagName()
Return the element name.
Specified by:
getTagName in interface Element
Overrides:
getTagName in interface UnImplNode

Returns:
The element name


getUid

public int getUid()
Get the UID (document order index).

Returns:
Index of this child


getXSLToken

public int getXSLToken()
Get an integer representation of the element type.

Returns:
An integer representation of the element, defined in the Constants class.

See Also:
Constants


getXmlSpace

public boolean getXmlSpace()
Get 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.

Returns:
The value of the xml:space attribute

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


handlesNullPrefixes

public boolean handlesNullPrefixes()
Specified by:
handlesNullPrefixes in interface PrefixResolver

See Also:
PrefixResolver.handlesNullPrefixes()


hasChildNodes

public boolean hasChildNodes()
Tell if there are child nodes.
Specified by:
hasChildNodes in interface Node
Overrides:
hasChildNodes in interface UnImplNode

Returns:
True if there are child nodes


hasTextLitOnly

public boolean hasTextLitOnly()
Tell if this element only has one text child, for optimization purposes.

Returns:
true of this element only has one text literal child.


hasVariableDecl

public boolean hasVariableDecl()


insertBefore

public Node insertBefore(Node newChild,
                         Node refChild)
            throws DOMException
Unimplemented. See org.w3c.dom.Node
Specified by:
insertBefore in interface Node
Overrides:
insertBefore in interface UnImplNode

Parameters:
newChild - New child node to insert
refChild - Insert in front of this child

Returns:
null

Throws:
DOMException -


isCompiledTemplate

public boolean isCompiledTemplate()
Tell if this template is a compiled template.

Returns:
Boolean flag indicating whether this is a compiled template


item

public Node item(int index)
NodeList method: Return the Nth immediate child of this node, or null if the index is out of bounds.
Specified by:
item in interface NodeList
Overrides:
item in interface UnImplNode

Parameters:
index - Index of child to find

Returns:
org.w3c.dom.Node: the child node at given index


recompose

public void recompose(StylesheetRoot root)
            throws TransformerException
This function is called during recomposition to control how this element is composed.


removeChild

public ElemTemplateElement removeChild(ElemTemplateElement childETE)
Remove a child. ADDED 9/8/200 to support compilation. TODO: ***** Alternative is "removeMe() from my parent if any" ... which is less well checked, but more convenient in some cases. Given that we assume only experts are calling this class, it might be preferable. It's less DOMish, though.

Parameters:
childETE - The child to remove. This operation is a no-op if oldChild is not a child of this node.

Returns:
the removed child, or null if the specified node was not a child of this element.


replaceChild

public ElemTemplateElement replaceChild(ElemTemplateElement newChildElem,
                                        ElemTemplateElement oldChildElem)
Replace the old child with a new child.

Parameters:

Returns:
The new child


replaceChild

public Node replaceChild(Node newChild,
                         Node oldChild)
            throws DOMException
Replace the old child with a new child.
Specified by:
replaceChild in interface Node
Overrides:
replaceChild in interface UnImplNode

Parameters:
newChild - New child to replace with
oldChild - Old child to be replaced

Returns:
The new child

Throws:
DOMException -


resolvePrefixTables

public void resolvePrefixTables()
            throws TransformerException
Combine the parent's namespaces with this namespace for fast processing, taking care to reference the parent's namespace if this namespace adds nothing new. (Recursive method, walking the elements depth-first, processing parents before children). Note that this method builds m_prefixTable with aliased namespaces, *not* the original namespaces.

Throws:
TransformerException -


runtimeInit

public void runtimeInit(TransformerImpl transformer)
            throws TransformerException
This function will be called on top-level elements only, just before the transform begins.

Parameters:
transformer - The XSLT TransformerFactory.

Throws:
TransformerException -


setDOMBackPointer

public void setDOMBackPointer(Node n)
If this stylesheet was created from a DOM, set the DOM backpointer that this element originated from. For tooling use.

Parameters:
n - DOM backpointer that this element originated from.


setEndLocaterInfo

public void setEndLocaterInfo(SourceLocator locator)
Set the end location information for this element.

Parameters:
locator - Source Locator with location information for this element


setLocaterInfo

public void setLocaterInfo(SourceLocator locator)
Set the location information for this element.

Parameters:
locator - Source Locator with location information for this element


setParentElem

public void setParentElem(ElemTemplateElement p)
Set the parent as an ElemTemplateElement.

Parameters:


setPrefixes

public void setPrefixes(NamespaceSupport nsSupport)
            throws TransformerException
From the SAX2 helper class, set the namespace table for this element. Take care to call resolveInheritedNamespaceDecls. after all namespace declarations have been added.

Parameters:
nsSupport - non-null reference to NamespaceSupport from the ContentHandler.

Throws:
TransformerException -


setPrefixes

public void setPrefixes(NamespaceSupport nsSupport,
                        boolean excludeXSLDecl)
            throws TransformerException
Copy the namespace declarations from the NamespaceSupport object. Take care to call resolveInheritedNamespaceDecls. after all namespace declarations have been added.

Parameters:
nsSupport - non-null reference to NamespaceSupport from the ContentHandler.
excludeXSLDecl - true if XSLT namespaces should be ignored.

Throws:
TransformerException -


setUid

public void setUid(int i)
Set the UID (document order index).

Parameters:


setXmlSpace

public void setXmlSpace(int v)
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


shouldStripWhiteSpace

public boolean shouldStripWhiteSpace(XPathContext support,
                                     Element targetElement)
            throws TransformerException
Get information about whether or not an element should strip whitespace.
Specified by:
shouldStripWhiteSpace in interface WhitespaceStrippingElementMatcher

Parameters:
support - The XPath runtime state.
targetElement - Element to check

Returns:
true if the whitespace should be stripped.

Throws:
TransformerException -

See Also:
strip in XSLT Specification


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