Re: [xsl] Why does the addition of one (1) to a positiveInteger produce an integer?

Subject: Re: [xsl] Why does the addition of one (1) to a positiveInteger produce an integer?
From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx>
Date: Sun, 29 Aug 2010 22:38:10 +0200
Try casting each numerical argument to xs:positiveInteger:

On 29.08.2010 21:43, Costello, Roger L. wrote:
<xsl:sequence select="f:iter($count + 1)" />

<xsl:sequence select="f:iter($count + xs:positiveInteger(1))" />


(also when invoking f:iter outside the recursion).


What is the rationale for this? After all, if I add one (1) to any positiveInteger the result must be a positiveInteger.

Maybe the XSLT processor isn't smart enough. It just seems to adhere to the rule "positiveInteger + integer = integer". I'm not sure whether it's worth the while to make the processor look at the values rather than just at the types before applying implicit typecasts.


-Gerrit



--
Gerrit Imsieke
Geschdftsf|hrer / Managing Director
le-tex publishing services GmbH
Weissenfelser Str. 84, 04229 Leipzig, Germany
Phone +49 341 355356 110, Fax +49 341 355356 510
gerrit.imsieke@xxxxxxxxx, http://www.le-tex.de

Registergericht / Commercial Register: Amtsgericht Leipzig
Registernummer / Registration Number: HRB 24930

Geschdftsf|hrer: Gerrit Imsieke, Svea Jelonek,
Thomas Schmidt, Dr. Reinhard Vvckler

Current Thread