Re: [xsl] For-each-group groups elements before the first group-starting-with element

Subject: Re: [xsl] For-each-group groups elements before the first group-starting-with element
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Tue, 11 May 2010 16:21:53 +0530
Thanks, David.

As per your suggestion, the following change in the stylesheet I
posted, fixes the problem you've mentioned:

<xsl:for-each-group select="body/*" group-starting-with="h1">
    <xsl:if test="self::h1">
        <section>
            <xsl:apply-templates select="current-group()"/>
         </section>
    </xsl:if>
</xsl:for-each-group>

On Tue, May 11, 2010 at 1:54 PM, David Carlisle <davidc@xxxxxxxxx> wrote:
> On 11/05/2010 05:10, Mukul Gandhi wrote:
>>
>> B  B <xsl:for-each-group select="body/*" group-starting-with="h1">
>> B  B  B  B  B  B  B  B <xsl:if test="position()&gt; 1">
>
> That's not safe because if the first element _is_ an h1 you'll miss the
> first headed group. As Michael showed you need to test the element node in
> teh first group, either as Michael showed with apply templates, or
> <xsl:when test="self::h1">.....
> <xsl:otherwise>....
>
> David



--
Regards,
Mukul Gandhi

Current Thread