Re: [xsl] Help regarding xsl:for-each-group

Subject: Re: [xsl] Help regarding xsl:for-each-group
From: "J.S. Rawat jogarawat@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 27 Mar 2025 15:33:58 -0000
thanks Michael, I tried above code, but the result is as below"

<idxentry
id="idx1"><ie_f>Paragraph</ie_f><ie_s>Paragraph</ie_s><ie_t>Paragraph
</ie_t></idxentry>
<idxentry
id="idx2"><ie_f>Entry1</ie_f><ie_s>Entry1</ie_s><ie_t>Entry1</ie_t></idxentry
>
...

On Wed, Mar 26, 2025 at 10:57b/PM Michael Kay michaelkay90@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> I think you want something along the lines
>
> <xsl:for-each-group select="*"
group-starting-with="w:p[.//@w:val='Indexentry']">
>    <idxentry id="idx{position()}">
>       <ie_t><xsl:value-of select=".//w:t"/></ie_t>
>       <xsl:for-each-group select="current-group()"
group-starting-with="w:p[.//@w:val='Indexsubentry']">
>          <ie_s>...</ie_s>
>          <xsl:for-each-group select="current-group()"
group-starting-with="w:p[.//@w:val='Indexsubentry']">
>              <ie_t>...</ie_t>
>          </xsl:for-each-group>
>       </xsl:for-each-group>
>    </idxentry>
> </xsl:for-each-group>
>
>
> > On 26 Mar 2025, at 16:37, J.S. Rawat jogarawat@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > Hi All,
> > I have generated the below output by another method in xsl version
> > 1.0. Can we get this result by using for-each-group.
> >
> > INPUT
> > <w:body>
> > <w:p><w:pPr><w:pStyle
> > w:val="ParaFL"/></w:pPr><w:r><w:t>Paragraph</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexentry"/></w:pPr><w:r><w:t>Entry1</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexentry"/></w:pPr><w:r><w:t>Entry2</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexsubentry"/></w:pPr><w:r><w:t>Subentry1</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexsubentry"/></w:pPr><w:r><w:t>Subentry2</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexentry"/></w:pPr><w:r><w:t>Entry3</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexentry"/></w:pPr><w:r><w:t>Entry4</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexsubentry"/></w:pPr><w:r><w:t>Subentry3</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> >
w:val="Indexsubsubentry"/></w:pPr><w:r><w:t>Subsubentry1</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexsubentry"/></w:pPr><w:r><w:t>Subentry4</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> >
w:val="Indexsubsubentry"/></w:pPr><w:r><w:t>Subsubentry2</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> >
w:val="Indexsubsubentry"/></w:pPr><w:r><w:t>Subsubentry3</w:t></w:r></w:p>
> > <w:p><w:pPr><w:pStyle
> > w:val="Indexentry"/></w:pPr><w:r><w:t>Entry5</w:t></w:r></w:p>
> > </w:body>
> >
> > OUTPUT
> > <p class="textfl">Paragraph</p>
> > <div>
> > <idxentry id="idx1"><ie_f>Entry1</ie_f></idxentry>
> > <idxentry
id="idx2"><ie_f>Entry2</ie_f><ie_s>Subentry1</ie_s><ie_s>Subentry2</ie_s></id
xentry>
> > <idxentry id="idx3"><ie_f>Entry3</ie_f></idxentry>
> > <idxentry
id="idx4"><ie_f>Entry4</ie_f><ie_s>Subentry3</ie_s><ie_t>Subsubentry1</ie_t><
ie_s>Subentry4</ie_s><ie_t>Subsubentry2</ie_t><ie_t>Subsubentry3</ie_t>
> > <idxentry id="idx5"><ie_f>Entry5</ie_f></idxentry></idxentry>
> > </div>
> >
> > thanks
> > ...JSR

Current Thread