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

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

One thing that can trip you up if you aren't using schemas, and are therefore used to most of your data being untyped, is that the result of an operation is never untyped. This means, for example, that you can write
string-length(@chap-num)
, and the value of
@chap-num
will be treated as an
xs:string
, which is what the
string-length()
function requires. You can also write
@chap-num + 1
, and
@chap-num
will be treated as a number, which is what the
+
operator requires. But you can't write
string-length(@chap-num + 1)
, because the result of
@chap-num + 1
is not untyped, it is an
xs:double
, and the
string-length()
function requires an
xs:string
. You have to do the conversion explicitly, like this:
string-length(string(@chap-num + 1))

Other books

The Flanders Panel by Arturo Pérez-Reverte
Bronze Magic (Book 1) by Jenny Ealey
15 - The Utopia Affair by David McDaniel
My Brother Michael by Mary Stewart
Mahabharata: Volume 4 by Debroy, Bibek
Bittersweet by Jennifer Labelle
Resplendent by Abraham, M. J.