Package com.icl.saxon.expr
Class NodeSetComparison
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.NodeSetComparison
-
public class NodeSetComparison extends Expression
NodeSetComparison: A Relational Expression that compares a node-set with a string or numeric value for equals, not-equals, greater-than or less-than.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) NodeSetExpression
nodeset
(package private) int
operator
(package private) Value
value
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description NodeSetComparison(NodeSetExpression p1, int op, Value p2)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
display(int level)
Diagnostic print of expression structureValue
evaluate(Context c)
Evaluate the expression in a given contextboolean
evaluateAsBoolean(Context c)
Evaluate the expression in a given contextint
getDataType()
Determine the data type of the expression, if possibleint
getDependencies()
Determine which aspects of the context the expression depends on.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 com.icl.saxon.expr.Expression
containsReferences, enumerate, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent
-
-
-
-
Field Detail
-
nodeset
NodeSetExpression nodeset
-
operator
int operator
-
value
Value value
-
-
Constructor Detail
-
NodeSetComparison
public NodeSetComparison(NodeSetExpression p1, int op, Value p2)
-
-
Method Detail
-
simplify
public Expression simplify()
Simplify an expression- Overrides:
simplify
in classExpression
- Returns:
- the simplified expression
-
evaluate
public Value evaluate(Context c) throws XPathException
Evaluate the expression in a given context- Specified by:
evaluate
in classExpression
- Parameters:
c
- the given context for evaluation- Returns:
- a BooleanValue representing the result of the comparison of the two operands
- Throws:
XPathException
-
evaluateAsBoolean
public boolean evaluateAsBoolean(Context c) throws XPathException
Evaluate the expression in a given context- Overrides:
evaluateAsBoolean
in classExpression
- Parameters:
c
- the given context for evaluation- Returns:
- a boolean representing the result of the numeric comparison of the two operands
- Throws:
XPathException
-
getDataType
public int getDataType()
Determine the data type of the expression, if possible- Specified by:
getDataType
in classExpression
- Returns:
- Value.BOOLEAN
-
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- Specified by:
getDependencies
in classExpression
-
reduce
public Expression reduce(int dependencies, Context context) throws XPathException
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.- Specified by:
reduce
in classExpression
- 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
- Throws:
XPathException
-
display
public void display(int level)
Diagnostic print of expression structure- Specified by:
display
in classExpression
-
-