|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--net.sf.saxon.expr.ComputedExpression | +--net.sf.saxon.expr.Assignation
Assignation is an abstract superclass for the kinds of expression that declare range variables: for, some, and every.
Field Summary | |
protected Expression |
action
|
protected RangeVariableDeclaration |
declaration
|
protected Expression |
sequence
|
protected int |
slotNumber
|
protected java.lang.String |
variableName
|
Fields inherited from class net.sf.saxon.expr.ComputedExpression |
lineNumber, NO_ARGUMENTS, staticProperties |
Constructor Summary | |
Assignation()
|
Method Summary | |
Value |
evaluateVariable(XPathContext context)
Get the value of the range variable |
SequenceType |
getRequiredType()
Get data type of the range variable (part of the Binding interface) |
Expression[] |
getSubExpressions()
Get the immediate subexpressions of this expression |
java.lang.String |
getVariableName()
Get the display name of the range variable, for diagnostics only |
Expression |
promote(PromotionOffer offer)
Promote this expression if possible |
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()
Simplify the expression |
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
computeCardinality, computeDependencies, computeSpecialProperties, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getDependencies, getIntrinsicDependencies, getLineNumber, getSourceLocator, getSpecialProperties, iterate, markTailFunctionCalls, setLineNumber, typeError |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.sf.saxon.expr.Expression |
analyze, display, getItemType |
Field Detail |
protected int slotNumber
protected Expression sequence
protected Expression action
protected java.lang.String variableName
protected transient RangeVariableDeclaration declaration
Constructor Detail |
public Assignation()
Method Detail |
public void setVariableDeclaration(RangeVariableDeclaration decl)
public void setAction(Expression action)
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()
public void setSequence(Expression sequence)
public void setSlotNumber(int nr)
public Expression simplify() throws XPathException
simplify
in interface Expression
simplify
in class ComputedExpression
XPathException
- if an error is discovered during expression
rewritingpublic Expression promote(PromotionOffer offer) throws XPathException
promote
in interface Expression
promote
in class ComputedExpression
offer
- details of the offer, for example the offer to move
expressions that don't depend on the context to an outer level in
the containing expression
XPathException
- if any error is detectedpublic Expression[] getSubExpressions()
getSubExpressions
in interface Expression
getSubExpressions
in class ComputedExpression
public SequenceType getRequiredType()
public java.lang.String getVariableName()
public Value evaluateVariable(XPathContext context) throws XPathException
evaluateVariable
in interface Binding
XPathException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |