xsl-list
[Top] [All Lists]

Re: can the Muenchian method do this?

2006-01-04 03:31:03
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>
--~--