XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition (436 page)

BOOK: XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition
12.82Mb size Format: txt, pdf, ePub

It's important to remember that this implicit testing of
position()
happens only when the predicate expression actually evaluates to a single number. For example,
$paras[1 or last()]
does not mean
$paras[position() = 1 or position() = last()]
, because the result of evaluating
1 or last()
is a boolean, not a number (and as it happens, it will always be true). Similarly,
book[../@book-nr]
does not mean
book[position() = ../@book-nr]
, because the result of
../@book-nr
is a node, not a number.

A neat way to force the node to be atomized in such cases is to use the unary
+
operator: write
book[+../@book-nr]
.

Other books

The Pinstripe Ghost by David A. Kelly
Targets of Opportunity by Jeffrey Stephens
In Search of Auria by Alexis Rojas
Corazón de Tinta by Cornelia Funke
Chameleon by William X. Kienzle
Absolution by Laurens, Jennifer
(#15) The Haunted Bridge by Carolyn Keene
The Best Laid Plans by Tamara Mataya