net.sf.saxon.expr
public abstract class Assignation extends ComputedExpression implements Binding
| Field Summary | |
|---|---|
| protected Expression | action |
| protected RangeVariableDeclaration | declaration |
| protected int | nameCode |
| protected Expression | sequence |
| protected int | slotNumber |
| protected String | variableName |
| Method Summary | |
|---|---|
| ValueRepresentation | evaluateVariable(XPathContext context)
Get the value of the range variable |
| protected Binding[] | extendBindingList(Binding[] in)
Extend an array of variable bindings to include the binding(s) defined in this expression |
| Expression | getAction()
Get the action expression |
| int | getLocalSlotNumber()
If this is a local variable held on the local stack frame, return the corresponding slot number.
|
| int | getRequiredSlots()
Get the number of slots required. |
| RangeVariableDeclaration | getVariableDeclaration()
Get the variable declaration |
| int | getVariableFingerprint() |
| String | getVariableName(NamePool pool)
Get the display name of the range variable, for diagnostics only |
| int | getVariableNameCode() |
| 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. |
| Iterator | iterateSubExpressions()
Get the immediate subexpressions of this expression |
| Expression | promote(PromotionOffer offer)
Promote this expression if possible |
| protected Expression | promoteWhereClause(Binding positionBinding)
Promote a WHERE clause whose condition doesn't depend on the variable being bound.
|
| void | setAction(Expression action)
Add the "return" or "satisfies" expression, and fix up all references to the
range variable that occur within that expression |
| void | setSequence(Expression sequence)
Set the "sequence" expression - the one to which the variable is bound |
| void | setSlotNumber(int nr)
Set the slot number for the range variable |
| void | setVariableDeclaration(RangeVariableDeclaration decl)
Set the reference to the variable declaration |
| Expression | simplify(StaticContext env)
Simplify the expression |
| void | suppressValidation(int validationMode)
Suppress validation on contained element constructors, on the grounds that the parent element
is already performing validation. |
let $i := SEQ return if (C) then R else ()
to the form:
if (C) then (let $i := SEQ return R) else ()
Parameters: action the expression that occurs after the "return" keyword of a "for"
expression, the "satisfies" keyword of "some/every", or the ":=" operator of
a "let" expression.
This method must be called after calling setVariableDeclaration()