RE: [xsl] populating table with sorted elements

Subject: RE: [xsl] populating table with sorted elements
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sun, 30 Jul 2006 09:19:26 +0100
I think this requires two passes: first sorting, then grouping. So it should
be no problem if you are using XSLT 2.0, or XSLT 1.0 with the node-set()
extension. With plain XSLT 1.0 it may be difficult to achieve in a single
pass.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Christian Marc Schmidt [mailto:christianmarc@xxxxxxxxx] 
> Sent: 29 July 2006 15:43
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] populating table with sorted elements
> 
> I am a newcomer to XML/XSLT and am struggling with a bit of 
> code in which I am attempting to populate a six-column table, 
> while allowing an xsl:sort.
> 
> Here is a section of my current code:
> 
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> 
> ...
> 
> <table width="970" border="0" cellspacing="0" cellpadding="0">
>     <xsl:for-each select="xml/work/*[position() mod 6 = 1]">
>         <tr>
>             <xsl:apply-templates
> select=".|following-sibling::*[position() &lt; 6]" />
>         </tr>
>     </xsl:for-each>
> </table>
> 
> ...
> 
> The XML structure I've set up looks like this:
> 
> <xml>
>     <work>
>         <piece>
>         </piece>
>          <piece>
>         </piece>
>         ...
>     </work>
> </xml>
> 
> How would I go about adding sort functionality? It seems like 
> it would be easy enough, yet all of my attempts so far have failed...
> 
> Any suggestions would be much appreciated!
> 
> 
> Christian

Current Thread