Package net.sf.saxon.expr
Class LetExpression.LetExprElaborator
java.lang.Object
net.sf.saxon.expr.elab.Elaborator
net.sf.saxon.expr.elab.PullElaborator
net.sf.saxon.expr.LetExpression.LetExprElaborator
- Enclosing class:
LetExpression
Elaborator for a let expression (either
let $x := SELECT return ACTION
in XPath, or the
equivalent sequence constructor using local xsl:variable
declarations in XSLT).
The elaborator allows evaluation in pull, push, or singleton mode.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioneagerly()
Get a function that evaluates the underlying expression eagerlyGet a function that evaluates the underlying expression in the form of aItem
.Get a function that evaluates the underlying expression in the form of aSequenceIterator
Get a function that evaluates the underlying expression in push mode, by writing events to anOutputter
Methods inherited from class net.sf.saxon.expr.elab.PullElaborator
elaborateForBoolean, elaborateForUnicodeString
Methods inherited from class net.sf.saxon.expr.elab.Elaborator
elaborateForString, getConfiguration, getExpression, handleNullString, handleNullUnicodeString, handlePossiblyNullString, handlePossiblyNullUnicodeString, lazily, setExpression
-
Constructor Details
-
LetExprElaborator
public LetExprElaborator()
-
-
Method Details
-
eagerly
Description copied from class:Elaborator
Get a function that evaluates the underlying expression eagerly- Overrides:
eagerly
in classPullElaborator
- Returns:
- an evaluator for the expression that returns a
GroundedValue
. The classSequenceEvaluator
is declared to return aSequence
not aGroundedValue
; we can't specialize it because it's a limitation of C# delegates, but the result can safely be cast toGroundedValue
.
-
elaborateForPull
Description copied from class:Elaborator
Get a function that evaluates the underlying expression in the form of aSequenceIterator
- Specified by:
elaborateForPull
in classPullElaborator
- Returns:
- an evaluator for the expression that returns a
SequenceIterator
-
elaborateForPush
Description copied from class:Elaborator
Get a function that evaluates the underlying expression in push mode, by writing events to anOutputter
- Overrides:
elaborateForPush
in classPullElaborator
- Returns:
- an evaluator for the expression in push mode
-
elaborateForItem
Description copied from class:Elaborator
Get a function that evaluates the underlying expression in the form of aItem
. This must only be called for expressions whose result has cardinality zero or one.- Overrides:
elaborateForItem
in classPullElaborator
- Returns:
- an evaluator for the expression that returns an
Item
, or null to represent an empty sequence.
-
elaborateForUpdate
- Overrides:
elaborateForUpdate
in classElaborator
-