com.icl.saxon.expr
Class AxisExpression
java.lang.Object
|
+--com.icl.saxon.expr.Expression
|
+--com.icl.saxon.expr.NodeSetExpression
|
+--com.icl.saxon.expr.AxisExpression
- final class AxisExpression
- extends NodeSetExpression
An AxisExpression is always obtained by simplifying a PathExpression.
It represents a PathExpression that starts at the context node, and uses
a simple node-test with no filters. For example "*", "title", "./item",
"@*", or "ancestor::chapter*".
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 |
Value |
evaluate(Context context)
Evaluate the expression
(typically used if the result is to be stored in a variable) |
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 |
AxisExpression
public AxisExpression(byte axis,
NodeTest nodeTest)
- 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()
- 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
evaluate
public Value evaluate(Context context)
throws XPathException
- Evaluate the expression
(typically used if the result is to be stored in a variable)
- Overrides:
evaluate
in class NodeSetExpression
- Following copied from class:
com.icl.saxon.expr.Expression
- Parameters:
context
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
display
public void display(int level)
- Diagnostic print of expression structure
- Overrides:
display
in class Expression