xsl-list
[Top] [All Lists]

Problem with Formatting a string.

2005-07-19 02:43:19

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


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



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