com.icl.saxon.expr

Class NodeListExpression

public class NodeListExpression extends NodeSetExpression

A NodeListExpression is an expression denoting a set of nodes sorted in document order.
It is not possible to write a NodeListExpression directly using XPath; however a node set expression is treated as a NodeListExpression when it appears in certain contexts, specifically the select attribute of xsl:apply-templates or xsl:for-each.
Constructor Summary
NodeListExpression(Expression exp)
Constructor
Method Summary
voiddisplay(int level)
Diagnostic print of expression structure
NodeEnumerationenumerate(Context c, boolean sort)
Return an enumeration that returns the nodes in document order
intgetDependencies()
Determine which aspects of the context the expression depends on.
Expressionreduce(int dependencies, Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.
Expressionsimplify()
Simplify the expression

Constructor Detail

NodeListExpression

public NodeListExpression(Expression exp)
Constructor

Parameters: exp The expression that delivers the unsorted node-set

Method Detail

display

public void display(int level)
Diagnostic print of expression structure

enumerate

public NodeEnumeration enumerate(Context c, boolean sort)
Return an enumeration that returns the nodes in document order

Parameters: c the evaluation context sort: ignored, this class is used because the enumeration is always in document order

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

reduce

public Expression reduce(int dependencies, Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.

Parameters: dependencies The dependencies to be removed context The context to be used for the partial evaluation

Returns: a new expression that does not have any of the specified dependencies

simplify

public Expression simplify()
Simplify the expression

Returns: the simplified expression