Sets
Date: 2016-07-03

com.icl.saxon.exslt

## Class Sets

- java.lang.Object
- - com.icl.saxon.exslt.Sets

-     public abstract class Sets
      extends java.lang.Object

  This class implements extension functions in the http://exslt.org/sets namespace.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Sets()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static NodeEnumeration` | `difference(Context c, NodeEnumeration p1, NodeEnumeration p2)` Return the difference of two node-sets
    `static NodeEnumeration` | `distinct(Context c, NodeEnumeration in)` Given a node-set, return a subset that includes only nodes with distinct string-values
    `static boolean` | `hasSameNode(Context c, NodeEnumeration p1, NodeEnumeration p2)` Determine whether two node-sets contain at least one node in common
    `static NodeEnumeration` | `intersection(Context c, NodeEnumeration p1, NodeEnumeration p2)` Return the intersection of two node-sets
    `static NodeSetValue` | `leading(Context c, NodeEnumeration ns1, NodeEnumeration ns2)` Find all the nodes in ns1 that are before the first node in ns2.
    `static NodeSetValue` | `trailing(Context c, NodeEnumeration ns1, NodeEnumeration ns2)` Find all the nodes in ns1 that are after the first node in ns2.

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

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

- - ### Constructor Detail

    - #### Sets

          public Sets()

  - ### Method Detail

    - #### intersection

          public static NodeEnumeration intersection(Context c,
                                     NodeEnumeration p1,
                                     NodeEnumeration p2)
                                              throws XPathException

      Return the intersection of two node-sets
      Parameters:
        `p1` - The first node-set
        `p2` - The second node-set
      Returns:
        A node-set containing all nodes that are in both p1 and p2
      Throws:
        `XPathException`

    - #### difference

          public static NodeEnumeration difference(Context c,
                                   NodeEnumeration p1,
                                   NodeEnumeration p2)
                                            throws XPathException

      Return the difference of two node-sets
      Parameters:
        `p1` - The first node-set
        `p2` - The second node-set
      Returns:
        A node-set containing all nodes that are in p1 and not in p2
      Throws:
        `XPathException`

    - #### hasSameNode

          public static boolean hasSameNode(Context c,
                            NodeEnumeration p1,
                            NodeEnumeration p2)
                                     throws XPathException

      Determine whether two node-sets contain at least one node in common
      Parameters:
        `p1` - The first node-set
        `p2` - The second node-set
      Returns:
        true if p1 and p2 contain at least one node in common (i.e. if the intersection is not empty)
      Throws:
        `XPathException`

    - #### distinct

          public static NodeEnumeration distinct(Context c,
                                 NodeEnumeration in)
                                          throws XPathException

      Given a node-set, return a subset that includes only nodes with distinct string-values
      Throws:
        `XPathException`

    - #### leading

          public static NodeSetValue leading(Context c,
                             NodeEnumeration ns1,
                             NodeEnumeration ns2)
                                      throws XPathException

      Find all the nodes in ns1 that are before the first node in ns2. Return empty set if ns2 is empty,
      Throws:
        `XPathException`

    - #### trailing

          public static NodeSetValue trailing(Context c,
                              NodeEnumeration ns1,
                              NodeEnumeration ns2)
                                       throws XPathException

      Find all the nodes in ns1 that are after the first node in ns2. Return empty set if ns2 is empty,
      Throws:
        `XPathException`