Class StringElaborator

java.lang.Object
net.sf.saxon.expr.elab.Elaborator
net.sf.saxon.expr.elab.StringElaborator
Direct Known Subclasses:
GenerateId_1.GenerateIdElaborator, LocalName_1.LocalNameElaborator, LowerCase.LowerCaseFnElaborator, Name_1.NameElaborator, NormalizeSpace_1.NormalizeSpaceFnElaborator, String_1.StringFnElaborator, SubstringAfter.SubstringAfterFnElaborator, SubstringBefore.SubstringBeforeFnElaborator, UpperCase.UpperCaseFnElaborator

public abstract class StringElaborator extends Elaborator
An abstract Elaborator for expressions that evaluate their result as a single string (that is, as an instance of UnicodeString); they may also return null to indicate that the result is an empty sequence. The method elaborateForUnicodeString(boolean) must be implemented in a concrete subclass; other evaluation methods are implemented (by default) by calling elaborateForUnicodeString(boolean).
  • Constructor Details Link icon

    • StringElaborator Link icon

      public StringElaborator()
  • Method Details Link icon

    • returnZeroLengthWhenAbsent Link icon

      public boolean returnZeroLengthWhenAbsent()
    • elaborateForPull Link icon

      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 Elaborator
      Returns:
      an evaluator for the expression that returns a SequenceIterator
    • elaborateForPush Link icon

      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
      Specified by:
      elaborateForPush in class Elaborator
      Returns:
      an evaluator for the expression in push mode
    • elaborateForItem Link icon

      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.
      Specified by:
      elaborateForItem in class Elaborator
      Returns:
      an evaluator for the expression that returns an Item, or null to represent an empty sequence.
    • elaborateForBoolean Link icon

      public BooleanEvaluator elaborateForBoolean()
      Description copied from class: Elaborator
      Get a function that evaluates the underlying expression in the form of a boolean, this being the effective boolean value of the expression.
      Specified by:
      elaborateForBoolean in class Elaborator
      Returns:
      an evaluator for the expression that returns a boolean.
    • elaborateForUnicodeString Link icon

      public abstract UnicodeStringEvaluator elaborateForUnicodeString(boolean zeroLengthWhenAbsent)
      Description copied from class: Elaborator
      Get a function that evaluates the underlying expression in the form of a unicode string, this being the result of applying fn:string() to the result of the expression.
      Specified by:
      elaborateForUnicodeString in class Elaborator
      Parameters:
      zeroLengthWhenAbsent - if true, then when the result of the expression is an empty sequence, the result of the StringEvaluator should be a zero-length string. If false, the return value should be null. For an expression or function that never returns an empty sequence (for example, a call on string() or normalize-space()), the argument has no effect.
      Returns:
      an evaluator for the expression that returns a string.