This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The specification says very little about permitted values for the grouping-size attribute of xsl:number (other than it must be a 'number'). <xsl:number ... grouping-size? = { number } /> Can this be clarified? e.g. must be castable to xs:positiveInteger I'd expect XTSE0020 and XTDE0030 to cover the static and dynamic error cases. The test suite doesn't appear to contain tests which might cause such errors, and I've observed an XSLT implementation which rejects non-integer numeric values.
Good point. I would think that it makes sense to require it to be a string in the lexical space of xs:positiveInteger. XSLT 2.0 uses exactly the same wording as 1.0, which simply requires a "number". One could argue that "number" in XSLT 1.0 means xs:double, but since there are no clues what to do with non-integer values, it's hard to argue that they should be supported on compatibility grounds. Michael Kay (personal response)
Proposal accepted today: the value is a string in the lexical space of xs:decimal; it's then rounded using round(); if the result is positive it is used as the grouping size; if it's zero or negative then it's ignored.
Resolved as in comment #2; this will be erratum E51.