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