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
6.27Mb 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

Choke by Diana López
The Winter of the Robots by Kurtis Scaletta
The Hotel Riviera by Elizabeth Adler
The Lovebird by Natalie Brown
When the Lion Feeds by Wilbur Smith, Tim Pigott-Smith
Angels Are For Real by Judith MacNutt