xsl-list
[Top] [All Lists]

RE: XSLT Problem - Random Order

2003-10-06 05:18:45
Following style sheet will resolve the issue 

<?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">
      <tr bgcolor="#9acd32">
      <th align="left">Author</th>
      <th align="left">Title</th>

     </tr>

<tr>
<td><xsl:value-of select="books/book[(_at_)category='c3']/title"/></td>
<td><xsl:value-of select="books/book[(_at_)category='c3']/auth"/></td>
</tr>

<tr>
<td><xsl:value-of select="books/book[(_at_)category='c1']/title"/></td>
<td><xsl:value-of select="books/book[(_at_)category='c1']/auth"/></td>
</tr>

<tr>
<td><xsl:value-of select="books/book[(_at_)category='c2']/title"/></td>
<td><xsl:value-of select="books/book[(_at_)category='c2']/auth"/></td>
</tr>

</table>

                        </body>
                </html>

 </xsl:template>
</xsl:stylesheet>

 
/s

-----Original Message-----
From: Saurabh Sinha [mailto:i_am_saurabhsinha(_at_)yahoo(_dot_)co(_dot_)in] 
Sent: 06 October 2003 10:12
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] XSLT Problem - Random Order 


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


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>