Subject: Re: [xsl] Add numbers From: Steve <subsume@xxxxxxxxx> Date: Tue, 9 Oct 2007 11:11:23 -0400 |
Woops. haven't had my coffee today. Disregard. On 10/9/07, Steve <subsume@xxxxxxxxx> wrote: > <xsl:template match="first/second[1]"> > <xsl:param name="sum">0</xsl:param> > <xsl:apply-templates select="following-sibling::first/second"> > <xsl:with-param name="sum" select="sum(a/@val)" /> > </xsl:apply-templates> > <xsl:if test="not(following-sibling::first/second)"> > <xsl:value-of select="$sum + sum(a/@val)" /> > </xsl:if> > </xsl:template> > > On 10/9/07, Chaudhary, Harsh <HCHAUDHA@xxxxxxxxx> wrote: > > Hi, > > > > I have an XML: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <first> > > <second> > > <a val="4" key="one">b</a> > > <a val="2" key="two">b</a> > > </second> > > <second> > > <a val="3" key="one">c</a> > > </second> > > </first> > > > > I need to group together the nodes which have the same key and then I > > need to add the attribute "val" in all such cases. > > > > So, The output I need is: > > > > <op> > > <one> > > <val>7</val> > > </one> > > <two> > > <val>2</val> > > </two> > > </op> > > > > How do I go about doing this? I am using Xalan and XSLT 1.0. > > > > I have used the Meunichian method to group the nodes with same keys > > together. But I don't know how to proceed from there. I tried using the > > sum() function but it won't work for me on account that even if I run a > > for-each loop over the set of nodes with the same key, it just prints > > out the value of "val" for each a element. I think I need to be in the > > parent element for this to work. > > > > Thanks, > > Harsh.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Add numbers, Steve | Thread | Re: [xsl] Add numbers, Wendell Piez |
Re: [xsl] Add numbers, Steve | Date | Re: [xsl] specifying an alternate X, Wendell Piez |
Month |