|
Subject: RE: [xsl] Filtering out duplicates in current-group() From: Don Smith <dtsmithisogen@xxxxxxxxx> Date: Wed, 29 Mar 2006 11:21:09 -0800 (PST) |
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@xxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx]
> > Sent: 29 March 2006 17:32
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > 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
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Filtering out duplicates , Michael Kay | Thread | RE: [xsl] Filtering out duplicates , Michael Kay |
| Re: [xsl] XSL template "namespace" , Jon Gorman | Date | Re: [xsl] XSL template "namespace" , Wendell Piez |
| Month |