com.icl.saxon.expr
Class PathExpression
java.lang.Object
|
+--com.icl.saxon.expr.Expression
|
+--com.icl.saxon.expr.NodeSetExpression
|
+--com.icl.saxon.expr.PathExpression
- public class PathExpression
- extends NodeSetExpression
An expression that establishes a set of nodes by following relationships between nodes
in the document. Specifically, it consists of a start expression which defines a set of
nodes, and a Step which defines a relationship to be followed from those nodes to create
a new set of nodes.
Method Summary |
void |
display(int level)
Diagnostic print of expression structure |
NodeEnumeration |
enumerate(Context context,
boolean sort)
Evaluate the path-expression in a given context to return a NodeSet |
int |
getDependencies()
Determine which aspects of the context the expression depends on. |
boolean |
isContextDocumentNodeSet()
Determine, in the case of an expression whose data type is Value.NODESET,
whether all the nodes in the node-set are guaranteed to come from the same
document as the context node. |
Expression |
reduce(int dep,
Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies
on the context. |
Expression |
simplify()
Simplify an expression |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PathExpression
public PathExpression(Expression start,
Step step)
- Constructor
- Parameters:
start
- A node-set expression denoting the absolute or relative set of nodes from which the
navigation path should start.step
- The step to be followed from each node in the start expression to yield a new
node-set
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
isContextDocumentNodeSet
public boolean isContextDocumentNodeSet()
- Determine, in the case of an expression whose data type is Value.NODESET,
whether all the nodes in the node-set are guaranteed to come from the same
document as the context node. Used for optimization.
- Overrides:
isContextDocumentNodeSet
in class Expression
reduce
public Expression reduce(int dep,
Context context)
throws XPathException
- Perform a partial evaluation of the expression, by eliminating specified dependencies
on the context.
- Overrides:
reduce
in class Expression
- Parameters:
dep
- 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 path-expression in a given context to return a NodeSet
- Overrides:
enumerate
in class NodeSetExpression
- Parameters:
context
- the evaluation contextsort
- true if the returned nodes must be in document order
display
public void display(int level)
- Diagnostic print of expression structure
- Overrides:
display
in class Expression