com.jclark.xsl.expr
Class SequenceComposeExpr

java.lang.Object
  |
  +--com.jclark.xsl.expr.ConvertibleExpr
        |
        +--com.jclark.xsl.expr.ConvertibleNodeSetExpr
              |
              +--com.jclark.xsl.expr.SequenceComposeExpr
All Implemented Interfaces:
NodeSetExpr

class SequenceComposeExpr
extends ConvertibleNodeSetExpr

Composition when expr1 is SINGLE_LEVEL and expr2 is STAYS_IN_SUBTREE.


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 is set, then all nodes in the result of eval(x, c) are guaranteed to be in the subtree rooted at x.
 
Constructor Summary
(package private) SequenceComposeExpr(ConvertibleNodeSetExpr expr1, ConvertibleNodeSetExpr expr2)
           
 
Method Summary
(package private)  ConvertibleNodeSetExpr compose(ConvertibleNodeSetExpr expr)
           
 NodeIterator eval(Node node, ExprContext context)
           
(package private)  Pattern getChildrenNodePattern()
           
(package private)  int getOptimizeFlags()
           
(package private)  ConvertibleBooleanExpr makeBooleanExpr()
           
(package private)  ConvertibleNodeSetExpr makeNodeSetExpr()
           
(package private)  ConvertibleNumberExpr makeNumberExpr()
           
(package private)  ConvertibleBooleanExpr makePredicateExpr()
           
(package private)  ConvertibleStringExpr makeStringExpr()
           
(package private)  ConvertibleVariantExpr makeVariantExpr()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STAYS_IN_SUBTREE

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

See Also:
Constant Field Values

SINGLE_LEVEL

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.

See Also:
Constant Field Values
Constructor Detail

SequenceComposeExpr

SequenceComposeExpr(ConvertibleNodeSetExpr expr1,
                    ConvertibleNodeSetExpr expr2)
Method Detail

eval

public NodeIterator eval(Node node,
                         ExprContext context)
                  throws XSLException
XSLException

getOptimizeFlags

int getOptimizeFlags()
Overrides:
getOptimizeFlags in class ConvertibleNodeSetExpr

makeStringExpr

ConvertibleStringExpr makeStringExpr()
Specified by:
makeStringExpr in class ConvertibleExpr

makeBooleanExpr

ConvertibleBooleanExpr makeBooleanExpr()
Specified by:
makeBooleanExpr in class ConvertibleExpr

makeNodeSetExpr

ConvertibleNodeSetExpr makeNodeSetExpr()
Overrides:
makeNodeSetExpr in class ConvertibleExpr

makeVariantExpr

ConvertibleVariantExpr makeVariantExpr()
Specified by:
makeVariantExpr in class ConvertibleExpr

compose

ConvertibleNodeSetExpr compose(ConvertibleNodeSetExpr expr)

getChildrenNodePattern

Pattern getChildrenNodePattern()

makeNumberExpr

ConvertibleNumberExpr makeNumberExpr()

makePredicateExpr

ConvertibleBooleanExpr makePredicateExpr()