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

Silent Joe by T. Jefferson Parker
Where We Belong by Hyde, Catherine Ryan
The Dire Wolf's Mate by Smith, Kay D.
Fire Sale by Sara Paretsky
Dreamwielder by Garrett Calcaterra
Titan Encounter by Pratt, Kyle
Life's Next Chapter by Goodman, Sarah
Tell No One by Harlan Coben
Empire in Crisis by Dietmar Wehr