org.apache.xpath.axes

## Class UnionChildIterator

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

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

      public class UnionChildIterator
      extends ChildTestIterator

  This class defines a simplified type of union iterator that only tests along the child axes. If the conditions are right, it is much faster than using a UnionPathIterator.
  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`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UnionChildIterator()` Constructor for UnionChildIterator

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `short` | `acceptNode(int n)` Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator.
    `void` | `addNodeTest(PredicatedNodeTest test)` Add a node test to the union list.
    `void` | `fixupVariables(java.util.Vector vars, int globalsSize)` This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.

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

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

      `callPredicateVisitors, canTraverseOutsideSubtree, clone, deepEquals, 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`

- - ### Constructor Detail

    - #### UnionChildIterator

          public UnionChildIterator()

      Constructor for UnionChildIterator

  - ### Method Detail

    - #### addNodeTest

          public void addNodeTest(PredicatedNodeTest test)

      Add a node test to the union list.
      Parameters:
        `test` - reference to a NodeTest, which will be added directly to the list of node tests (in other words, it will not be cloned). The parent of this test will be set to this object.

    - #### fixupVariables

          public void fixupVariables(java.util.Vector vars,
                            int globalsSize)

      This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.
      Overrides:
        `fixupVariables` in class `PredicatedNodeTest`
      Parameters:
        `vars` - List of QNames that correspond to variables. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame).

    - #### acceptNode

          public short acceptNode(int n)

      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:
        `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 .

Copyright © 2014 Apache XML Project. All Rights Reserved.