[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: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 20 Jan 2016 18:51:11 -0000

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


Current Thread