org.apache.xalan.xsltc.dom

Class StepIterator

Implemented Interfaces:
Cloneable, DTMAxisIterator
Known Direct Subclasses:
FilteredStepIterator

public class StepIterator
extends DTMAxisIteratorBase

A step iterator is used to evaluate expressions like "BOOK/TITLE". A better name for this iterator would have been ParentIterator since both "BOOK" and "TITLE" are steps in XPath lingo. Step iterators are constructed from two other iterators which we are going to refer to as "outer" and "inner". Every node from the outer iterator (the one for BOOK in our example) is used to initialize the inner iterator. After this initialization, every node from the inner iterator is returned (in essence, implementing a "nested loop").
Authors:
Jacek Ambroziak
Santiago Pericas-Geertsen
Erwin Bolwidt
Morten Jorgensen

Fields inherited from interface org.apache.xml.dtm.DTMAxisIterator

END

Constructor Summary

StepIterator(DTMAxisIterator source, DTMAxisIterator iterator)

Method Summary

DTMAxisIterator
cloneIterator()
void
gotoMark()
int
next()
DTMAxisIterator
reset()
void
setMark()
void
setRestartable(boolean isRestartable)
DTMAxisIterator
setStartNode(int node)

Methods inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase

cloneIterator, getAxis, getLast, getNodeByPosition, getPosition, getStartNode, includeSelf, isDocOrdered, isReverse, reset, setRestartable

Constructor Details

StepIterator

public StepIterator(DTMAxisIterator source,
                    DTMAxisIterator iterator)

Method Details

cloneIterator

public DTMAxisIterator cloneIterator()
Specified by:
cloneIterator in interface DTMAxisIterator
Overrides:
cloneIterator in interface DTMAxisIteratorBase

gotoMark

public void gotoMark()
Specified by:
gotoMark in interface DTMAxisIterator

next

public int next()
Specified by:
next in interface DTMAxisIterator

reset

public DTMAxisIterator reset()
Specified by:
reset in interface DTMAxisIterator
Overrides:
reset in interface DTMAxisIteratorBase

setMark

public void setMark()
Specified by:
setMark in interface DTMAxisIterator

setRestartable

public void setRestartable(boolean isRestartable)
Specified by:
setRestartable in interface DTMAxisIterator
Overrides:
setRestartable in interface DTMAxisIteratorBase

setStartNode

public DTMAxisIterator setStartNode(int node)
Specified by:
setStartNode in interface DTMAxisIterator

Copyright B) 2004 Apache XML Project. All Rights Reserved.