[xsl] Problem with Formatting a string.

Subject: [xsl] Problem with Formatting a string.
From: "Lakshmi narayana" <lchintala@xxxxxxxxxxxx>
Date: Tue, 19 Jul 2005 14:43:19 +0500
Hi List,

I want to format a number based on condition. I wrote a template which does
1. Input parameter is a string to the template.
2. Count number of dots in the string.
for eg: if input string : 'SH-12.3.4' then number of dots = 2
3. Format the sequence attribute for that node based on the number of dots.
see the following xslt code.
<xsl:template name="NewName">
<xsl:param name="strRep" />
<xsl:variable name="nrdots" select="string-length($strRep) -
string-length(translate($strRep, '.', ''))" />
<xsl:choose>
	<xsl:when test="$nrdots = 0">
		<xsl:value-of
select="concat($strRep,concat('.',format-number(./@Sequence,'0')))"/>
	</xsl:when>
	<xsl:when test="$nrdots = 1">
		<xsl:value-of
select="concat($strRep,concat('.',format-number(./@Sequence,'00')))"/>
	</xsl:when>
	<xsl:when test="$nrdots = 2">
		<xsl:value-of
select="concat($strRep,concat('.',format-number(./@Sequence,'000')))"/>
	</xsl:when>
	<xsl:when test="$nrdots = 3">
		<xsl:value-of
select="concat($strRep,concat('.',format-number(./@Sequence,'0000')))"/>
	</xsl:when>
</xsl:choose>
</xsl:template>

4. Suppose there are 4 dots, I have to add one more when statement. I have
to add n number of conditions for n-possible values.
5. What I want is, a template which automatically formats based on the
number of dots.

Can any one send me the standard template for this.

Thanks
Ch. Laxmi Narayana Babu

Current Thread