[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] format-number() issue

Subject: Re: [xsl] format-number() issue
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Fri, 16 Aug 2013 16:14:47 +0200

Nathan Tallman wrote:
I'm trying to use format-number like this:

<xsl:variable name="unitid" select="lower-case(/ead/archdesc/did/unitid)"/>
<xsl:variable name="number" select="substring($unitid, 3)" />
<xsl:value-of select="format-number($number, '0000')"/>

I've seen many examples online of using a variable in the first spot
with format-number, but I keep getting a validation error, "Required
item type of first argument of format-number() is numeric; supplied
value has item type xs:string."

I've tried sticking as="xs:integer" in <xsl:variable  name="number">
and adding the xs namespace, but then I get this error, "Required item
type of value of variable $number is xs:integer; supplied value has
item type xs:string". I can't make $unitid an integer, as it has alpha
characters in it (which I remove in $number).

Can someone point out my errors or give me a hint?

You can set <xsl:variable name="number" select="xs:integer(substring($unitid, 3))" />

Current Thread