## net.sf.saxon.expr
Interface Binding

All Known Implementing Classes:
  Assignation, GeneralVariable, JAXPVariable, UserFunctionParameter, Variable

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 Summary
`ValueRepresentation` `evaluateVariable(XPathContext context)` Evaluate the variable
`int` `getLocalSlotNumber()` If this is a local variable held on the local stack frame, return the corresponding slot number.
`boolean` `isAssignable()` Test whether it is permitted to assign to the variable using the saxon:assign extension element.
`boolean` `isGlobal()` Indicate whether the binding is local or global.

Method Detail

### evaluateVariable

    public ValueRepresentation evaluateVariable(XPathContext context)
                                         throws XPathException

  Evaluate the variable

  Throws:
    `XPathException`

### isGlobal

    public 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.

### isAssignable

    public 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.

### getLocalSlotNumber

    public int getLocalSlotNumber()

  If this is a local variable held on the local stack frame, return the corresponding slot number. In other cases, return -1.