| java.lang.Object net.sf.saxon.expr.ComputedExpression net.sf.saxon.expr.Assignation
All known Subclasses: net.sf.saxon.expr.LetExpression, net.sf.saxon.expr.QuantifiedExpression, net.sf.saxon.expr.ForExpression,
Assignation | abstract public class Assignation extends ComputedExpression implements Binding(Code) | | Assignation is an abstract superclass for the kinds of expression
that declare range variables: for, some, and every.
|
nameCode | protected int nameCode(Code) | | |
slotNumber | protected int slotNumber(Code) | | |
extendBindingList | protected Binding[] extendBindingList(Binding[] in)(Code) | | Extend an array of variable bindings to include the binding(s) defined in this expression
|
getLocalSlotNumber | public int getLocalSlotNumber()(Code) | | If this is a local variable held on the local stack frame, return the corresponding slot number.
In other cases, return -1.
|
getRequiredSlots | public int getRequiredSlots()(Code) | | Get the number of slots required. Normally 1, except for a FOR expression with an AT clause, where it is 2.
|
getVariableFingerprint | public int getVariableFingerprint()(Code) | | |
getVariableName | public String getVariableName(NamePool pool)(Code) | | Get the display name of the range variable, for diagnostics only
|
getVariableNameCode | public int getVariableNameCode()(Code) | | |
isAssignable | final public boolean isAssignable()(Code) | | 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.
|
isGlobal | final public boolean isGlobal()(Code) | | 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.
|
iterateSubExpressions | public Iterator iterateSubExpressions()(Code) | | Get the immediate subexpressions of this expression
|
promoteWhereClause | protected Expression promoteWhereClause(Binding positionBinding)(Code) | | Promote a WHERE clause whose condition doesn't depend on the variable being bound.
This rewrites an expression of the form
let $i := SEQ return if (C) then R else ()
to the form:
if (C) then (let $i := SEQ return R) else ()
|
setAction | public void setAction(Expression action)(Code) | | Add the "return" or "satisfies" expression, and fix up all references to the
range variable that occur within that expression
Parameters: action - the expression that occurs after the "return" keyword of a "for"expression, the "satisfies" keyword of "some/every", or the ":=" operator ofa "let" expression.This method must be called after calling setVariableDeclaration() |
setSequence | public void setSequence(Expression sequence)(Code) | | Set the "sequence" expression - the one to which the variable is bound
|
setSlotNumber | public void setSlotNumber(int nr)(Code) | | Set the slot number for the range variable
|
suppressValidation | public void suppressValidation(int validationMode)(Code) | | Suppress validation on contained element constructors, on the grounds that the parent element
is already performing validation. The default implementation does nothing.
|
|
|