Hi
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Saurabh Sinha
Sent: Monday, October 06, 2003 12:00 PM
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] XSLT Problem - Case Conversion
Hi,
Is there any built-in function like toupper() or
tolower() in XSL so that we can convert the text -
such as upper to lower or vice versa? e.g. I want to
see 'STATUS' or 'STATUSCODE' as 'Status' or
'Statuscode.
Use translate
Example:
<xsl:variable name="text" select="'STATUS'"/>
<xsl:value-of
select="translate($text,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqr
stuvwxyz')"/>
This will change 'STATUS' into 'status'
To change 'status' to 'STATUS' just switch the 2º argument with the 3º
<xsl:variable name="text" select="'status'"/>
<xsl:value-of
select="translate($text,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQR
STUVWXYZ')"/>
To get your output, i. e., to change 'STATUS' into 'Status' you'll need
to use both transformations
<xsl:variable name="text" select="'STATUS'"/>
<xsl:value-of
select="concat(translate(substring($text,1,1),'abcdefghijklmnopqrstuvwxy
z','ABCDEFGHIJKLMNOPQRSTUVWXYZ'),translate(substring($text,2),'ABCDEFGHI
JKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'))"/>
Regards,
Americo Albuquerque
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list