Read XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition Online
Authors: Michael Kay
To see the difference, consider the following source document:
With this document, if the variable
$chapters
contains only the outer
$chapters//diagram[1]
will select diagrams 12, 14, and 15, while both
$chapters/descendant::diagram[1]
and
($chapters//diagram)[1]
will select diagram 12 only.
Combining Sets of Nodes
Until now this chapter has been all about path expressions. This section describes operators that combine two sets of nodes. Although these aren't technically path expressions, they are invariably used in conjunction with path expressions, so it's useful to deal with them at the same time. The operators are: