com.icl.saxon.expr
Class SortedSelection
java.lang.Object
|
+--com.icl.saxon.expr.Expression
|
+--com.icl.saxon.expr.NodeSetExpression
|
+--com.icl.saxon.expr.SortedSelection
- public class SortedSelection
- extends NodeSetExpression
A NodeSetExpression that retrieves nodes in order according to a specified sort key.
Note there is no direct XSL expression syntax that generates this.
The expression sorts a base NodeSet according to the value of a specified
sort key. The sort key may be composite. The base NodeSet will always be in document
order.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SortedSelection
public SortedSelection(Expression s,
int k)
- Constructor
- Parameters:
s - An expression whose value is the base nodeset to be sortedk - the number of sort keys
setSortKey
public void setSortKey(SortKeyDefinition sk,
int k)
- Add a sort key and other sorting parameters
- Parameters:
sk - A SortKeyDefinitionk - The index of this SortKeyDefinition. The first sort key in major-to-minor
order is numbered 0 (zero), the others are 1, 2, ... in sequence.- Throws:
ArrayIndexOutOfBoundsException - if the sort key index is out of range,
according to the number of sort keys defined when the SortedSelection was
initialized.
simplify
public Expression simplify()
throws XPathException
- Simplify an expression
- Overrides:
simplify in class Expression
- Returns:
- the simplified expression
getDependencies
public int getDependencies()
- Determine which aspects of the context the expression depends on. The result is
a bitwise-or'ed value composed from constants such as Context.VARIABLES and
Context.CURRENT_NODE
- Overrides:
getDependencies in class Expression
reduce
public Expression reduce(int dependencies,
Context context)
throws XPathException
- Perform a partial evaluation of the expression, by eliminating specified dependencies
on the context.
- Overrides:
reduce in class Expression
- Parameters:
dependencies - The dependencies to be removedcontext - The context to be used for the partial evaluation- Returns:
- a new expression that does not have any of the specified
dependencies
enumerate
public NodeEnumeration enumerate(Context context,
boolean sort)
throws XPathException
- Evaluate the expression by sorting the base nodeset using the supplied key.
- Overrides:
enumerate in class NodeSetExpression
- Parameters:
context - The context for the evaluationsort: - must be false (because document order would be meaningless)- Returns:
- the sorted nodeset
display
public void display(int level)
- Diagnostic print of expression structure
- Overrides:
display in class Expression