net.sf.saxon.expr
Class RangeExpression
java.lang.Object
net.sf.saxon.expr.ComputedExpression
net.sf.saxon.expr.BinaryExpression
net.sf.saxon.expr.RangeExpression
- All Implemented Interfaces:
- Serializable, Expression
public class RangeExpression
- extends BinaryExpression
A RangeExpression is an expression that represents an integer sequence as
a pair of end-points (for example "x to y").
If the end-points are equal, the sequence is of length one.
From Saxon 7.8, the sequence must be ascending; if the end-point is less
than the start-point, an empty sequence is returned. This is to allow
expressions of the form "for $i in 1 to count($seq) return ...."
- See Also:
- Serialized Form
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
computeDependencies, computeSpecialProperties, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getDependencies, getIntrinsicDependencies, getLineNumber, getSpecialProperties, markTailFunctionCalls, setLineNumber, typeError |
RangeExpression
public RangeExpression(Expression start,
int op,
Expression end)
- Construct a RangeExpression
analyze
public Expression analyze(StaticContext env)
throws XPathException
- Type-check the expression
- Specified by:
analyze
in interface Expression
- Overrides:
analyze
in class BinaryExpression
- Parameters:
env
- the static context of the expression
- Returns:
- the original expression, rewritten to perform necessary
run-time type checks, and to perform other type-related
optimizations
- Throws:
XPathException
- if an error is discovered during this phase
(typically a type error)
getItemType
public ItemType getItemType()
- Get the data type of the items returned
- Returns:
- a value such as Type.STRING, Type.BOOLEAN, Type.NUMBER,
Type.NODE, or Type.ITEM (meaning not known at compile time)
computeCardinality
public int computeCardinality()
- Determine the static cardinality
- Overrides:
computeCardinality
in class BinaryExpression
iterate
public SequenceIterator iterate(XPathContext context)
throws XPathException
- Return an iteration over the sequence
- Specified by:
iterate
in interface Expression
- Overrides:
iterate
in class ComputedExpression
- Parameters:
context
- supplies the context for evaluation
- Returns:
- a SequenceIterator that can be used to iterate over the result
of the expression
- Throws:
XPathException
- if any dynamic error occurs evaluating the
expression