[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: for-each...
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|