While <xsl:number/> may be intended to create formatted identifiers
for eg. the entire element structure, the <xsl:number level="any"/>
is handy because it can give me a unique fully numerical ID for
each element. I don't know how to accomplish this with position()
as that is context sensitive.
Anyway, the solution seems to be to either translate($val,',','') or
<xsl:number level="any" grouping-separator="," grouping-size="10"/>
I would have preferred being able to specify the empty string "" as
grouping-separator :) The above number formatting only works for
<= 10 digits naturally.
As for number, I found that <xsl:value-of select="number('2,000')"/>
yields NaN.
Morten