Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries [Thread Prev] >Thread Next - Re: Duplicate XSLT Output Duplicate XSLT OutputTo: NULL Date: 5/3/2005 5:26:00 PM I'm building a guitar website which uses XML and XSLT. http://www.madtim67.com/guitar/index.html You can search either by artist or song. I used the <xsl:if test="contains(artist ,$text1)"> line which worked OK except now I get some duplicate output (go to the website and enter 'a' to see what I mean. I included a unique id node in my xml file to make every record unique. Is there a way that I can check the output the unique id field only once. Heres my XSL page <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:param name="text1" /> <xsl:template match="/"> <html> <head> <link rel="stylesheet" type="text/css" href="mystyle.css" /> <title>Results</title> </head> <body> <table class="three" align="center"> <col width="35%"/> <col width="35%"/> <col width="15%"/> <col width="15%"/> <tr> <th class="head">Artist</th> <th class="head">Song</th> <th class="head">Chord</th> <th class="head">Midi</th> </tr> <xsl:for-each select="cat/links[contains(artist,$text1)]"> <tr> <td><xsl:apply-templates select="./artist"/></td> <td><xsl:apply-templates select="./song"/></td> <xsl:variable name="link1"><xsl:apply-templates select="./chord"/></xsl:variable> <td><a href="{$link1}" target="_blank">view</a></td> <xsl:variable name="link2"><xsl:apply-templates select="./midi"/></xsl:variable> <td><a href="{$link2}" target="_blank">play</a></td> </tr> </xsl:for-each> <xsl:for-each select="cat/links[contains(song,$text1)]"> <tr> <td><xsl:apply-templates select="./artist"/></td> <td><xsl:apply-templates select="./song"/></td> <xsl:variable name="link1"><xsl:apply-templates select="./chord"/></xsl:variable> <td><a href="{$link1}" target="_blank">view</a></td> <xsl:variable name="link2"><xsl:apply-templates select="./midi"/></xsl:variable> <td><a href="{$link2}" target="_blank">play</a></td> </tr> </xsl:for-each> </table> <div align="center"> <a href="javascript:history.go(-1)">Click here to return to search page</a> </div> </body> </html> </xsl:template> </xsl:stylesheet> Heres my XML file <cat> <links> <id>00001</id> <artist>gerry rafferty</artist> <song>baker street</song> <chord>media/gerry_rafferty_-_baker_street.txt</chord> <midi>media/gerry_rafferty_-_baker_street.mid</midi> </links> <links> <id>00002</id> <artist>men at work</artist> <song>down under</song> <chord>media/men_at_work_-_down_under.txt</chord> <midi>media/men_at_work_-_down_under.mid</midi> </links> <links> <id>00003</id> <artist>squeeze</artist> <song>up the junction</song> <chord>media/squeeze_-_up_the_junction.txt</chord> <midi>media/squeeze_-_up_the_junction.mid</midi> </links> <links> <id>00004</id> <artist>steve harley</artist> <song>make me smile</song> <chord>media/steve_harley_-_make_me_smile.txt</chord> <midi>media/steve_harley_-_make_me_smile.mid</midi> </links> </cat> | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
