org.apache.xpath.axes
Class PrecedingWalker

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.ReverseAxesWalker
                                |
                                +--org.apache.xpath.axes.PrecedingWalker

public class PrecedingWalker
extends ReverseAxesWalker

Walker for the 'preceding' axes.

The walk is done from the root node, in depth-first order, testing to see if a given vertice is an ancestor of the step context, in which case that vertice, and all following vertices, are skipped.

See Also:
XPath axes descriptions, 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
PrecedingWalker(LocPathIterator locPathIterator)
          Construct a PrecedingWalker using a LocPathIterator.
 
Method Summary
 Node firstChild()
          Moves the TreeWalker to the first visible child of the current node, and returns the new node.
 Node nextSibling()
          Moves the TreeWalker to the next sibling of the current node, and returns the new node.
 Node parentNode()
          Moves to and returns the closest visible ancestor node of the current node.
 void resetProximityPositions()
          Reset the proximity positions counts.
 void setRoot(Node root)
          Set the root node of the TreeWalker.
 
Methods inherited from class org.apache.xpath.axes.ReverseAxesWalker
getLastPos, isReverseAxes
 
Methods inherited from class org.apache.xpath.axes.AxesWalker
canTraverseOutsideSubtree, clone, getCurrentNode, getExpandEntityReferences, getFilter, getNextWalker, getPrevWalker, getRoot, init, lastChild, nextNode, previousNode, previousSibling, setCurrentNode, setNextWalker, setPrevWalker, toString
 
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest
acceptNode, getLocPathIterator, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, 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

PrecedingWalker

public PrecedingWalker(LocPathIterator locPathIterator)
Construct a PrecedingWalker using a LocPathIterator.
Parameters:
locPathIterator - The location path iterator that 'owns' this walker.
Method Detail

setRoot

public void setRoot(Node root)
Set the root node of the TreeWalker. If we follow an attribute:: or namespace:: axis, we operate relative to the parent node.
Parameters:
root - The context node of this step.
Overrides:
setRoot in class ReverseAxesWalker

resetProximityPositions

public void resetProximityPositions()
Reset the proximity positions counts.
Overrides:
resetProximityPositions in class PredicatedNodeTest

parentNode

public Node parentNode()
Moves to and returns the closest visible ancestor node of the current node. If the search for parentNode attempts to step upward from the TreeWalker's root node, or if it fails to find a visible ancestor node, this method retains the current position and returns null.
Returns:
The new parent node, or null if the current node has no parent in the TreeWalker's logical view.
Overrides:
parentNode in class AxesWalker

firstChild

public Node firstChild()
Moves the TreeWalker to the first visible child of the current node, and returns the new node. If the current node has no visible children, returns null , and retains the current node.
Returns:
The new node, or null if the current node has no visible children in the TreeWalker's logical view.
Overrides:
firstChild in class AxesWalker

nextSibling

public Node nextSibling()
Moves the TreeWalker to the next sibling of the current node, and returns the new node. If the current node has no visible next sibling, returns null , and retains the current node.
Returns:
The new node, or null if the current node has no next sibling in the TreeWalker's logical view.
Overrides:
nextSibling in class AxesWalker


Copyright � 2000 Apache XML Project. All Rights Reserved.