net.sf.saxon.expr
public final class Atomizer extends UnaryExpression
Nested Class Summary | |
---|---|
static class | Atomizer.AtomizingFunction
Implement the mapping function. |
Constructor Summary | |
---|---|
Atomizer(Expression sequence, Configuration config)
Constructor |
Method Summary | |
---|---|
int | computeCardinality()
Determine the static cardinality of the expression |
int | computeSpecialProperties()
Determine the special properties of this expression |
protected String | displayOperator(NamePool pool)
Give a string representation of the operator for use in diagnostics |
Item | evaluateItem(XPathContext context)
Evaluate as an Item. |
static ItemType | getAtomizedItemType(Expression operand, boolean alwaysUntyped, TypeHierarchy th)
Compute the type that will result from atomizing the result of a given expression |
ItemType | getItemType(TypeHierarchy th)
Determine the data type of the items returned by the expression, if possible |
SequenceIterator | iterate(XPathContext context)
Iterate over the sequence of values |
Expression | simplify(StaticContext env)
Simplify an expression |
Expression | typeCheck(StaticContext env, ItemType contextItemType)
Type-check the expression |
Parameters: sequence the sequence to be atomized config the Configuration. Used only for optimization, may be null. Atomization is faster if it is known in advance that all nodes will be untyped.
Returns: NON_CREATIVE.
Returns: the operator, as a string
Parameters: operand the given expression alwaysUntyped true if it is known that nodes will always be untyped
Returns: the item type of the result of evaluating the operand expression, after atomization
Parameters: th
Returns: a value such as Type.STRING, Type.BOOLEAN, Type.NUMBER. For this class, the result is always an atomic type, but it might be more specific.