Re: [xsl] Nested for-each-group and current-group()

Subject: Re: [xsl] Nested for-each-group and current-group()
From: "Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 11 May 2020 16:15:40 -0000
On 11.05.2020 17:47, Wendell Piez wapiez@xxxxxxxxxxxxxxx wrote:

Alternatively, if you wish to continue using xsl:apply-templates
idiomatically and capture all nodes in traversal without the ungainly
"current-group()/node()", you could write

<xsl:for-each select="current-group()">

I think Rick already did a similar thing in the stylesheet that he posted 4 mins before your message. He introduced two xsl:for-each instructions (gasp!), thereby totally marring his or rather, his stylesheetbs HOAXCoQS [1] score, from 26.32 down to 19.05!


However, note that this will get you a demerit in certain automated assessments of XSLT code "quality", which disparage any use of for-each even for simple context switching. (Right Gerrit? ;-)

Thatbs true, but you can compensate it by using xsl:apply-templates idiomatically, for example. Or another level of nested grouping just for the score of it.

Grouping is never bad, ask Michael MC<ller-Hillebrand.


Cheers, Wendell

On Mon, May 11, 2020 at 10:44 AM Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

Am 11.05.2020 um 16:34 schrieb Rick Quatro rick@xxxxxxxxxxxxxx:

I am using nested xsl:for-each-group constructs but I don't get the inner <ul> elements. I think I am incorrect in my use of current-grouping-key() or current-group() on the inner group. Thanks in advance.

I think you need to process the child nodes of the current group with e.g. current-group()/* in your inner grouping.

Current Thread