Package net.sf.saxon.functions
Class NormalizeSpace_1.NormalizeSpaceFnElaborator
- java.lang.Object
-
- net.sf.saxon.expr.elab.Elaborator
-
- net.sf.saxon.expr.elab.StringElaborator
-
- net.sf.saxon.functions.NormalizeSpace_1.NormalizeSpaceFnElaborator
-
- Enclosing class:
- NormalizeSpace_1
public static class NormalizeSpace_1.NormalizeSpaceFnElaborator extends StringElaborator
-
-
Constructor Summary
Constructors Constructor Description NormalizeSpaceFnElaborator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BooleanEvaluator
elaborateForBoolean()
Get a function that evaluates the underlying expression in the form of a boolean, this being the effective boolean value of the expression.StringEvaluator
elaborateForString(boolean zeroLengthWhenAbsent)
Get a function that evaluates the underlying expression in the form of a Java string, this being the result of applying fn:string() to the result of the expression.UnicodeStringEvaluator
elaborateForUnicodeString(boolean zeroLengthWhenAbsent)
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.boolean
returnZeroLengthWhenAbsent()
-
Methods inherited from class net.sf.saxon.expr.elab.StringElaborator
elaborateForItem, elaborateForPull, elaborateForPush
-
Methods inherited from class net.sf.saxon.expr.elab.Elaborator
eagerly, elaborateForUpdate, getConfiguration, getExpression, handleNullString, handleNullUnicodeString, handlePossiblyNullString, handlePossiblyNullUnicodeString, lazily, setExpression
-
-
-
-
Method Detail
-
returnZeroLengthWhenAbsent
public boolean returnZeroLengthWhenAbsent()
- Overrides:
returnZeroLengthWhenAbsent
in classStringElaborator
-
elaborateForUnicodeString
public 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 classStringElaborator
- 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.
-
elaborateForString
public StringEvaluator elaborateForString(boolean zeroLengthWhenAbsent)
Description copied from class:Elaborator
Get a function that evaluates the underlying expression in the form of a Java string, this being the result of applying fn:string() to the result of the expression.- Overrides:
elaborateForString
in classElaborator
- 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.- Returns:
- an evaluator for the expression that returns a string.
-
elaborateForBoolean
public BooleanEvaluator elaborateForBoolean()
Get a function that evaluates the underlying expression in the form of a boolean, this being the effective boolean value of the expression.This method is implemented for normalize-space() because it is a common idiom to use normalize-space() in a boolean context to test whether a value contains non-whitespace characters, and this can be done without actually constructing the normalized string.
- Overrides:
elaborateForBoolean
in classStringElaborator
- Returns:
- an evaluator for the expression that returns a boolean.
-
-