 Difference(context, nodes1, nodes2)

The set:difference function returns the difference between two node
sets  those nodes that are in the node set passed as the first argument
that are not in the node set passed as the second argument.
 Distinct(context, nodeset)

The set:distinct function returns a subset of the nodes contained in the
nodeset NS passed as the first argument. Specifically, it selects a node
N if there is no node in NS that has the same string value as N, and that
precedes N in document order.
 HasSameNode(context, ns1, ns2)

The set:hassamenode function returns true if the node set passed as the
first argument shares any nodes with the node set passed as the second
argument. If there are no nodes that are in both node sets, then it
returns false.
 Intersection(context, ns1, ns2)

The set:intersection function returns a node set comprising the nodes that
are within both the node sets passed as arguments to it.
 Leading(context, ns1, ns2)

The set:leading function returns the nodes in the node set passed as the
first argument that precede, in document order, the first node in the node
set passed as the second argument. If the first node in the second node
set is not contained in the first node set, then an empty node set is
returned. If the second node set is empty, then the first node set is
returned.
 Trailing(context, ns1, ns2)

The set:trailing function returns the nodes in the node set passed as the
first argument that follow, in document order, the first node in the node
set passed as the second argument. If the first node in the second node
set is not contained in the first node set, then an empty node set is
returned. If the second node set is empty, then the first node set is
returned.