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 Details

    • fingerprint

      int fingerprint
    • binding

      Binding binding
  • Constructor Details

    • VariableReference

      public VariableReference(int fingerprint, StaticContext staticContext) throws XPathException
      Constructor
      Parameters:
      name - the variable name (as a Name object)
      Throws:
      XPathException
  • Method Details

    • 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 class Expression
    • 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 class Expression
      Parameters:
      dependencies - The dependencies to be removed
      context - 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 class Expression
      Parameters:
      c - The context in which the expression is to be evaluated
      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 class Expression
      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 class Expression
      Returns:
      the simplified expression
    • display

      public void display(int level)
      Diagnostic print of expression structure
      Specified by:
      display in class Expression