org.apache.xalan.transformer
Class KeyIterator

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.xpath.axes.OneStepIteratorForward
                              extended by org.apache.xalan.transformer.KeyIterator
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, DTMIterator, PathComponent, SubContextList, ExpressionNode, XPathVisitable

public class KeyIterator
extends OneStepIteratorForward

This class implements an optimized iterator for "key()" patterns, matching each node to the match attribute in one or more xsl:key declarations.

See Also:
Serialized Form

Field Summary
private  java.util.Vector m_keyDeclarations
          Vector of Key declarations in the stylesheet.
private  QName m_name
          Key name.
(package private) static long serialVersionUID
           
 
Fields inherited from class org.apache.xpath.axes.OneStepIteratorForward
m_axis
 
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
KeyIterator(QName name, java.util.Vector keyDeclarations)
          Create a KeyIterator object.
 
Method Summary
 short acceptNode(int testNode)
          Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator.
 java.util.Vector getKeyDeclarations()
          Get the key declarations from the stylesheet
 QName getName()
          Get the key name from a key declaration this iterator will process
 
Methods inherited from class org.apache.xpath.axes.OneStepIteratorForward
deepEquals, getAxis, getNextNode, setRoot
 
Methods inherited from class org.apache.xpath.axes.ChildTestIterator
cloneWithReset, detach
 
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
callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, 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_name

private QName m_name
Key name.


m_keyDeclarations

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

Constructor Detail

KeyIterator

KeyIterator(QName name,
            java.util.Vector keyDeclarations)
Create a KeyIterator object.

Throws:
javax.xml.transform.TransformerException
Method Detail

getName

public QName getName()
Get the key name from a key declaration this iterator will process

Returns:
Key name

getKeyDeclarations

public java.util.Vector getKeyDeclarations()
Get the key declarations from the stylesheet

Returns:
Vector containing the key declarations from the stylesheet

acceptNode

public short acceptNode(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.

Overrides:
acceptNode in class PredicatedNodeTest
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 .