## net.sf.saxon.expr
Class IntersectionEnumeration

    java.lang.Object
      |
      +--net.sf.saxon.expr.IntersectionEnumeration

All Implemented Interfaces:
  SequenceIterator

public class IntersectionEnumeration
extends java.lang.Object
implements SequenceIterator

An enumeration representing a nodeset that is an intersection of two other NodeSets. This implements the XPath 2.0 operator "intersect".

Constructor Summary
`IntersectionEnumeration(SequenceIterator p1, SequenceIterator p2, NodeOrderComparer comparer)` Form an enumeration of the intersection of the nodes in two nodesets

Method Summary
`Item` `current()` Get the current value in the sequence (the one returned by the most recent call on next()).
`SequenceIterator` `getAnother()` Get another SequenceIterator that iterates over the same items as the original, but which is repositioned at the start of the sequence.
`Item` `next()` Get the next item in the sequence.
`int` `position()` Get the current position.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### IntersectionEnumeration

    public IntersectionEnumeration(SequenceIterator p1,
                                   SequenceIterator p2,
                                   NodeOrderComparer comparer)
                            throws XPathException

  Form an enumeration of the intersection of the nodes in two nodesets

Parameters:
  `p1` - the first operand: must be in document order
  `p2` - the second operand: must be in document order
  `comparer` - Comparer to be used for putting nodes in document order

Method Detail

### next

    public Item next()
              throws XPathException

  Description copied from interface: `SequenceIterator`
  Get the next item in the sequence.

  Specified by:
    `next` in interface `SequenceIterator`
  Returns:
    the next item, or null if there are no more items.
  Throws:
    `XPathException` - if an error occurs retrieving the next item

### current

    public Item current()

  Description copied from interface: `SequenceIterator`
  Get the current value in the sequence (the one returned by the most recent call on next()). This will be null before the first call of next().

  Specified by:
    `current` in interface `SequenceIterator`
  Returns:
    the current item, the one most recently returned by a call on next(); or null, if next() has not been called, or if the end of the sequence has been reached.

### position

    public int position()

  Description copied from interface: `SequenceIterator`
  Get the current position. This will be zero before the first call on next(), otherwise it will be the number of times that next() has been called.

  Specified by:
    `position` in interface `SequenceIterator`
  Returns:
    the current position, the position of the item returned by the most recent call of next()

### getAnother

    public SequenceIterator getAnother()
                                throws XPathException

  Description copied from interface: `SequenceIterator`
  Get another SequenceIterator that iterates over the same items as the original, but which is repositioned at the start of the sequence.

  Specified by:
    `getAnother` in interface `SequenceIterator`
  Returns:
    a SequenceIterator that iterates over the same items, positioned before the first item
  Throws:
    `XPathException` - if any error occurs