Subject: RE: [xsl] No to display the values which are already existing From: "Dhananjay Pitani" <dhanu1306@xxxxxxxxxxx> Date: Wed, 25 Jun 2003 21:00:10 +0000 |
From: Américo Albuquerque <melinor@xxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Tengshe, Ashish > Sent: Wednesday, June 25, 2003 7:14 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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@xxxxxxx] > Sent: Wednesday, June 25, 2003 12:48 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] No to display the values which are already existing > > > Hi > > > -----Original Message----- > > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > > Dhananjay Pitani > > Sent: Wednesday, June 25, 2003 6:23 PM > > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > > 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] No to display the values , Américo Albuquerque | Thread | [xsl] Excluding Matches in Template, Karl J. Stubsjoen |
RE: [xsl] No to display the values , Tengshe, Ashish | Date | [xsl] Excluding Matches in Template, Karl J. Stubsjoen |
Month |