Class Block.BlockElaborator

Enclosing class:
Block

public static class Block.BlockElaborator extends PullElaborator
Elaborator for a "Block", which is typically either an XPath sequence expression (a, b, c) or an XSLT sequence constructor
  • Constructor Details

    • BlockElaborator

      public BlockElaborator()
  • Method Details

    • lazily

      public SequenceEvaluator lazily(boolean repeatable, boolean lazyEvaluationRequired)
      Description copied from class: Elaborator
      Get a function that evaluates the underlying expression lazily
      Overrides:
      lazily in class Elaborator
      Parameters:
      repeatable - true if the resulting Sequence must be usable repeatedly; false if it only needs to be used once
      lazyEvaluationRequired - true if the expression MUST be evaluated lazily, for example to prevent spurious errors or side-effects if it has been lifted out of a loop
      Returns:
      an evaluator for the expression that returns a Sequence (which may be a lazy sequence)
    • 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
    • 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
    • elaborateForUpdate

      public UpdateEvaluator elaborateForUpdate()
      Overrides:
      elaborateForUpdate in class Elaborator