org.apache.xpath.operations
Class Variable
- ExpressionNode, PathComponent, java.io.Serializable, SourceLocator, XPathVisitable
The variable reference expression executer.
void | callVisitors(ExpressionOwner owner, XPathVisitor visitor)
|
boolean | deepEquals(Expression expr)
|
XObject | execute(XPathContext xctxt) - Execute an expression in the XPath runtime context, and return the
result of the expression.
|
XObject | execute(XPathContext xctxt, boolean destructiveOK) - Dereference the variable, and return the reference value.
|
void | fixupVariables(java.util.Vector vars, int globalsSize) - This function is used to fixup variables from QNames to stack frame
indexes at stylesheet build time.
|
int | getAnalysisBits() - Get the analysis bits for this walker, as defined in the WalkerFactory.
|
ElemVariable | getElemVariable() - Get the XSLT ElemVariable that this sub-expression references.
|
boolean | getGlobal() - Set the index for the variable into the stack.
|
int | getIndex() - Set the index for the variable into the stack.
|
QName | getQName() - Get the qualified name of the variable.
|
boolean | isPsuedoVarRef() - Tell if this is a psuedo variable reference, declared by Xalan instead
of by the user.
|
boolean | isStableNumber() - Tell if this expression returns a stable number that will not change during
iterations within the expression.
|
void | setIndex(int index) - Set the index for the variable into the stack.
|
void | setIsGlobal(boolean isGlobal) - Set whether or not this is a global reference.
|
void | setQName(QName qname) - Set the qualified name of the variable.
|
asIterator , asIteratorRaw , asNode , assertion , bool , canTraverseOutsideSubtree , deepEquals , error , execute , execute , execute , execute , executeCharsToContentHandler , exprAddChild , exprGetChild , exprGetNumChildren , exprGetParent , exprSetParent , fixupVariables , getColumnNumber , getExpressionOwner , getLineNumber , getPublicId , getSystemId , isNodesetExpr , isStableNumber , num , warn , xstr |
execute
public XObject execute(XPathContext xctxt)
throws TransformerException
Execute an expression in the XPath runtime context, and return the
result of the expression.
- execute in interface Expression
xctxt
- The XPath runtime context.
- The result of the expression in the form of a
XObject
.
execute
public XObject execute(XPathContext xctxt,
boolean destructiveOK)
throws TransformerException
Dereference the variable, and return the reference value. Note that lazy
evaluation will occur. If a variable within scope is not found, a warning
will be sent to the error listener, and an empty nodeset will be returned.
- execute in interface Expression
xctxt
- The runtime execution context.
- The evaluated variable, or an empty nodeset if not found.
fixupVariables
public void fixupVariables(java.util.Vector vars,
int globalsSize)
This function is used to fixup variables from QNames to stack frame
indexes at stylesheet build time.
- fixupVariables in interface Expression
vars
- List of QNames that correspond to variables. This list
should be searched backwards for the first qualified name that
corresponds to the variable reference qname. The position of the
QName in the vector from the start of the vector will be its position
in the stack frame (but variables above the globalsTop value will need
to be offset to the current stack frame).
getAnalysisBits
public int getAnalysisBits()
Get the analysis bits for this walker, as defined in the WalkerFactory.
- getAnalysisBits in interface PathComponent
- One of WalkerFactory#BIT_DESCENDANT, etc.
getElemVariable
public ElemVariable getElemVariable()
Get the XSLT ElemVariable that this sub-expression references. In order for
this to work, the SourceLocator must be the owning ElemTemplateElement.
- The dereference to the ElemVariable, or null if not found.
getGlobal
public boolean getGlobal()
Set the index for the variable into the stack. For advanced use only.
- true if this should be a global variable reference.
getIndex
public int getIndex()
Set the index for the variable into the stack. For advanced use only.
- index a global or local index.
getQName
public QName getQName()
Get the qualified name of the variable.
- A non-null reference to a qualified name.
isPsuedoVarRef
public boolean isPsuedoVarRef()
Tell if this is a psuedo variable reference, declared by Xalan instead
of by the user.
isStableNumber
public boolean isStableNumber()
Tell if this expression returns a stable number that will not change during
iterations within the expression. This is used to determine if a proximity
position predicate can indicate that no more searching has to occur.
- isStableNumber in interface Expression
- true if the expression represents a stable number.
setIndex
public void setIndex(int index)
Set the index for the variable into the stack. For advanced use only. You
must know what you are doing to use this.
index
- a global or local index.
setIsGlobal
public void setIsGlobal(boolean isGlobal)
Set whether or not this is a global reference. For advanced use only.
isGlobal
- true if this should be a global variable reference.
setQName
public void setQName(QName qname)
Set the qualified name of the variable.
qname
- Must be a non-null reference to a qualified name.
Copyright B) 2004 Apache XML Project. All Rights Reserved.