Hi Anupam,
Please try this stylesheet
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" />
<xsl:template match="/">
Node: Start End
<xsl:for-each select="//reg">
<xsl:value-of select="." />:
<xsl:choose>
<xsl:when test="position() = 1">
1
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="sum(preceding::reg/@count)+1" />
</xsl:otherwise>
</xsl:choose> -
<xsl:choose>
<xsl:when test="position() = 1">
<xsl:value-of select="@count" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@count + sum(preceding::reg/@count)" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Regards,
Mukul
On 9/8/05, Agnisys Technology (P) Ltd. <agnisys(_at_)yahoo(_dot_)com> wrote:
Hi,
I have seen past postings about the fact that variables cannot be updated.
But I'm not sure how
to solve the following problem without variable update!
Input:
<top>
<a>
<reg count="5"> A0 </reg>
<reg count="10"> A1 </reg>
</a>
<a>
<reg count="10"> A2 </reg>
</a>
</top>
Output:
Node : start end
A0 : 1 - 5
A1 : 6 - 15
A2 : 16 - 25
--------------------------
So basically output of any node <reg> is based on all the <reg> nodes that
have been processed
before it. If I could use a temporary variable, I would have just kept a
running total of the
total "count" prior to processing that node.
Could someone suggest a solution or give me some pointer?
Thanks,
Anupam.
--~------------------------------------------------------------------
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>
--~--