[Home] [By Thread] [By Date] [Recent Entries]
Following is another XSLT 1.0 solution:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="text" /> <xsl:variable name="caps" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> <xsl:template match="x">
<xsl:call-template name="formatString">
<xsl:with-param name="s" select="string" />
<xsl:with-param name="result" select="''" />
</xsl:call-template>
</xsl:template> <xsl:template name="formatString">
<xsl:param name="s" />
<xsl:param name="result" /> <xsl:choose>
<xsl:when test="string-length($s) = 0">
<xsl:value-of select="$result" />
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="(string-length($s) = string-length(string))
and contains($caps, substring($s, 1, 1))">
<xsl:call-template name="formatString">
<xsl:with-param name="s" select="substring($s, 2)" />
<xsl:with-param name="result" select="concat($result, substring($s, 1, 1))" />
</xsl:call-template>
</xsl:when>
<xsl:when test="contains($caps, substring($s, 1, 1))">
<xsl:call-template name="formatString">
<xsl:with-param name="s" select="substring($s, 2)" />
<xsl:with-param name="result" select="concat($result, ' ',
substring($s, 1, 1))" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="formatString">
<xsl:with-param name="s" select="substring($s, 2)" />
<xsl:with-param name="result" select="concat($result, substring($s, 1, 1))" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template></xsl:stylesheet> This when applied to the XML: <x> <string>BankOfAmerica</string> </x> Produces output: Bank Of America On 5/16/07, Babu Eswaramoorthy <babueswaramoorthy@xxxxxxx> wrote:
-- Regards, Mukul Gandhi
|

Cart



