Subject: Re: looking for best way to group elements
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 8 Sep 2006 23:41:48 +0100
|
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[@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>
|