Class AttributeIterator
- All Implemented Interfaces:
Cloneable, SourceLocator, PathComponent, SubContextList, ExpressionNode, DTMIterator, XPathVisitable
This class implements an optimized iterator for attribute axes patterns.
-
Field Summary
Fields inherited from class ChildTestIterator
m_traverserFields inherited from class LocPathIterator
m_cdtm, m_clones, m_context, m_currentContextNode, m_execContext, m_lastFetched, m_length, m_pos, m_stackFrameFields inherited from class PredicatedNodeTest
DEBUG_PREDICATECOUNTING, m_foundLast, m_lpi, m_predCount, m_predicateIndex, m_proximityPositionsFields inherited from class NodeTest
m_name, m_whatToShow, SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, WILDFields inherited from interface DTMIterator
FILTER_ACCEPT, FILTER_SKIP -
Constructor Summary
ConstructorsConstructorDescriptionAttributeIterator(Compiler compiler, int opPos, int analysis) Create a AttributeIterator object. -
Method Summary
Modifier and TypeMethodDescriptionintgetAxis()Returns the axis being iterated, if it is known.protected intGet the next node via getNextXXX.Methods inherited from class ChildTestIterator
cloneWithReset, detach, setRootMethods inherited from class BasicTestIterator
nextNodeMethods inherited from class LocPathIterator
asIterator, asNode, bool, callVisitors, execute, getAnalysisBits, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, item, previousNode, reset, returnNextNode, runTo, setCurrentPos, setIsTopLevel, setShouldCacheNodesMethods inherited from class PredicatedNodeTest
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, deepEquals, executePredicates, getPredicate, getPredicateCount, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCountMethods inherited from class NodeTest
calcScore, execute, execute, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShowMethods inherited from class Expression
assertion, error, execute, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isSameClass, isStableNumber, numMethods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DTMIterator
clone
-
Constructor Details
-
AttributeIterator
AttributeIterator(Compiler compiler, int opPos, int analysis) throws TransformerException Create a AttributeIterator object.- Parameters:
compiler- A reference to the Compiler that contains the op map.opPos- The position within the op map, which contains the location path expression for this iterator.- Throws:
TransformerException- if any
-
-
Method Details
-
getNextNode
protected int getNextNode()Get the next node via getNextXXX. Bottlenecked for derived class override.- Overrides:
getNextNodein classChildTestIterator- Returns:
- The next node on the axis, or DTM.NULL.
-
getAxis
public int getAxis()Returns the axis being iterated, if it is known.- Specified by:
getAxisin interfaceDTMIterator- Overrides:
getAxisin classChildTestIterator- Returns:
- Axis.CHILD, etc., or -1 if the axis is not known or is of multiple types.
-