Package net.sf.saxon.option.exslt
Class Sets
java.lang.Object
net.sf.saxon.option.exslt.Sets
This class implements extension functions in the
http://exslt.org/sets namespace.
-
Method Summary
Modifier and TypeMethodDescriptionstatic SequenceIterator<NodeInfo>Return the difference of two node-sets (interpreted as sequences of nodes that must be supplied in document order)static booleanDetermine whether two node-sets (interpreted as sequences of nodes that must be supplied in document order) contain at least one node in commonstatic SequenceIterator<NodeInfo>Return the intersection of two node-sets (interpreted as sequences of nodes that must be supplied in document order)static SequenceIterator<?>leading(XPathContext context, SequenceIterator<?> ns1, SequenceIterator<?> ns2) Find all the nodes in ns1 that are before the first node in ns2.static SequenceIteratortrailing(XPathContext context, SequenceIterator<?> ns1, SequenceIterator<?> ns2) Find all the nodes in ns1 that are after the first node in ns2.
-
Method Details
-
intersection
public static SequenceIterator<NodeInfo> intersection(SequenceIterator<NodeInfo> p1, SequenceIterator<NodeInfo> p2) throws XPathException Return the intersection of two node-sets (interpreted as sequences of nodes that must be supplied in document order)- Parameters:
p1- The first node-setp2- The second node-set- Returns:
- A node-set containing all nodes that are in both p1 and p2
- Throws:
XPathException
-
difference
public static SequenceIterator<NodeInfo> difference(SequenceIterator<NodeInfo> p1, SequenceIterator<NodeInfo> p2) throws XPathException Return the difference of two node-sets (interpreted as sequences of nodes that must be supplied in document order)- Parameters:
p1- The first node-setp2- 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(SequenceIterator<NodeInfo> p1, SequenceIterator<NodeInfo> p2) throws XPathException Determine whether two node-sets (interpreted as sequences of nodes that must be supplied in document order) contain at least one node in common- Parameters:
p1- The first node-setp2- 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
-
leading
public static SequenceIterator<?> leading(XPathContext context, SequenceIterator<?> ns1, SequenceIterator<?> ns2) throws XPathException Find all the nodes in ns1 that are before the first node in ns2. Return empty set if ns2 is empty. For this function, Saxon does not assume that the two sequences of nodes are supplied in document order.- Parameters:
ns1- The first node-setns2- The second node-set- 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.
- Throws:
XPathException
-
trailing
public static SequenceIterator trailing(XPathContext context, SequenceIterator<?> ns1, SequenceIterator<?> ns2) throws XPathException Find all the nodes in ns1 that are after the first node in ns2. Return ns1 if ns2 is empty,- Parameters:
ns1- The first node-setns2- The second node-set- 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.
- Throws:
XPathException
-