xsl-list
[Top] [All Lists]

Re: [xsl] format-number() issue

2013-08-16 09:16:36
At 2013-08-16 10:11 -0400, 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".

It surprises me that that didn't work.

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 could cast the argument to an acceptable type:

  format-number( xs:integer($number), '0000' )

... or if you aren't dealing with integers:

  format-number( xs:double($number), '0000' )

I hope this helps.

. . . . . . . . Ken


--
Public XSLT, XSL-FO, and UBL classes in the Netherlands     Oct 2013 |
Public XSLT, XSL-FO, UBL and code list classes in Australia Oct 2013 |
Contact us for world-wide XML consulting and instructor-led training |
Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm |
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/s/ |
G. Ken Holman                   mailto:gkholman(_at_)CraneSoftwrights(_dot_)com 
|
Google+ profile: https://plus.google.com/116832879756988317389/about |
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal |


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>