com.jclark.xsl.expr

Class ConvertibleNodeSetExpr

Implemented Interfaces:
NodeSetExpr
Known Direct Subclasses:
AxisExpr, ComposeExpr, FilterExpr, NodeConstantExpr, NodeTestExpr, RootExpr, SequenceComposeExpr, SubtreeExpr, UnionExpr

(package private) abstract class ConvertibleNodeSetExpr
extends ConvertibleExpr
implements NodeSetExpr

A compiled XPath pattern component which returns a Node set, but is convertible (castable) to a String expression, boolean expression or VariantExpression

Field Summary

(package private) static int
SINGLE_LEVEL
If this is set, then all nodes in the result of eval(x, c) are guaranteed to be at the same level of the tree.
(package private) static int
STAYS_IN_SUBTREE
If this is set, then all nodes in the result of eval(x, c) are guaranteed to be in the subtree rooted at x.

Method Summary

(package private) ConvertibleNodeSetExpr
compose(ConvertibleNodeSetExpr expr)
Return an expression for this/expr
(package private) Pattern
getChildrenNodePattern()
(package private) int
getOptimizeFlags()
(package private) ConvertibleBooleanExpr
makeBooleanExpr()
(package private) ConvertibleNodeSetExpr
makeNodeSetExpr()
(package private) ConvertibleStringExpr
makeStringExpr()
cast it as a String expression
(package private) ConvertibleVariantExpr
makeVariantExpr()

Methods inherited from class com.jclark.xsl.expr.ConvertibleExpr

makeBooleanExpr, makeNodeSetExpr, makeNumberExpr, makePredicateExpr, makeStringExpr, makeVariantExpr

Field Details

SINGLE_LEVEL

(package private) static final int SINGLE_LEVEL
If this is set, then all nodes in the result of eval(x, c) are guaranteed to be at the same level of the tree. More precisely, define the level of a node to be the number of ancestors it has, and then define an expression to be single-level if and only if there exists an integer n such that for any node x, for any node y in the result of evaluating the expression with respect to x, the difference between the level of x and the level of y is equal to n. For example, the children axis is single-level but the descendants axis is not.

Field Value:
2


STAYS_IN_SUBTREE

(package private) static final int STAYS_IN_SUBTREE
If this is set, then all nodes in the result of eval(x, c) are guaranteed to be in the subtree rooted at x.

Field Value:
1

Method Details

compose

(package private)  ConvertibleNodeSetExpr compose(ConvertibleNodeSetExpr expr)
Return an expression for this/expr


getChildrenNodePattern

(package private)  Pattern getChildrenNodePattern()


getOptimizeFlags

(package private)  int getOptimizeFlags()


makeBooleanExpr

(package private)  ConvertibleBooleanExpr makeBooleanExpr()
Overrides:
makeBooleanExpr in interface ConvertibleExpr


makeNodeSetExpr

(package private)  ConvertibleNodeSetExpr makeNodeSetExpr()
Overrides:
makeNodeSetExpr in interface ConvertibleExpr


makeStringExpr

(package private)  ConvertibleStringExpr makeStringExpr()
cast it as a String expression
Overrides:
makeStringExpr in interface ConvertibleExpr


makeVariantExpr

(package private)  ConvertibleVariantExpr makeVariantExpr()
Overrides:
makeVariantExpr in interface ConvertibleExpr