com.icl.saxon.expr
Class UnionExpression
java.lang.Object
|
+--com.icl.saxon.expr.Expression
|
+--com.icl.saxon.expr.NodeSetExpression
|
+--com.icl.saxon.expr.UnionExpression
- class UnionExpression
- extends NodeSetExpression
An expression representing a nodeset that is a union of two other NodeSets
Method Summary |
void |
display(int level)
Diagnostic print of expression structure |
NodeEnumeration |
enumerate(Context c,
boolean sort)
Evaluate the union expression. |
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 dependencies,
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 |
p1
protected Expression p1
p2
protected Expression p2
UnionExpression
public UnionExpression(Expression p1,
Expression p2)
- Constructor
- Parameters:
p1
- the left-hand operandp2
- the right-hand operand
simplify
public Expression simplify()
throws XPathException
- Simplify an expression
- Overrides:
simplify
in class Expression
- Returns:
- the simplified expression
enumerate
public NodeEnumeration enumerate(Context c,
boolean sort)
throws XPathException
- Evaluate the union expression. The result will always be sorted in document order,
with duplicates eliminated
- Overrides:
enumerate
in class NodeSetExpression
- Parameters:
c
- The context for evaluationsort
- Request the nodes in document order (they will be, regardless)- Returns:
- a NodeSetValue representing the union of the two operands
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 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
display
public void display(int level)
- Diagnostic print of expression structure
- Overrides:
display
in class Expression