[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Grouping


Subject: RE: [xsl] Grouping
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 7 Dec 2005 13:45:12 -0000

This is a classic grouping problem (you've even identified it as such!), and
the classic response is, go see

http://www.jenitennison.com/xslt/grouping

Grouping is a bit tortuous in XSLT 1.0 (as witness the rather confused
thread that followed your question). It becomes very easy in 2.0 with the
new xsl:for-each-group construct.

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



> -----Original Message-----
> From: Phillip B Oldham [mailto:phillip.oldham@xxxxxxxxxx] 
> Sent: 07 December 2005 08:44
> To: Mailing List: XSL
> Subject: [xsl] Grouping
> 
> Hi all
> 
> I've the following xml doc:
> 
> <recordset>
>      <row>
>         <question_id>1</question_id>
>         <answer>blah blah blah...</answer>
>      </row>
>      <row>
>         <question_id>1</question_id>
>         <answer>blah blah blah...</answer>
>      </row>
>      <row>
>         <question_id>2</question_id>
>         <answer>blah blah blah...</answer>
>      </row>
>      <row>
>         <question_id>2</question_id>
>         <answer>blah blah blah...</answer>
>      </row>
>      ...etc...
> </recordset>
> 
> I'd like to be able to group the output so I get the following:
> 
> Answers to question 1:
>      - blah blah blah...
>      - blah blah blah...
> Answers to question 2:
>      - blah blah blah...
>      - blah blah blah...
> ...etc...
> 
> There isn't a fixed number of answers to each question, so 
> grouping on a
> set of say 10 isn't possible. I've tried using preceeding-sibling, but
> can't seem to get anywhere with it.
> 
> Any ideas?
> 
> Phill


Current Thread
Keywords