Class SwitchExpression.SwitchExprElaborator

java.lang.Object
net.sf.saxon.expr.elab.Elaborator
net.sf.saxon.expr.elab.PullElaborator
com.saxonica.ee.optim.SwitchExpression.SwitchExprElaborator
Enclosing class:
SwitchExpression

public static class SwitchExpression.SwitchExprElaborator extends PullElaborator
Elaborator for a "Switch" expression (typically an xsl:choose that tests one expression against a list of constants: not exactly equivalent to an XQuery 3.1 switch expression).

Provides "push" and "pull" implementations, as well as a singleton implementation.

  • Constructor Details

    • SwitchExprElaborator

      public SwitchExprElaborator()
  • Method Details

    • elaborateForPull

      public PullEvaluator elaborateForPull()
      Description copied from class: Elaborator
      Get a function that evaluates the underlying expression in the form of a SequenceIterator
      Specified by:
      elaborateForPull in class PullElaborator
      Returns:
      an evaluator for the expression that returns a SequenceIterator
    • elaborateForItem

      public ItemEvaluator elaborateForItem()
      Description copied from class: Elaborator
      Get a function that evaluates the underlying expression in the form of a Item. This must only be called for expressions whose result has cardinality zero or one.
      Overrides:
      elaborateForItem in class PullElaborator
      Returns:
      an evaluator for the expression that returns an Item, or null to represent an empty sequence.
    • elaborateForPush

      public PushEvaluator elaborateForPush()
      Description copied from class: Elaborator
      Get a function that evaluates the underlying expression in push mode, by writing events to an Outputter
      Overrides:
      elaborateForPush in class PullElaborator
      Returns:
      an evaluator for the expression in push mode