Thanks , it is working great.
From: Américo Albuquerque <melinor(_at_)sapo(_dot_)pt>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: RE: [xsl] No to display the values which are already existing
Date: Wed, 25 Jun 2003 19:24:13 +0100
Hi
> -----Original Message-----
> From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> [mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
> Tengshe, Ashish
> Sent: Wednesday, June 25, 2003 7:14 PM
> To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> Subject: RE: [xsl] No to display the values which are already existing
>
>
> This is not really accurate. This works only for th given
> sequence, try placing "Dan" and "Steve" Authors in different
> sequence and this breaks. Basically this works only if the
> Element on which the key is generated are in consecutive
> order. I would like the answer too! Thanks, Ashish
Yes, that is true, sorry
Just sort the <Title> elements by the Author and it will work
<xsl:template match="Store">
<table>
<tr>
<td>Author</td>
<td>Title</td>
</tr>
<xsl:apply-templates>
<xsl:sort select="Author"/>
</xsl:apply-templates>
</table>
</xsl:template>
>
> -----Original Message-----
> From: Américo Albuquerque [mailto:melinor(_at_)sapo(_dot_)pt]
> Sent: Wednesday, June 25, 2003 12:48 PM
> To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> Subject: RE: [xsl] No to display the values which are already existing
>
>
> Hi
>
> > -----Original Message-----
> > From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> > [mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
> > Dhananjay Pitani
> > Sent: Wednesday, June 25, 2003 6:23 PM
> > To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
> > Subject: [xsl] No to display the values which are already existing
> >
> >
> > This is my xml
> >
> > <Store>
> > <Title>
> > <Author>Steve</Author>
> > <Name>XSL</Name>
> > </Title>
> > <Title>
> > <Author>Steve</Author>
> > <Name>XML</Name>
> > </Title>
> > <Title>
> > <Author>Dan</Author>
> > <Name>HTML</Name>
> > </Title>
> > <Title>
> > <Author>Dan</Author>
> > <Name>XSL</Name>
> > </Title>
> > </Book>
> >
> > I want to display the above xml as a html table with two
> > columns Author and
> > Titlle. My task is to display the Author's name only once.
> > The output should
> > be like this
> >
> > Author Title
> >
> > Steve XSL
> > XML
> > Dan HTML
> > XSL
> >
>
> You could use a variation of the muenchian method
>
> <xsl:key match="Title" name="list" use="Author"/>
> <xsl:template match="Store">
> <table>
> <tr>
> <td>Author</td>
> <td>Title</td>
> </tr>
> <!-- instead of applying just to the first element of each
> group apply to all -->
> <xsl:apply-templates/>
> </table>
> </xsl:template>
> <xsl:template match="Title">
> <tr>
> <td>
> <!-- display the Author if this is the first element of
> the group -->
> <xsl:if test="generate-id()=generate-id(key('list',Author))">
> <xsl:apply-templates select="Author"/>
> </xsl:if>
> </td>
> <td>
> <xsl:apply-templates select="Name"/>
> </td>
> </tr>
> </xsl:template>
>
>
> Hope this helps you.
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
_________________________________________________________________
Food fit for Kings! Now available online.
http://server1.msn.co.in/features/general/itc/index.asp
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list