xsl-list
[Top] [All Lists]

RE: XSLT Problem - Case Conversion

2003-10-06 04:25:07
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



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