Package net.sf.saxon.expr
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 Summary
Modifier and TypeMethodDescriptionevaluateVariable
(XPathContext context) Evaluate the variableint
If this is a local variable held on the local stack frame, return the corresponding slot number.Get the declared type of the variableGet the name of the variableboolean
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 Details
-
getRequiredType
SequenceType getRequiredType()Get the declared type of the variable- Returns:
- the declared type
-
evaluateVariable
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
-