I tried this:
<xsl:for-each-group select="Song"
group-by="substring(Year, 1, 3)">
<p>Decade: <xsl:value-of
select="current-grouping-key()"/>0's</p>
<xsl:for-each-group select="current-group()"
group-by="Title">
<p style="margin-left: 1pc;">
<xsl:apply-templates
select="current-group()/Title"/>
</p>
</xsl:for-each-group>
</xsl:for-each-group>
but still get two "Strangers in the Night". I've also
tried every other permutation of this I can think of.
Same result.
--- Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
Just do another level of grouping:
<xsl:for-each-group select="current-group()"
group-by="Title">
.. output details of this title ..
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Smith, Donald
[mailto:DSmith(_at_)innodata-isogen(_dot_)com]
Sent: 29 March 2006 17:32
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Filtering out duplicates in
current-group()
Given this source:
<Playlist>
<Song order="5" id="c95">
<Title>Maneater</Title>
<Artist>Hall and Oates</Artist>
<Album>H20</Album>
<Year>1982</Year>
</Song>
<Song order="13" id="c49">
<Title>Strangers In The Night</Title>
<Artist>Frank Sinatra</Artist>
<Album>Reprise Collection Boxed Set</Album>
<Year>1966</Year>
</Song>
<Song order="8" id="c22">
<Title>Strangers In The Night</Title>
<Artist>Frank Sinatra</Artist>
<Album>Your Hit Parade - '60s
Instrumentals</Album>
<Year>1960</Year>
</Song>
</Playlist>
And given the following templates from my
stylesheet:
<xsl:template match="Playlist">
<h1>Songs By Decade</h1>
<xsl:for-each-group select="Song"
group-by="substring(Year, 1, 3)">
<p>Decade: <xsl:value-of
select="current-grouping-key()"/>0's</p>
<p style="margin-left: 1pc;">
<xsl:apply-templates
select="current-group()/Title" />
</p>
</xsl:for-each-group>
</xsl:template>
<xsl:template match="Title">
<xsl:apply-templates select="." /><br/>
</xsl:template>
How do I filter the current group so that the same
song doesn't occur
more than once for a decade (that is, so I don't
get "Strangers In the
Night" more than once for the 60's)?
Thanks,
Don
--~------------------------------------------------------------------
XSL-List info and archive:
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive:
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--