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
public static class LetExpression.LetExprElaborator extends PullElaborator
Elaborator for a let expression (eitherlet $x := SELECT return ACTIONin XPath, or the equivalent sequence constructor using localxsl:variabledeclarations in XSLT).The elaborator allows evaluation in pull, push, or singleton mode.
-
-
Constructor Summary
Constructors Constructor Description LetExprElaborator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceEvaluatoreagerly()Get a function that evaluates the underlying expression eagerlyItemEvaluatorelaborateForItem()Get a function that evaluates the underlying expression in the form of aItem.PullEvaluatorelaborateForPull()Get a function that evaluates the underlying expression in the form of aSequenceIteratorPushEvaluatorelaborateForPush()Get a function that evaluates the underlying expression in push mode, by writing events to anOutputterUpdateEvaluatorelaborateForUpdate()-
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
-
-
-
-
Method Detail
-
eagerly
public SequenceEvaluator eagerly()
Description copied from class:ElaboratorGet a function that evaluates the underlying expression eagerly- Overrides:
eagerlyin classPullElaborator- Returns:
- an evaluator for the expression that returns a
GroundedValue. The classSequenceEvaluatoris declared to return aSequencenot aGroundedValue; we can't specialize it because it's a limitation of C# delegates, but the result can safely be cast toGroundedValue.
-
elaborateForPull
public PullEvaluator elaborateForPull()
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in the form of aSequenceIterator- Specified by:
elaborateForPullin classPullElaborator- Returns:
- an evaluator for the expression that returns a
SequenceIterator
-
elaborateForPush
public PushEvaluator elaborateForPush()
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in push mode, by writing events to anOutputter- Overrides:
elaborateForPushin classPullElaborator- Returns:
- an evaluator for the expression in push mode
-
elaborateForItem
public ItemEvaluator elaborateForItem()
Description copied from class:ElaboratorGet 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:
elaborateForItemin classPullElaborator- Returns:
- an evaluator for the expression that returns an
Item, or null to represent an empty sequence.
-
elaborateForUpdate
public UpdateEvaluator elaborateForUpdate()
- Overrides:
elaborateForUpdatein classElaborator
-
-