[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Have a follow-up question to replacing for-each-group with for-each using muenchian grouping. - is there a way to do nested grouping using for-each loops by this method? This is the nested loop I have (it is defined inside a template):
<xsl:for-each-group select="//*[count(ancestor-or-self::*) = 3 group-by="@name">
<xsl:for-each-group select="current-group()/*" group-by="@name">
<xsl:value-of select="sum(current-group()/descendant::value)"/>
As you will notice, I am using the first loop's current-group() in the second loop. I am basically trying to replace the second loop using for-each. I tried defining an equivalent xsl:key inside the first loop but then realized it's an error to define one inside a template.
Any help is appreciated.
<xsl:key name="k" match="/*/*/*" use="@name"/>
David
_________________________________________________________________
Best Shaadi proposals by email. Register now. http://ss1.richmedia.in/recurl.asp?pid=106
Re: [xsl] Alternative for current-group()
Subject: Re: [xsl] Alternative for current-group() From: "Bhaskar _" <bhaskarji@xxxxxxxxxxx> Date: Thu, 12 Jul 2007 14:21:53 +0000 |
Have a follow-up question to replacing for-each-group with for-each using muenchian grouping. - is there a way to do nested grouping using for-each loops by this method? This is the nested loop I have (it is defined inside a template):
<xsl:for-each-group select="//*[count(ancestor-or-self::*) = 3 group-by="@name">
<xsl:for-each-group select="current-group()/*" group-by="@name">
<xsl:value-of select="sum(current-group()/descendant::value)"/>
As you will notice, I am using the first loop's current-group() in the second loop. I am basically trying to replace the second loop using for-each. I tried defining an equivalent xsl:key inside the first loop but then realized it's an error to define one inside a template.
Any help is appreciated.
Thanks, Bhaskar
----Original Message Follows---- From: David Carlisle <davidc@xxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Alternative for current-group() Date: Wed, 4 Jul 2007 17:32:37 +0100
if you are using muenchian grouping, the analogue of current-group() is key()
<xsl:for-each-group select="//*[count(ancestor-or-self::*) = 3 group-by="@name"> <xsl:value-of select="sum(current-group()/descendant::value)"/>
<xsl:key name="k" match="/*/*/*" use="@name"/>
<xsl:for-each select="/*/*/*[generate-id()=generate-id(key('k',@name))]"> <xsl:value-of select="sum(key('k',@name)/descendant::value)"/>
David
________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
_________________________________________________________________
Best Shaadi proposals by email. Register now. http://ss1.richmedia.in/recurl.asp?pid=106
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Alternative for current-g, David Carlisle | Thread | Re: [xsl] Alternative for current-g, David Carlisle |
RE: [xsl] Tricky transformation tas, Michael Kay | Date | Re: [xsl] Alternative for current-g, David Carlisle |
Month |