Subject: Scripting on XSL elements in ie5 after page is loaded From: "Fillhart, Dana" <dana@xxxxxxxxxxxx> Date: Mon, 22 Feb 1999 15:05:50 -0500 |
I'm trying to allow somebody to sort a table of data based upon a column they choose. Let's use the books example on Microsoft's site: <?xml version="1.0"?> <?xml:stylesheet type="text/xsl" href="bookstyle.xsl"?> <books> <book> <title>Pierre: The Ambiguities</title> <author>Herman Melville</author> <price>9.99</price> </book> <book> <title>Heart of Darkness</title> <author>Joseph Conrad</author> <price>12.99</price> </book> <book> <title>Arrowsmith</title> <author>Sinclair Lewis</author> <price>8.99</price> </book> <book> <title>Oedipus Rex</title> <author>Sophocles</author> <price>8.99</price> </book> <book> <title>The Secret Sharer and Other Stories</title> <author>Joseph Conrad</author> <price>13.99</price> </book> <book> <title>The Republic</title> <author>Plato</author> <price>12.99</price> </book> <book> <title>The Republic</title> <author>Plato</author> <price>15.99</price> </book> <book> <title>Pragmatism</title> <author>William James</author> <price>15.99</price> </book> </books> The bookstyle.xsl stylesheet lays out the table like this: <?xml version="1.0"?> <root xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <head> <title>Book table example</title> </head> <html> <body> <DIV> <input id="btnAscending" type="button" value="Sort Ascending"/> <input id="btnDescending" type="button" value="Sort Descending"/><br/> <TABLE style="table-layout:fixed" BORDER="2" CELLSPACING="2"> <col width="200"/> <col width="200"/> <col width="200"/> <THEAD> <TH id="thAuthor">AUTHOR</TH> <TH id="thTitle">TITLE</TH> <TH id="thPrice">PRICE</TH> </THEAD> <xsl:for-each select="books/book" order-by="+author"> <TR> <TD> <i> <SPAN id="spnAuthor" style="font-weight: bold;"> <xsl:value-of select="author"/> </SPAN> </i> </TD> <TD> <SPAN id="spnTitle"> <xsl:value-of select="title"/> </SPAN> </TD> <TD> <SPAN id="spnPrice"> <xsl:value-of select="price"/> </SPAN> </TD> </TR> </xsl:for-each> </TABLE> </DIV> <input id="btnAuthor" type="button" value="Author"/> <input id="btnTitle" type="button" value="Title"/> <input id="btnPrice" type="button" value="Price"/><br/> </body> </html> </root> Now, the trick is, when the user clicks on one of the buttons at the bottom, I want to, *without reloading the page*, reapply the for-each, and arrange the table columns based upon the one they chose. Or if they click one of the ascending/descending buttons, the table data will be reordered accordingly (again without having the page reload). I've tried <xsl:script> blocks, but ie5's parser complains that "<xsl:script> keyword cannot be used here" (or something to that effect). I can do normal <script>, but I don't know how to programmatically access the xsl elements or methods. Any ideas on how to do what I want to do? I do NOT want to create separate stylesheets for each possible permutation the user may select, then reload the page; that's rediculous, especially if something changes, like a new child element is later introduced in the data and must be sorted upon. Thanks! -- Dana Fillhart Software Engineer Proxicom, Inc. www.proxicom.com (212) 363-6580 ext. 3047 (212) 363-6522 (fax) XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: Q: Attribute value templates, G. Ken Holman | Thread | Wierd IE5B2, Wendy Cameron |
Q: Attribute value templates, Michael J. Koehrsen | Date | RE: CSS/XML in IE5b2 - generated co, Chris Wilson |
Month |