xsl-list
[Top] [All Lists]

Re: [xsl] looking for best way to group elements

2006-09-09 13:14:31

perhaps something like


<xsl:stylesheet version="2.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

  <xsl:output omit-xml-declaration="yes" indent="yes"/>  


  <xsl:template match="group">
    <xsl:variable name="n" select="count(field[(_at_)name='ppl_language'])"/>
    <xsl:for-each-group select="field" group-by="(position()-1) mod $n">
      <div class="group">
      <xsl:for-each select="current-group()">
        <span><xsl:value-of select="@displayName"/></span>
          <span><xsl:value-of select="."/></span>
          </xsl:for-each>
      </div>
    </xsl:for-each-group>
  </xsl:template>

</xsl:stylesheet>

$ saxon8 group.xml  group.xsl
<div class="group">
   <span>Language</span>
   <span> Spanish </span>
   <span>Native?</span>
   <span> Yes </span>
   <span>Spoken</span>
   <span> Fluent </span>
   <span>Written</span>
   <span> Fluent </span>
</div>
<div class="group">
   <span>Language</span>
   <span> Portuguese </span>
   <span>Native?</span>
   <span> No </span>
   <span>Spoken</span>
   <span> Functional </span>
   <span>Written</span>
   <span> Survival
</span>
</div>

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>