org.apache.xalan.transformer
Class KeyWalker

java.lang.Object
  |
  +--org.apache.xpath.Expression
        |
        +--org.apache.xpath.patterns.NodeTest
              |
              +--org.apache.xpath.axes.PredicatedNodeTest
                    |
                    +--org.apache.xpath.axes.AxesWalker
                          |
                          +--org.apache.xpath.axes.DescendantWalker
                                |
                                +--org.apache.xpath.axes.DescendantOrSelfWalker
                                      |
                                      +--org.apache.xalan.transformer.KeyWalker

public class KeyWalker
extends DescendantOrSelfWalker

**For internal use only** Walker for a Key() function.

See Also:
Serialized Form

Fields inherited from class org.apache.xpath.axes.AxesWalker
FEATURE_NODETESTFILTER
 
Fields inherited from class org.apache.xpath.patterns.NodeTest
SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SHOW_NAMESPACE, SUPPORTS_PRE_STRIPPING, WILD
 
Constructor Summary
KeyWalker(LocPathIterator locPathIterator)
          Construct a KeyWalker using a LocPathIterator.
 
Method Summary
 short acceptNode(Node testNode)
          Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator.
 Node nextNode()
          Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node.
 void setRoot(Node root)
          Set the root node of the TreeWalker.
 
Methods inherited from class org.apache.xpath.axes.DescendantOrSelfWalker
firstChild
 
Methods inherited from class org.apache.xpath.axes.DescendantWalker
nextSibling, parentNode
 
Methods inherited from class org.apache.xpath.axes.AxesWalker
canTraverseOutsideSubtree, clone, getCurrentNode, getExpandEntityReferences, getFilter, getLastPos, getNextWalker, getPrevWalker, getRoot, init, lastChild, previousNode, previousSibling, setCurrentNode, setNextWalker, setPrevWalker, toString
 
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest
getLocPathIterator, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount
 
Methods inherited from class org.apache.xpath.patterns.NodeTest
debugWhatToShow, execute, execute, getDefaultScore, getLocalName, getNamespace, getWhatToShow, initNodeTest, initNodeTest
 
Methods inherited from class org.apache.xpath.Expression
assert, error, setSourceLocator, warn
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

KeyWalker

public KeyWalker(LocPathIterator locPathIterator)
Construct a KeyWalker using a LocPathIterator.
Parameters:
locPathIterator: - this is usually a KeyIterator
Method Detail

setRoot

public void setRoot(Node root)
Set the root node of the TreeWalker.
Parameters:
root - Document root node
Overrides:
setRoot in class DescendantOrSelfWalker

acceptNode

public short acceptNode(Node testNode)
Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator. This function will be called by the implementation of TreeWalker and NodeIterator; it is not intended to be called directly from user code.
Parameters:
testnode - The node to check to see if it passes the filter or not.
Returns:
a constant to determine whether the node is accepted, rejected, or skipped, as defined above .
Overrides:
acceptNode in class PredicatedNodeTest

nextNode

public Node nextNode()
Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node. If the current node has no next node, or if the search for nextNode attempts to step upward from the TreeWalker's root node, returns null , and retains the current node.
Returns:
The new node, or null if the current node has no next node in the TreeWalker's logical view.
Overrides:
nextNode in class AxesWalker


Copyright � 2000 Apache XML Project. All Rights Reserved.