Interface Binding

All Known Implementing Classes:
Assign, Assignation, EagerLetExpression, ForExpression, GeneralVariable, GlobalParam, GlobalVariable, JAXPVariable, LetExpression, LocalParam, LocalVariable, PositionVariable, QuantifiedExpression, UserFunctionParameter, WithParam, XPathVariable

public interface Binding
Binding is a interface used to represent the run-time properties and methods associated with a variable: specifically, a method to get the value of the variable.
  • Method Details

    • getRequiredType

      SequenceType getRequiredType()
      Get the declared type of the variable
      Returns:
      the declared type
    • evaluateVariable

      ValueRepresentation evaluateVariable(XPathContext context) throws XPathException
      Evaluate the variable
      Parameters:
      context - the XPath dynamic evaluation context
      Returns:
      the result of evaluating the variable
      Throws:
      XPathException
    • isGlobal

      boolean isGlobal()
      Indicate whether the binding is local or global. A global binding is one that has a fixed value for the life of a query or transformation; any other binding is local.
      Returns:
      true if the binding is global
    • isAssignable

      boolean isAssignable()
      Test whether it is permitted to assign to the variable using the saxon:assign extension element. This will only be for an XSLT global variable where the extra attribute saxon:assignable="yes" is present.
      Returns:
      true if the binding is assignable
    • getLocalSlotNumber

      int getLocalSlotNumber()
      If this is a local variable held on the local stack frame, return the corresponding slot number. In other cases, return -1.
      Returns:
      the slot number on the local stack frame
    • getVariableQName

      StructuredQName getVariableQName()
      Get the name of the variable
      Returns:
      the name of the variable, as a structured QName