As you discovered, the current DocBook XSL stylesheets are written to the
XSLT 1.0 spec. Although there is a backwards-compatibility mode for XSLT
2.0 processors, I think it is risky to use a 2.0 processor such as Saxon 8.
Theoretically the use of <xsl:stylesheet version="1.0"> should tell the 2.0
processor to treat the variables as numbers when numbers are called for in
an expression. I think that is what Saxon 8 should do in this case, but
apparently it needs the data type to be explicit.
Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobs@sagehill.net