This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Capitalizing only the first letter of each word


"Katie McNally" <kmcnally9 at hotmail dot com> wrote:

> I am getting back my data in ALL-CAPS.  Is there any way to display 
> the first letter of each word in uppercase, but the rest of each word

> in lowercase?
> 
> example XML:
> 
> <Tg Nm="Name">JOHN LEWIS</Fld>
> <Tg Nm="Street">8780 MAIN ST</Fld>
> <Tg Nm="City">COLORADO SPRINGS</Fld>
> <Tg Nm="State">CO</Fld>
> 
> I want to display:
> 
> John Lewis
> 8780 Main St
> Colorado Springs
> CO

Hi Katie,

You can use the str-split-to-words() function from the FXSL functional
programming library.

This will produce a list of words (you can specify any set of word
delimiters, which is appropriate).

Then for each word, just ***de-capitalise*** (convert to lower case)
the tail (substring($word, 2) ).

Converting to lower case can be accomplished using the translate()
function like this:

translate($someString, $upperCase, $lowerCase)

where the last two arguments should be defined as:

<xsl:variable name="upperCase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
<xsl:variable name="lowerCase" select="'abcdefghijklmnopqrstuvwxyz'"/>

Cheers,
Dimitre Novatchev.




__________________________________________________
Do You Yahoo!?
Yahoo! Movies - coverage of the 74th Academy Awards®
http://movies.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]