org.apache.xalan.templates
Class ElemVariable
java.lang.Object
|
+--org.apache.xml.utils.UnImplNode
|
+--org.apache.xalan.templates.ElemTemplateElement
|
+--org.apache.xalan.templates.ElemVariable
- Direct Known Subclasses:
- ElemExsltFuncResult, ElemParam, ElemVariablePsuedo
- public class ElemVariable
- extends ElemTemplateElement
**For advanced use only**
Implement xsl:variable.
- See Also:
- variables in XSLT Specification, Serialized Form
Method Summary |
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,
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,
createAttribute,
createAttributeNS,
createCDATASection,
createComment,
createDocumentFragment,
createElement,
createElementNS,
createEntityReference,
createProcessingInstruction,
createTextNode,
deleteData,
getAttribute,
getAttributeNode,
getAttributeNodeNS,
getAttributeNS,
getAttributes,
getDoctype,
getDocumentElement,
getElementById,
getElementsByTagName,
getElementsByTagNameNS,
getEncoding,
getImplementation,
getNamespaceURI,
getNodeValue,
getOwnerElement,
getPrefix,
getSpecified,
getStandalone,
getStrictErrorChecking,
getVersion,
hasAttribute,
hasAttributeNS,
hasAttributes,
importNode,
insertData,
isSupported,
normalize,
removeAttribute,
removeAttributeNode,
removeAttributeNS,
removeChild,
replaceData,
setAttribute,
setAttributeNode,
setAttributeNodeNS,
setAttributeNS,
setData,
setEncoding,
setNodeValue,
setPrefix,
setStandalone,
setStrictErrorChecking,
setValue,
setVersion,
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 TransformerException
- Copy constructor.
- Parameters:
param
- An element created from an xsl:variable- Throws:
- 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.
- Returns:
- An integer representation of the element, defined in the
Constants class.
- Overrides:
- getXSLToken in class ElemTemplateElement
- See Also:
Constants
getNodeName
public java.lang.String getNodeName()
- Return the node name.
- Returns:
- The node name
- Overrides:
- getNodeName in class ElemTemplateElement
execute
public void execute(TransformerImpl transformer)
throws TransformerException
- Execute a variable declaration and push it onto the variable stack.
- 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 ElemTemplateElement
- See Also:
- variables in XSLT Specification
getValue
public XObject getValue(TransformerImpl transformer,
int sourceNode)
throws 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:
- TransformerException -
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 class ElemTemplateElement
endCompose
public void endCompose(StylesheetRoot sroot)
throws 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
recompose
public void recompose(StylesheetRoot root)
- This function is called during recomposition to
control how this element is composed.
- Parameters:
root
- The root stylesheet for this transformation.- Overrides:
- recompose in class ElemTemplateElement
setParentElem
public void setParentElem(ElemTemplateElement p)
- Set the parent as an ElemTemplateElement.
- Parameters:
parent
- This node's parent as an ElemTemplateElement- Overrides:
- setParentElem in class ElemTemplateElement
isPsuedoVar
public boolean isPsuedoVar()
- Tell if this is a psuedo variable reference, declared by Xalan instead
of by the user.
Copyright © 2003 Apache XML Project. All Rights Reserved.