This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Upper-casing the first character of a string -- Am I missing some thing?
- To: xsl-list at mulberrytech dot com
- Subject: Re: Upper-casing the first character of a string -- Am I missing some thing?
- From: Oliver Becker <obecker at informatik dot hu-berlin dot de>
- Date: Tue, 1 Aug 2000 11:42:43 +0200 (MET DST)
- Reply-To: xsl-list at mulberrytech dot com
> I need to upper-case the first character of a string contained in my
> input XML prior to output. I was wondering if there was a better way,
> this seems a bit clunky:
>
> <xsl:value-of select="translate(substring(@name, 1, 1),
> 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
> <xsl:value-of select="substring(@name, 2, string-length(@name) - 1)" />
I would say: if you don't want to use proprietary extensions - that's it!
Two points:
- you may use one xsl:value statement and connect the strings by concat
- you can omit the 3rd parameter of substring
Thus you get
<xsl:value-of select="concat(translate(substring(@name, 1, 1),
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'),
substring(@name, 2))" />
Is that less clunky?
... whatever that means - couldn't find it in my Muret-Sanders dictionary ;-)
Cheers,
Oliver
/-------------------------------------------------------------------\
| ob|do Dipl.Inf. Oliver Becker |
| --+-- E-Mail: obecker@informatik.hu-berlin.de |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list