xsl-list
[Top] [All Lists]

Re: can the Muenchian method do this?

2006-01-04 08:16:48
Hi Andrew,

Thanks again for your help. Sorry I did not specify exactly what I needed.
That last xls does not return anything either. It might help to see the
xml file - http://www.streampad.com/upload/example.xml and with the xlst -
http://www.streampad.com/upload/exampleXSL.xml (this is a lot smaller than
what it will be)

In this example I would like to get back [2 Pac, Jay-Z].

Thanks,
Dan

On 1/4/06, dan(_at_)streampad(_dot_)com <dan(_at_)streampad(_dot_)com> wrote:
Hi Andrew,

Thanks for the help but unfortunately this is not giving me the results
I
desire. When I run that, it returns an empty set. It also takes a long
time to run. There is no way to use the Muenchian method but base it on
another value in the node?

You didn't say you had a large input set or that performance was
important... This stylesheet uses two keys, one to filter based on
genre, the other to group by Artist (which is the Muenchian method :)

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:key name="song-by-genre" match="song" use="Genre"/>
<xsl:key name="song-by-artist" match="song" use="Artist"/>

<xsl:param name="genre" select="'Rap'"/>

<xsl:template match="/">
  <xsl:apply-templates select="key('song-by-genre', $genre)"/>
</xsl:template>

<xsl:template match="song">
  <xsl:if test="generate-id() = generate-id(key('song-by-artist',
Artist)[1])">
    <xsl:value-of select="Artist"/>
    <xsl:if test="position() != last()">, </xsl:if>
  </xsl:if>
</xsl:template>

</xsl:stylesheet>

cheers
andrew

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




http://www.streampad.com
username - dan


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