Package com.icl.saxon.expr
Class VariableReference
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.VariableReference
-
public class VariableReference extends Expression
Variable reference: a reference to an XSL variable
-
-
Field Summary
Fields Modifier and Type Field Description (package private) Binding
binding
(package private) int
fingerprint
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description VariableReference(int fingerprint, StaticContext staticContext)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
display(int level)
Diagnostic print of expression structureValue
evaluate(Context c)
Get the value of this variable in a given context.Binding
getBinding()
Get the object bound to the variableint
getDataType()
Determine the data type of the expression, if possibleint
getDependencies()
Determine which aspects of the context the expression depends on.Expression
reduce(int dependencies, Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.Expression
simplify()
Simplify the expression.-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, enumerate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent
-
-
-
-
Field Detail
-
fingerprint
int fingerprint
-
binding
Binding binding
-
-
Constructor Detail
-
VariableReference
public VariableReference(int fingerprint, StaticContext staticContext) throws XPathException
Constructor- Parameters:
name
- the variable name (as a Name object)- Throws:
XPathException
-
-
Method Detail
-
getDependencies
public int getDependencies()
Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as Context.VARIABLES and Context.CURRENT_NODE- Specified by:
getDependencies
in classExpression
-
reduce
public Expression reduce(int dependencies, Context context) throws XPathException
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.- Specified by:
reduce
in classExpression
- Parameters:
dependencies
- The dependencies to be removedcontext
- The context to be used for the partial evaluation- Returns:
- a new expression that does not have any of the specified dependencies
- Throws:
XPathException
-
evaluate
public Value evaluate(Context c) throws XPathException
Get the value of this variable in a given context.- Specified by:
evaluate
in classExpression
- Parameters:
context
- the Context which contains the relevant variable bindings- Returns:
- the value of the variable, if it is defined
- Throws:
XPathException
-
getBinding
public Binding getBinding()
Get the object bound to the variable
-
getDataType
public int getDataType()
Determine the data type of the expression, if possible- Specified by:
getDataType
in classExpression
- Returns:
- the type of the variable, if this can be determined statically; otherwise Value.ANY (meaning not known in advance)
-
simplify
public Expression simplify()
Simplify the expression. If the variable has a fixed value, the variable reference will be replaced with that value.- Overrides:
simplify
in classExpression
- Returns:
- the simplified expression
-
display
public void display(int level)
Diagnostic print of expression structure- Specified by:
display
in classExpression
-
-