Package com.icl.saxon.expr
Class FilterExpression
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.NodeSetExpression
-
- com.icl.saxon.expr.FilterExpression
-
class FilterExpression extends NodeSetExpression
A FilterExpression contains a base expression and a filter predicate, which may be an integer expression (positional filter), or a boolean expression (qualifier)
-
-
Field Summary
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description FilterExpression(Expression start, Expression filter)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddisplay(int level)Diagnostic print of expression structureNodeEnumerationenumerate(Context context, boolean sort)Evaluate the filter expression in a given context to return a Node EnumerationintgetDependencies()Determine which aspects of the context the expression depends on.booleanisContextDocumentNodeSet()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.Expressionreduce(int dep, Context context)Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.Expressionsimplify()Simplify an expression-
Methods inherited from class com.icl.saxon.expr.NodeSetExpression
evaluate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsString, getDataType, outputStringValue, selectFirst
-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, evaluateAsNumber, getStaticContext, indent, make, setStaticContext, usesCurrent
-
-
-
-
Constructor Detail
-
FilterExpression
public FilterExpression(Expression start, Expression filter)
Constructor- Parameters:
start- A node-set expression denoting the absolute or relative set of nodes from which the navigation path should start.filter- An expression defining the filter predicate
-
-
Method Detail
-
simplify
public Expression simplify() throws XPathException
Simplify an expression- Overrides:
simplifyin classExpression- Returns:
- the simplified expression
- Throws:
XPathException
-
enumerate
public NodeEnumeration enumerate(Context context, boolean sort) throws XPathException
Evaluate the filter expression in a given context to return a Node Enumeration- Specified by:
enumeratein classNodeSetExpression- Parameters:
context- the evaluation contextsort- true if the result must be in document order- Throws:
XPathException- when the expression does not return a nodeset.
-
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:
getDependenciesin classExpression
-
reduce
public Expression reduce(int dep, Context context) throws XPathException
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.- Specified by:
reducein classExpression- 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
- Throws:
XPathException
-
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:
isContextDocumentNodeSetin classExpression
-
display
public void display(int level)
Diagnostic print of expression structure- Specified by:
displayin classExpression
-
-