xsl-list
[Top] [All Lists]

RE: Grouping

2003-03-24 01:55:42
Hi,

See FAQ entry <http://www.dpawson.co.uk/xsl/sect2/N4486.html#d981e94>.

I have this xml:

<root>
      <child></child>
      <child></child>
      <child></child>
      <child></child>
      <child></child>
      <child></child>
      <child></child>
      <child></child>
      <child></child>
      <child></child>
</root>

and i have to write an xsl that gives this output:

<?xml version="1.0" encoding="UTF-8"?>
<root>
      <parent>
              <child></child>
              <child></child>
      </parent>
      <parent>
              <child></child>
              <child></child>
      </parent>       
      <parent>
              <child></child>
              <child></child>
      </parent>       
      <parent>
              <child></child>
              <child></child>
      </parent>
      <parent>
              <child></child>
              <child></child>
      </parent>
</root>

that is a grouping of 2 child, but this number is not a 
constant, instead it is a parameter.

<xsl:param name="n" select="2" />

<xsl:template match="root">
  <xsl:copy>
    <xsl:for-each select="child[position() mod $n = 1]">
      <parent>
        <xsl:copy-of select=". | following-sibling::child[position() &lt; $n]" 
/>
      </parent>
    </xsl:for-each>
  </xsl:copy>
</xsl:template>

Cheers,

Jarno - L´âme Immortelle: Tiefster Winter

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>
  • Grouping, Tevoi Andrea
    • RE: Grouping, Jarno . Elovirta <=