|
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 |