Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] can the Muenchian method do this? [Thread Next] Re: [xsl] can the Muenchian method do this?To: Date: 1/4/2006 5:46:00 AM Hi, I think the solution is fine, but that the line: <xsl:apply-templates select="/songlist/song[Genre = 'Rap'][Artist != preceding-sibling::song/Artist]"/> should have been: <xsl:apply-templates select="/songlist/song[Genre = 'Rap'][not(Artist = preceding-sibling::song/Artist)]"/> Regards, Geert dan@xxxxxxxxxxxxx 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? Dan On 1/3/06, dan@xxxxxxxxxxxxx <dan@xxxxxxxxxxxxx> 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 | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
