[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] for-each-group - only get elements in each group


Subject: Re: [xsl] for-each-group - only get elements in each group
From: "G. Ken Holman g.ken.holman@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 20 Jan 2016 19:21:22 -0000

I think what you are missing, Graydon, is that the presence of multiple categories of the same value would produce multiple groups using your suggested technique, not a single group for all of the same value of category. Because of that duplication, the group-by= is needed to consolidate the items into a single group for each category.

I hope this is helpful.

. . . . . . Ken

At 2016-01-20 18:51 +0000, Graydon graydon@xxxxxxxxx wrote:
On Wed, Jan 20, 2016 at 06:25:52PM -0000, Martin Honnen martin.honnen@xxxxxx scripsit:
> Rick Quatro rick@xxxxxxxxxxxxxx wrote:
>
> >There may be instances that I have additional siblings between some of the
> ><Category> elements. I want to grab everything after the first unique
> ><Category> element up to the next unique <Category> element. Thank you.
>
> If you adapt Ken's suggestion to
>
> <xsl:for-each-group select="Cases/Story/(* except Category)"
> group-by="preceding-sibling::Category[1]">
>
> then I think you get what you want.


I must be missing something -- isn't that case precisely why you have
group-starting-with as an attribute to for-each-group?  So

<xsl:for-each-group select="Cases/Story/*" group-starting-with="Category">
    <!-- process the group -->
</xsl:for-each-group>


-- Graydon


--
Check our site for free XML, XSLT, XSL-FO and UBL developer resources |
Free 5-hour lecture:  http://www.CraneSoftwrights.com/links/video.htm |
Crane Softwrights Ltd.             http://www.CraneSoftwrights.com/s/ |
G. Ken Holman                    mailto:gkholman@xxxxxxxxxxxxxxxxxxxx |
Google+ profile:       http://plus.google.com/+GKenHolman-Crane/about |
Legal business disclaimers:     http://www.CraneSoftwrights.com/legal |


--- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus


Current Thread
Keywords