org.apache.xalan.transformer
Class KeyRefIterator

java.lang.Object
  extended by org.apache.xpath.Expression
      extended by org.apache.xpath.patterns.NodeTest
          extended by org.apache.xpath.axes.PredicatedNodeTest
              extended by org.apache.xpath.axes.LocPathIterator
                  extended by org.apache.xpath.axes.BasicTestIterator
                      extended by org.apache.xpath.axes.ChildTestIterator
                          extended by org.apache.xalan.transformer.KeyRefIterator
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, DTMIterator, PathComponent, SubContextList, ExpressionNode, XPathVisitable

public class KeyRefIterator
extends ChildTestIterator

This class filters nodes from a key iterator, according to whether or not the use value matches the ref value.

See Also:
Serialized Form

Field Summary
protected  java.util.Vector m_keyDeclarations
          Vector of Key declarations in the stylesheet.
(package private)  DTMIterator m_keysNodes
           
protected  QName m_name
           
protected  XMLString m_ref
           
(package private) static long serialVersionUID
           
 
Fields inherited from class org.apache.xpath.axes.ChildTestIterator
m_traverser
 
Fields inherited from class org.apache.xpath.axes.LocPathIterator
m_allowDetach, m_cdtm, m_clones, m_context, m_currentContextNode, m_execContext, m_lastFetched, m_length, m_pos
 
Fields inherited from class org.apache.xpath.axes.PredicatedNodeTest
m_foundLast, m_lpi, m_predCount, m_proximityPositions
 
Fields inherited from class org.apache.xpath.patterns.NodeTest
m_whatToShow, 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
 
Constructor Summary
KeyRefIterator(QName name, XMLString ref, java.util.Vector keyDecls, DTMIterator ki)
          Constructor KeyRefIterator
 
Method Summary
 short filterNode(int testNode)
          Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator.
protected  int getNextNode()
          Get the next node via getNextXXX.
 
Methods inherited from class org.apache.xpath.axes.ChildTestIterator
cloneWithReset, detach, getAxis, setRoot
 
Methods inherited from class org.apache.xpath.axes.BasicTestIterator
nextNode
 
Methods inherited from class org.apache.xpath.axes.LocPathIterator
allowDetachToRelease, asIterator, asNode, bool, callVisitors, execute, executeCharsToContentHandler, getAnalysisBits, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, reset, returnNextNode, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setNextPosition, setShouldCacheNodes, size
 
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, deepEquals, fixupVariables, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCount
 
Methods inherited from class org.apache.xpath.patterns.NodeTest
calcScore, debugWhatToShow, execute, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow
 
Methods inherited from class org.apache.xpath.Expression
asIteratorRaw, assertion, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isSameClass, isStableNumber, num, warn, xstr
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.xml.dtm.DTMIterator
clone
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

m_keysNodes

DTMIterator m_keysNodes

m_ref

protected XMLString m_ref

m_name

protected QName m_name

m_keyDeclarations

protected java.util.Vector m_keyDeclarations
Vector of Key declarations in the stylesheet.

Constructor Detail

KeyRefIterator

public KeyRefIterator(QName name,
                      XMLString ref,
                      java.util.Vector keyDecls,
                      DTMIterator ki)
Constructor KeyRefIterator

Parameters:
ref - Key value to match
ki - The main key iterator used to walk the source tree
Method Detail

getNextNode

protected int getNextNode()
Get the next node via getNextXXX. Bottlenecked for derived class override.

Overrides:
getNextNode in class ChildTestIterator
Returns:
The next node on the axis, or DTM.NULL.

filterNode

public short filterNode(int testNode)
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:
testNode - 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 .