[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] for-each...


Subject: RE: [xsl] for-each...
From: Joshua.Kuswadi@xxxxxxxxxxxxxxxxxxxx
Date: Thu, 20 Dec 2001 09:57:57 +1100

Gabor wrote:
> i have a tree of <chapter>s in my xml files,
> and i use this code to generate chapter numbers ( like chapter 1.5.3):
> 
> <xsl:template name = "chapter-prefix">
>         <xsl:for-each select="ancestor-or-self::chapter">
>                 <xsl:value-of 
> select="count(preceding-sibling::chapter)+1" />
>                 <xsl:text>.</xsl:text>
>         </xsl:for-each>
> </xsl:template>
> 
> and it works...
> but it generates for example. 1.5.4. and i want 1.5.4 , i don't need
> that last dot.
> 
> i know i can do it like this:
> 
> <xsl:template name = "chapter-prefix">
> 
> <xsl:variable name="temp">
>         <xsl:for-each select="ancestor-or-self::chapter">
>                 <xsl:value-of 
> select="count(preceding-sibling::chapter)+1" />
>                 <xsl:text>.</xsl:text>
>         </xsl:for-each>
> </xsl:variable>
> <xsl:value-of select="substring($temp,0,string-length($temp))"/>
> 
> </xsl:template>

A suggestion, since you only want the dot/period when there are further child <chapter> elements, try this?
<xsl:template name = "chapter-prefix">
        <xsl:for-each select="ancestor-or-self::chapter">
                <xsl:value-of select="count(preceding-sibling::chapter)+1" />
                <xsl:if test="chapter">
                        <xsl:text>.</xsl:text>
                </xsl:if>
        </xsl:for-each>
</xsl:template>

HTH,
Joshua

------------------------------------------------------------------------------
This message and any attachment is confidential and may be privileged or otherwise protected from disclosure.  If you have received it by mistake please let us know by reply and then delete it from your system; you should not copy the message or disclose its contents to anyone.





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



Current Thread
Keywords
xml