[Home] [By Thread] [By Date] [Recent Entries]
Hi there
Following is a sample XML file <MoviesList> <Movie> <Type>General</Type> <Title>Chocolat</Title> </Movie> <Movie> <Type>General</Type> <Title>Billy</Title> </Movie> <Movie> <Type>Mystery</Type> <Title>Ellen Brokovich</Title> </Movie> <Movie> <Type>Mystery</Type> <Title>Pelican Brief</Title> </Movie> <Movie> <Type>Horror</Type> <Title>Nightmare on Elm Street</Title> </Movie> <Movie> <Type>Horror</Type> <Title>Blair Witch Project</Title> </Movie> <Movie> <Type>General</Type> <Title>The Emperor's Groove</Title> </Movie> <Movie> <Type>General</Type> <Title>Toy Story</Title> </Movie> </MoviesList> And I want the output to be as follows - Chocolat Billy Mystery Ellen Brokovich Pelican Brief Horror Nightmare on Elm Street Blair Witch Project The Emperor's Groove Toy Story My XSL file looks like this :- <xsl:variable name="grpTypes" select="'Mystery Horror'"/>
<xsl:template match="text()"/>
?<xsl:template match="Type">
?? <xsl:choose>
???? <xsl:when test="contains($grpTypes, concat(' ', .))">
?????? <xsl:if test="not(. = preceding::Type)">
???????? <xsl:value-of select="concat(., '
')"/>
?????? </xsl:if>
?????? <xsl:value-of select="../Title"/>
???? </xsl:when>
???? <xsl:otherwise>
?????? <xsl:value-of select="../Title"/>
???? </xsl:otherwise>
?? </xsl:choose>
?? <xsl:text>
</xsl:text>
?</xsl:template>But the output I get it is :- Chocolat Billy Mystery Ellen Brokovich Mystery Pelican Brief Horror Nightmare on Elm Street Horror Blair Witch Project The Emperor's Groove Toy Story Any ideas on how to get this done correctly? Thanks in advance. Kanthi
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|

Cart



