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) Bindingbinding(package private) intfingerprint-
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 voiddisplay(int level)Diagnostic print of expression structureValueevaluate(Context c)Get the value of this variable in a given context.BindinggetBinding()Get the object bound to the variableintgetDataType()Determine the data type of the expression, if possibleintgetDependencies()Determine which aspects of the context the expression depends on.Expressionreduce(int dependencies, Context context)Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.Expressionsimplify()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 XPathExceptionConstructor- 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:
getDependenciesin 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:
reducein 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:
evaluatein 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:
getDataTypein 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:
simplifyin classExpression- Returns:
- the simplified expression
-
display
public void display(int level)
Diagnostic print of expression structure- Specified by:
displayin classExpression
-
-