org.apache.xpath.axes

Class ChildIterator

Implemented Interfaces:
Cloneable, DTMIterator, java.io.Serializable, ExpressionNode, PathComponent, java.io.Serializable, SourceLocator, SubContextList, XPathVisitable

public class ChildIterator
extends LocPathIterator

This class implements an optimized iterator for "node()" patterns, that is, any children of the context node.
See Also:
LocPathIterator, Serialized Form

Field Summary

Fields inherited from class org.apache.xpath.axes.LocPathIterator

m_lastFetched

Fields inherited from class org.apache.xpath.patterns.NodeTest

SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SUPPORTS_PRE_STRIPPING, WILD

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

FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP

Method Summary

int
asNode(XPathContext xctxt)
Return the first node out of the nodeset, if this expression is a nodeset expression.
int
getAxis()
Returns the axis being iterated, if it is known.
int
nextNode()
Returns the next node in the set and advances the position of the iterator in the set.

Methods inherited from class org.apache.xpath.axes.LocPathIterator

allowDetachToRelease, asIterator, asNode, bool, callVisitors, cloneWithReset, detach, execute, executeCharsToContentHandler, getAnalysisBits, getAxis, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, nextNode, previousNode, reset, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setRoot, setShouldCacheNodes, size

Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest

acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, deepEquals, fixupVariables, getLastPos, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount

Methods inherited from class org.apache.xpath.patterns.NodeTest

callVisitors, debugWhatToShow, deepEquals, execute, execute, execute, fixupVariables, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, getWhatToShow, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow

Methods inherited from class org.apache.xpath.Expression

asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, deepEquals, error, execute, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, fixupVariables, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr

Method Details

asNode

public int asNode(XPathContext xctxt)
            throws TransformerException
Return the first node out of the nodeset, if this expression is a nodeset expression. This is the default implementation for nodesets.

WARNING: Do not mutate this class from this function!

Overrides:
asNode in interface LocPathIterator
Parameters:
xctxt - The XPath runtime context.
Returns:
the first node out of the nodeset, or DTM.NULL.

getAxis

public int getAxis()
Returns the axis being iterated, if it is known.
Specified by:
getAxis in interface DTMIterator
Overrides:
getAxis in interface LocPathIterator
Returns:
Axis.CHILD, etc., or -1 if the axis is not known or is of multiple types.

nextNode

public int nextNode()
Returns the next node in the set and advances the position of the iterator in the set. After a NodeIterator is created, the first call to nextNode() returns the first node in the set.
Specified by:
nextNode in interface DTMIterator
Overrides:
nextNode in interface LocPathIterator
Returns:
The next Node in the set being iterated over, or null if there are no more members in that set.

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