RE: [xsl] XSLT Problem - Random Order

Subject: RE: [xsl] XSLT Problem - Random Order
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 6 Oct 2003 09:37:46 +0100
You haven't said what criteria you want to use for sorting - is it
descending order by category name, or what?

You could get the order c3, c2, c1, by adding

<xsl:sort select="@category" order="descending"/>

immediately after the <xsl:for-each>

You have an xsl:choose with three branches, but they are all the same.
This makes it very difficult to understand what exactly you are trying
to achieve.

Michael Kay


> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Saurabh Sinha
> Sent: 06 October 2003 08:13
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> 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


Current Thread