org.apache.xalan.transformer

## Class KeyIterator

- java.lang.Object
- - org.apache.xpath.Expression
  - - org.apache.xpath.patterns.NodeTest
    - - org.apache.xpath.axes.PredicatedNodeTest
      - - org.apache.xpath.axes.LocPathIterator
        - - org.apache.xpath.axes.BasicTestIterator
          - - org.apache.xpath.axes.ChildTestIterator
            - - org.apache.xpath.axes.OneStepIteratorForward
              - - org.apache.xalan.transformer.KeyIterator

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, 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
Usage:
  **For internal use only**

### 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

Methods
`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, 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, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setShouldCacheNodes, size`

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

`callPredicateVisitors, canTraverseOutsideSubtree, clone, fixupVariables, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, initProximityPosition, isReverseAxes, resetProximityPositions, setLocPathIterator, setPredicateCount`

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

`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, isStableNumber, num, warn, xstr`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.xml.dtm.DTMIterator

`clone`

### 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 .