[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] How to do this without updating a variable?
Subject: Re: [xsl] How to do this without updating a variable? From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx> Date: Thu, 8 Sep 2005 22:03:13 +0530 |
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@xxxxxxxxx> 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.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to do this without up, Agnisys Technology \ | Thread | RE: [xsl] Apply-templates - how to , Michael Kay |
RE: [xsl] custom xsl sorting, Michael Kay | Date | RE: [xsl] Merging lines of 3 words , Michael Kay |
Month |