net.sf.saxon.expr

Interface Binding

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
ValueRepresentationevaluateVariable(XPathContext context)
Evaluate the variable
intgetLocalSlotNumber()
If this is a local variable held on the local stack frame, return the corresponding slot number.
SequenceTypegetRequiredType()
Get the declared type of the variable
StructuredQNamegetVariableQName()
Get the name of the variable
booleanisAssignable()
Test whether it is permitted to assign to the variable using the saxon:assign extension element.
booleanisGlobal()
Indicate whether the binding is local or global.

Method Detail

evaluateVariable

public ValueRepresentation evaluateVariable(XPathContext context)
Evaluate the variable

Parameters: context the XPath dynamic evaluation context

Returns: the result of evaluating the variable

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.

Returns: the slot number on the local stack frame

getRequiredType

public SequenceType getRequiredType()
Get the declared type of the variable

Returns: the declared type

getVariableQName

public StructuredQName getVariableQName()
Get the name of the variable

Returns: the name of the variable, as a structured QName

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.

Returns: true if the binding is assignable

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.

Returns: true if the binding is global