[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: can the Muenchian method do this?
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 > > http://www.streampad.com username - dan
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|