Subject: Re: [xsl] XSLT Problem - Random Order From: Mukul Gandhi <mukulgw3@xxxxxxxxx> Date: Mon, 6 Oct 2003 01:56:03 -0700 (PDT) |
Hi Saurabh, From your problem description, it seems that *there should not be <xsl:choose & <xsl:when* . In your XSL, xsl:choose does not have any effect when you are doing xsl:for-each. If you want to see c3 first or c2 first, then it seems you should hardcode the order in the XSL(as I have written in my XSL). I feel you should also not do <xsl:for-each select="//book"> . I feel <xsl:for-each select="book"> is better that //book. a // construct searches the XML to arbitrary depths, which is inefficient. Also, in my opinion, a xsl:for-each is not required for this problem.. Below is the complete XSL -- <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> </head> <body> <table border="1" width="60%" align="center" cellpadding="0"> <tr> <td align="center"> <xsl:value-of select="books/book[@category = 'c3']/title"/> </td> <td align="center"> <xsl:value-of select="books/book[@category = 'c3']/auth"/> </td> </tr> <tr> <td align="center"> <xsl:value-of select="books/book[@category = 'c1']/title"/> </td> <td align="center"> <xsl:value-of select="books/book[@category = 'c1']/auth"/> </td> </tr> <tr> <td align="center"> <xsl:value-of select="books/book[@category = 'c2']/title"/> </td> <td align="center"> <xsl:value-of select="books/book[@category = 'c2']/auth"/> </td> </tr> </table> </body> </html> </xsl:template> </xsl:stylesheet> Hope I understood the problem correctly. Regards, Mukul --- Saurabh Sinha <i_am_saurabhsinha@xxxxxxxxxxx> wrote: > Hi, > > Currently I am facing the following problem while > converting documents into HTML from XML. I need help > to solve this. > > > Thanks, > > Saurabh > > > Problem: > > I want to see the output of books.xml file as > category > wise. In books.xml 3 categories are given c1, c2, c3 > within book elements. I want to see either c3 first > or > c2 first in html output. But everytime it is coming > as > per .xml document. I am writing the books.xml, > books.xsl below. Can you suggest me what specific > command I have to give in .xsl document. > > > books.xml > ---------- > > <?xml version="1.0"?> > <books> > <book category="c1"> > <title>ABC</title> > <auth>XX</auth> > </book> > > <book category="c2"> > <title>SSS</title> > <auth>YY</auth> > </book> > <book category="c3"> > <title>MNB</title> > <auth>ZZ</auth> > </book> > </books> > > > books.xsl > ------------ > > <?xml version="1.0"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:template match="/"> > <html> > <head> > </head> > <body> > <table border="1" width="60%" align="center" > cellpadding="0"> > <xsl:apply-templates/> > </table> > </body> > </html> > </xsl:template> > > > <xsl:template match="books"> > <xsl:for-each select="//book"> > > <xsl:choose> > > <xsl:when test="@category='c3'"> > > <tr> > <td align="center"> > <xsl:value-of select="title"/> > </td> > <td align="center"> > <xsl:value-of select="auth"/> > </td> > </tr> > </xsl:when> > > > <xsl:when test="@category='c1'"> > > <tr> > <td align="center"> > <xsl:value-of select="title"/> > </td> > <td align="center"> > <xsl:value-of select="auth"/> > </td> > </tr> > </xsl:when> > > > <xsl:when test="@category='c2'"> > <tr> > <td align="center"> > <xsl:value-of select="title"/> > </td> > <td align="center"> > <xsl:value-of select="auth"/> > </td> > </tr> > </xsl:when> > > </xsl:choose> > </xsl:for-each> > </xsl:template> > </xsl:stylesheet> > > > > > books.html > ---------- > > Current Output > -------------- > > > Category Author > -------- ------- > > ABC XX > > SSS YY > > MNB ZZ > > > Expected Output > --------------- > > Category Author > -------- ------- > > MNB ZZ > > ABC XX > > SSS YY > > > ________________________________________________________________________ > Yahoo! India Matrimony: Find your partner online. > Go to http://yahoo.shaadi.com > > XSL-List info and archive: > http://www.mulberrytech.com/xsl/xsl-list > __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XSLT Problem - Random Ord, Michael Kay | Thread | [xsl] XSLT Problem - Random Order, Saurabh Sinha |
RE: [xsl] XSLT Problem - Random Ord, Michael Kay | Date | RE: [xsl] XSL:FO - How to wrap non-, David . Pawson |
Month |