Read XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition Online
Authors: Michael Kay
$H/following-sibling::p[preceding-sibling::H1[1] is $H]
Another way of solving this problem would be to write:
$H/following-sibling::p except $H/following-sibling::H1/following-sibling::p
but I think the solution using the
is
operator is likely to be more efficient. (The
except
operator is described in Chapter 9, on page 628.)
In XSLT 2.0, problems like this can also be tackled using the construct
The operators
<<
and
>>
The operators
<<
and
>>
test whether one node is before or after another in document order. For example,
$A << $B
is true if and only if
$A
precedes
$B
in document order. The concept of document order is described in Chapter 2, on page 57.