org.apache.xpath.axes

Class MatchPatternIterator

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

public class MatchPatternIterator
extends LocPathIterator

This class treats a LocationPath as a filtered iteration over the tree, evaluating each node in a super axis traversal against the LocationPath interpreted as a match pattern. This class is useful to find nodes in document order that are complex paths whose steps probably criss-cross each other.
See Also:
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

short
acceptNode(int n, XPathContext xctxt)
Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator.
void
detach()
Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
int
nextNode()
Returns the next node in the set and advances the position of the iterator in the set.
void
setRoot(int context, Object environment)
Initialize the context values for this expression after it is cloned.

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

acceptNode

public short acceptNode(int n,
                        XPathContext xctxt)
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:
n - 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 .

detach

public void detach()
Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state. Afterdetach has been invoked, calls to nextNode orpreviousNode will raise the exception INVALID_STATE_ERR.
Specified by:
detach in interface DTMIterator
Overrides:
detach in interface LocPathIterator

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.

setRoot

public void setRoot(int context,
                    Object environment)
Initialize the context values for this expression after it is cloned.
Specified by:
setRoot in interface DTMIterator
Overrides:
setRoot in interface LocPathIterator
Parameters:
context - The XPath runtime context for this transformation.

Copyright © 2006 Apache XML Project. All Rights Reserved.