Re: [xsl] Text Table with sorting

Subject: Re: [xsl] Text Table with sorting
From: Ryan Sawatzky <rsawatzky@xxxxxxxxxxx>
Date: Thu, 25 Sep 2003 14:51:06 -0500
Hi Jeni,

This is a tough problem. To be honest, I'd approach it using two
steps: one to do the sorting and the other to arrange the columns. In
other words, create an intermediate representation like:

   <maritalStatus refDate="1997-01-15">marriage</maritalStatus>
   <religion refDate="1996-12-02">Lutheran</religion>
   <maritalStatus refDate="1993-06-24">divorce</maritalStatus>
   <maritalStatus refDate="1989-04-11">marriage</maritalStatus>
   <religion refDate="1968-04-05">Roman Catholic</religion>

(which is simply a matter of sorting by @refDate), and then to your
desired output, using your current method of indexing into the three
node-sets of <maritalStatus>, <religion> and <dateOfBirth> elements.

I like this idea, because I would be able to use my current method of indexing to print the line for tables that get sorted and ones that don't. Coming from a C perspective I get to reuse my current funtion! Yeah :).

However, I'm rather new to XSLT and I don't know how I would generate that intermediate representation. I was under the impression that you could only have a <xsl:sort> element under a <xsl:for-each> element, but upon consulting my big XML book, I see that you can have one under an <xsl:apply-templates> element.

So my question is, where would I put the sort statement? Would I put it under my <xsl:apply-templates select="person"/> statement? And doing that would sort all the children elements of <person> according to their refDate attributes correct?

Thanks for your help,

XSL-List info and archive:

Current Thread