xsl-list
[Top] [All Lists]

Re: can the Muenchian method do this?

2006-01-03 20:31:15
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?

Dan

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

I would like to select a distinct value based on a sibling. I know that
the Muenchian method is used to select distinct values, but can I give
it
another variable to look at?

Here is my xml:
<songlist>
<song>
<Artist>J-Live</Artist>
<Genre>Rap</Genre>
</song>
<song>
<Artist>Phish</Artist>
<Genre>Rock</Genre>
</song>
<song>
<Artist>J-Live</Artist>
<Genre>Rap</Genre>
</song>
<song>
<Artist>Jay-Z</Artist>
<Genre>Rap</Genre>
</song>
</songlist>

I would like to select all the artists whose Genre is 'Rap' but not have
duplicates. So my return set would be 'J-Live, Jay-Z'

Is this possible? I know I can do this with recursion, but obviously the
Muenchian method is preferred.

Normal xpath will do:

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

<xsl:template match="/">
      <xsl:apply-templates select="/songlist/song[Genre = 'Rap'][Artist
!preceding-sibling::song/Artist]"/>
</xsl:template>

<xsl:template match="song">
      <xsl:value-of select="Artist"/>
      <xsl:if test="position() != last()">, </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>
--~--