Re: [xsl] ?simple position grouping problem

Subject: Re: [xsl] ?simple position grouping problem
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Sat, 3 Jul 2004 09:31:35 +0100
Hi David,

> how do I select only <b>'s that follow particular <y>'s;

In XSLT 2.0, you use group-starting-with to say that you want to group
the child elements of <x> in the order that they appear, with each
group starting with the <y> element. The contents of the group can be
found using current-group() -- the first element in the resulting
sequence will be the <y> element, and the rest will be <b> elements.

  <xsl:for-each-group select="/x/*"
                      group-starting-with="y">
    <y id="{@id}">
      <xsl:copy-of select="current-group()[self::b]" />
    </y>
  </xsl:for-each-group>

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


Current Thread