|
Subject: [xsl] Re: Multi-level grouping using variables From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Sat, 10 Jan 2004 21:23:21 -0500 |
I have been having a problem with grouping. If I have: ... How can I group each grade, and within each grade, group all tutors with their students?
t:\ftemp>type kakridge.xml <School> <Grade> <Students> <Student> <Name>Bob</Name> <Tutor>Mary Smith</Tutor> </Student> <Student> <Name>Joe</Name> <Tutor>Mike Smith</Tutor> </Student> <Student> <Name>Ken</Name> <Tutor>Mary Smith</Tutor> </Student> </Students> <Name>Kindergarten</Name> </Grade> <Grade> <Students> <Student> <Name>Ted</Name> <Tutor>Mary Smith</Tutor> </Student> <Student> <Name>Sammy</Name> <Tutor>Mike Smith</Tutor> </Student> </Students> <Name>First</Name> </Grade> </School>
t:\ftemp>type kakridge.xsl <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:for-each select="/School/Grade">
<xsl:variable name="students" select="Students/Student"/>
<xsl:for-each select="$students">
<xsl:if test="generate-id(.)=
generate-id($students[Tutor=current()/Tutor])">
Grade: <xsl:value-of select="../../Name"/>
Tutor: <xsl:value-of select="Tutor"/>
Students: <xsl:for-each select="$students[Tutor=current()/Tutor]">
<xsl:if test="position()>1">,</xsl:if>
<xsl:value-of select="Name"/>
</xsl:for-each>
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>Grade: Kindergarten Tutor: Mary Smith Students: Bob,Ken
Grade: Kindergarten Tutor: Mike Smith Students: Joe
Grade: First Tutor: Mary Smith Students: Ted
Grade: First Tutor: Mike Smith Students: Sammy
-- North America (Washington, DC): 3-day XSLT/2-day XSL-FO 2004-03-15 Instructor-led on-site corporate, government & user group training for XSLT and XSL-FO world-wide: please contact us for the details
G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) ISBN 0-13-065196-6 Definitive XSLT and XPath ISBN 0-13-140374-5 Definitive XSL-FO ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath ISBN 1-894049-11-X Practical Formatting Using XSL-FO Member of the XML Guild of Practitioners: http://XMLGuild.info Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Complex grouping problem,, kakridge | Thread | RE: [xsl] Re: Multi-level grouping , kakridge |
| Re: [xsl] UBB Code and XSLT, Karl J. Stubsjoen | Date | RE: [xsl] Complex grouping problem,, kakridge |
| Month |