Subject: Re: [xsl] Grouping problem From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Mon, 15 Aug 2011 17:36:52 -0500 |
I have an xml grouping problem that has so far defeated me.
...
is it possible to group pairs such that each player occurs only once in each group?
...
I was of the opinion that some form of xsl:for-each-group would suffice but have been unable to devise a group-by expression that works..
t:\ftemp>type hector.xml <?xml version="1.0" encoding="UTF-8"?> <pairings> <pair> <player>player1</player> <player>player2</player> </pair> <pair> <player>player1</player> <player>player3</player> </pair> <pair> <player>player1</player> <player>player4</player> </pair> <pair> <player>player2</player> <player>player3</player> </pair> <pair> <player>player2</player> <player>player4</player> </pair> <pair> <player>player3</player> <player>player4</player> </pair> </pairings>
t:\ftemp>call xslt hector.xml hector.xsl <?xml version="1.0" encoding="utf-8"?><table><pair> <player>player1</player> <player>player2</player> </pair><pair> <player>player3</player> <player>player4</player> </pair></table><table><pair> <player>player1</player> <player>player3</player> </pair><pair> <player>player2</player> <player>player4</player> </pair></table><table><pair> <player>player1</player> <player>player4</player> </pair><pair> <player>player2</player> <player>player3</player> </pair></table> t:\ftemp>type hector.xsl <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <xsl:for-each select="/*/pair"> <xsl:if test="following-sibling::pair[not(player=current()/player)]"> <table> <xsl:copy-of select="."/> <xsl:copy-of select="following-sibling::pair[not(player=current()/player)]"/> </table> </xsl:if> </xsl:for-each> </xsl:template>
</xsl:stylesheet> t:\ftemp>rem Done!
-- Contact us for world-wide XML consulting & instructor-led training Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Grouping problem, graham.heath | Thread | [xsl] using OR in a group-ending-wi, Jeff Wilson |
Re: [xsl] Changing namespaces, David Carlisle | Date | Re: [xsl] Grouping and then more gr, G. Ken Holman |
Month |