Class IntersectionEnumeration

java.lang.Object
com.icl.saxon.expr.IntersectionEnumeration
All Implemented Interfaces:
NodeEnumeration

public class IntersectionEnumeration extends Object implements NodeEnumeration
An enumeration representing a nodeset that is an intersection of two other NodeSets. There is currently no operator in XPath to create such an expression, but it is used by the extension function intersection(). The code is derived from the analagous UnionEnumeration, an inner class of UnionExpression.
  • Constructor Details

    • IntersectionEnumeration

      public IntersectionEnumeration(NodeEnumeration p1, NodeEnumeration p2, Controller controller) throws XPathException
      Form an enumeration of the intersection of the nodes in two nodesets
      Parameters:
      p1 - the first operand
      p2 - the second operand
      controller - Comparer to be used for putting nodes in document order
      Throws:
      XPathException
  • Method Details

    • hasMoreElements

      public boolean hasMoreElements()
      Description copied from interface: NodeEnumeration
      Determine whether there are more nodes to come.
      (Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).
      Specified by:
      hasMoreElements in interface NodeEnumeration
      Returns:
      true if there are more nodes
    • nextElement

      public NodeInfo nextElement() throws XPathException
      Description copied from interface: NodeEnumeration
      Get the next node in sequence.
      (Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).
      Specified by:
      nextElement in interface NodeEnumeration
      Returns:
      the next NodeInfo
      Throws:
      XPathException
    • isSorted

      public boolean isSorted()
      Description copied from interface: NodeEnumeration
      Determine whether the nodes returned by this enumeration are known to be in document order
      Specified by:
      isSorted in interface NodeEnumeration
      Returns:
      true if the nodes are guaranteed to be in document order.
    • isReverseSorted

      public boolean isReverseSorted()
      Description copied from interface: NodeEnumeration
      Determine whether the nodes returned by this enumeration are known to be in reverse document order.
      Specified by:
      isReverseSorted in interface NodeEnumeration
      Returns:
      true if the nodes are guaranteed to be in document order.
    • isPeer

      public boolean isPeer()
      Description copied from interface: NodeEnumeration
      Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node. This significance of this property is that if a peer enumeration is applied to each node in a set derived from another peer enumeration, and if both enumerations are sorted, then the result is also sorted.
      Specified by:
      isPeer in interface NodeEnumeration