|
Subject: [xsl] Processing a Sequence of String Tokens in XSLT 2 From: "Eliot Kimber" <ekimber@xxxxxxxxxxxxxxxxxxx> Date: Wed, 06 Jun 2007 14:08:55 -0500 |
I suspect this is an FAQ, and if so, feel free to point me to existing discussion, but I'm curious as to what the most efficient/elegant way to process a sequence of string tokens is.
In my specific case, I need to init-cap all the words in a string (I don't need any sophistication like special case for conjunctions or anything).
<xsl:function
name="func:normalizeTitleContent">
<!-- Normalizes the case of titles based on the FASB-defined rules
for title case -->
<xsl:param
name="titleElem"/>
<xsl:variable name="titleTokens"
select="tokenize(string($titleElem), ' ')"/>
<xsl:variable name="resultString">
<xsl:for-each select="$titleTokens">
<xsl:sequence select="concat(upper-case(substring(., 1,1)),
substring(., 2))"/>
</xsl:for-each>
</xsl:variable>
<xsl:sequence select="$resultString"/>
</xsl:function>Which seems reasonably compact and understandable but I suspect that I'm not doing things as cleverly or as "correctly" as I could.
Eliot -- W. Eliot Kimber Professional Services Innodata Isogen 8500 N. Mopac, Suite 402 Austin, TX 78759 (214) 954-5198
ekimber@xxxxxxxxxxxxxxxxxxx www.innodata-isogen.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] How to get element name f, Eric Larson | Thread | Re: [xsl] Processing a Sequence of , Andrew Welch |
| RE: [xsl] html tags not closing, Robert Koberg | Date | Re: [xsl] Processing a Sequence of , Andrew Welch |
| Month |