org.apache.xalan.templates
Class ElemVariable
java.lang.Object
org.apache.xml.utils.UnImplNode
org.apache.xalan.templates.ElemTemplateElement
org.apache.xalan.templates.ElemVariable
- 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:
- ElemExsltFuncResult, ElemParam, ElemVariablePsuedo
public class ElemVariable
- extends ElemTemplateElement
Implement xsl:variable.
- See Also:
- variables in XSLT Specification,
Serialized Form
- Usage:
- **For advanced use only**
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 |
Method Summary |
ElemTemplateElement |
appendChild(ElemTemplateElement elem)
Add a child to the child list. |
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. |
void |
endCompose(StylesheetRoot sroot)
This after the template's children have been composed. |
void |
execute(TransformerImpl transformer)
Execute a variable declaration and push it onto the variable stack. |
int |
getIndex()
If this element is not at the top-level, get the relative position of the
variable into the stack frame. |
boolean |
getIsTopLevel()
Get if this is a top-level variable or param, or not. |
QName |
getName()
Get the "name" attribute. |
java.lang.String |
getNodeName()
Return the node name. |
XPath |
getSelect()
Get the "select" attribute. |
XObject |
getValue(TransformerImpl transformer,
int sourceNode)
Get the XObject representation of the variable. |
int |
getXSLToken()
Get an integer representation of the element type. |
boolean |
isPsuedoVar()
Tell if this is a psuedo variable reference, declared by Xalan instead
of by the user. |
void |
recompose(StylesheetRoot root)
This function is called during recomposition to
control how this element is composed. |
void |
setIndex(int index)
Sets the relative position of this variable within the stack frame (if local)
or the global area (if global). |
void |
setIsTopLevel(boolean v)
Set if this is a top-level variable or param, or not. |
void |
setName(QName v)
Set the "name" attribute. |
void |
setParentElem(ElemTemplateElement p)
Set the parent as an ElemTemplateElement. |
void |
setSelect(XPath v)
Set the "select" attribute. |
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement |
appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, containsExcludeResultPrefix, error, error, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setLocaterInfo, 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, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, 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 |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ElemVariable
public ElemVariable()
- Constructor ElemVariable
ElemVariable
public ElemVariable(ElemVariable param)
throws javax.xml.transform.TransformerException
- Copy constructor.
- Parameters:
param
- An element created from an xsl:variable
- Throws:
javax.xml.transform.TransformerException
setIndex
public void setIndex(int index)
- Sets the relative position of this variable within the stack frame (if local)
or the global area (if global). Note that this should be called only for
global variables since the local position is computed in the compose() method.
getIndex
public int getIndex()
- If this element is not at the top-level, get the relative position of the
variable into the stack frame. If this variable is at the top-level, get
the relative position within the global area.
setSelect
public void setSelect(XPath v)
- Set the "select" attribute.
If the variable-binding element has a select attribute,
then the value of the attribute must be an expression and
the value of the variable is the object that results from
evaluating the expression. In this case, the content
of the variable must be empty.
- Parameters:
v
- Value to set for the "select" attribute.
getSelect
public XPath getSelect()
- Get the "select" attribute.
If the variable-binding element has a select attribute,
then the value of the attribute must be an expression and
the value of the variable is the object that results from
evaluating the expression. In this case, the content
of the variable must be empty.
- Returns:
- Value of the "select" attribute.
setName
public void setName(QName v)
- Set the "name" attribute.
Both xsl:variable and xsl:param have a required name
attribute, which specifies the name of the variable. The
value of the name attribute is a QName, which is expanded
as described in [2.4 Qualified Names].
- Parameters:
v
- Value to set for the "name" attribute.- See Also:
- qname in XSLT Specification
getName
public QName getName()
- Get the "name" attribute.
Both xsl:variable and xsl:param have a required name
attribute, which specifies the name of the variable. The
value of the name attribute is a QName, which is expanded
as described in [2.4 Qualified Names].
- Returns:
- Value of the "name" attribute.
- See Also:
- qname in XSLT Specification
setIsTopLevel
public void setIsTopLevel(boolean v)
- Set if this is a top-level variable or param, or not.
- Parameters:
v
- Boolean indicating whether this is a top-level variable
or param, or not.- See Also:
- top-level-variables in XSLT Specification
getIsTopLevel
public boolean getIsTopLevel()
- Get if this is a top-level variable or param, or not.
- Returns:
- Boolean indicating whether this is a top-level variable
or param, or not.
- See Also:
- top-level-variables in XSLT Specification
getXSLToken
public int getXSLToken()
- Get an integer representation of the element type.
- Overrides:
getXSLToken
in class ElemTemplateElement
- Returns:
- An integer representation of the element, defined in the
Constants class.
- See Also:
Constants
getNodeName
public java.lang.String getNodeName()
- Return the node name.
- Specified by:
getNodeName
in interface org.w3c.dom.Node
- Overrides:
getNodeName
in class ElemTemplateElement
- Returns:
- The node name
execute
public void execute(TransformerImpl transformer)
throws javax.xml.transform.TransformerException
- Execute a variable declaration and push it onto the variable stack.
- Overrides:
execute
in class ElemTemplateElement
- Parameters:
transformer
- non-null reference to the the current transform-time state.
- Throws:
javax.xml.transform.TransformerException
- See Also:
- variables in XSLT Specification
getValue
public XObject getValue(TransformerImpl transformer,
int sourceNode)
throws javax.xml.transform.TransformerException
- Get the XObject representation of the variable.
- Parameters:
transformer
- non-null reference to the the current transform-time state.sourceNode
- non-null reference to the current source node.
- Returns:
- the XObject representation of the variable.
- Throws:
javax.xml.transform.TransformerException
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 class ElemTemplateElement
- Throws:
javax.xml.transform.TransformerException
endCompose
public void endCompose(StylesheetRoot sroot)
throws javax.xml.transform.TransformerException
- This after the template's children have been composed. We have to get
the count of how many variables have been declared, so we can do a link
and unlink.
- Overrides:
endCompose
in class ElemTemplateElement
- Throws:
javax.xml.transform.TransformerException
recompose
public void recompose(StylesheetRoot root)
- This function is called during recomposition to
control how this element is composed.
- Overrides:
recompose
in class ElemTemplateElement
- Parameters:
root
- The root stylesheet for this transformation.
setParentElem
public void setParentElem(ElemTemplateElement p)
- Set the parent as an ElemTemplateElement.
- Overrides:
setParentElem
in class ElemTemplateElement
- Parameters:
p
- This node's parent as an ElemTemplateElement
isPsuedoVar
public boolean isPsuedoVar()
- Tell if this is a psuedo variable reference, declared by Xalan instead
of by the user.
appendChild
public ElemTemplateElement appendChild(ElemTemplateElement elem)
- Add a child to the child list. If the select attribute
is present, an error will be raised.
- Overrides:
appendChild
in class ElemTemplateElement
- Parameters:
elem
- New element to append to this element's children list
- Returns:
- null if the select attribute was present, otherwise the
child just added to the child list
Copyright ? 2005 Apache XML Project. All Rights Reserved.