org.apache.xpath.axes

## Class MatchPatternIterator

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

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

      public class MatchPatternIterator
      extends LocPathIterator

  This class treats a LocationPath as a filtered iteration over the tree, evaluating each node in a super axis traversal against the LocationPath interpreted as a match pattern. This class is useful to find nodes in document order that are complex paths whose steps probably criss-cross each other.
  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`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `short` | `acceptNode(int n, XPathContext xctxt)` Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator.
    `void` | `detach()` Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state.
    `int` | `nextNode()` Returns the next node in the set and advances the position of the iterator in the set.
    `void` | `setRoot(int context, java.lang.Object environment)` Initialize the context values for this expression after it is cloned.

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

      `allowDetachToRelease, asIterator, asNode, bool, callVisitors, cloneWithReset, execute, executeCharsToContentHandler, getAnalysisBits, getAxis, 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

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

    - #### setRoot

          public void setRoot(int context,
                     java.lang.Object environment)

      Initialize the context values for this expression after it is cloned.
      Specified by:
        `setRoot` in interface `DTMIterator`
      Overrides:
        `setRoot` in class `LocPathIterator`
      Parameters:
        `context` - The XPath runtime context for this transformation.
        `environment` - The environment object. The environment in which this iterator operates, which should provide:
        - a node (the context node... same value as "root" defined below)
        - a pair of non-zero positive integers (the context position and the context size)
        - a set of variable bindings
        - a function library
        - the set of namespace declarations in scope for the expression.

        At this time the exact implementation of this environment is application dependent. Probably a proper interface will be created fairly soon.

    - #### detach

          public void detach()

      Detaches the iterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state. After`detach` has been invoked, calls to `nextNode` or`previousNode` will raise the exception INVALID_STATE_ERR.
      Specified by:
        `detach` in interface `DTMIterator`
      Overrides:
        `detach` in class `LocPathIterator`

    - #### nextNode

          public int nextNode()

      Returns the next node in the set and advances the position of the iterator in the set. After a NodeIterator is created, the first call to nextNode() returns the first node in the set.
      Specified by:
        `nextNode` in interface `DTMIterator`
      Specified by:
        `nextNode` in class `LocPathIterator`
      Returns:
        The next `Node` in the set being iterated over, or `null` if there are no more members in that set.

    - #### acceptNode

          public short acceptNode(int n,
                         XPathContext xctxt)

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