[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] sort and order xml data according to what user selects from a form
Subject: RE: [xsl] sort and order xml data according to what user selects from a form From: "Lars Huttar" <lars_huttar@xxxxxxx> Date: Fri, 18 Jul 2003 23:51:01 -0500 |
This FAQ item http://www.dpawson.co.uk/xsl/sect2/N6461.html#d6859e950 tells how to set the sort order dynamically. In brief, something like <xsl:sort order="{$order}" select="*[name()=$sortByField]"/> This says "sort elements by their child element whose name is the value of $sortByField". So if $sortByField = 'size', you will be sorting publication elements by the value of their size element child. Let us know if you try this and are still stuck... Lars > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Sergey > Demidenko > Sent: Friday, July 18, 2003 8:37 PM > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] sort and order xml data according to what user selects > from a form > > > I want to be able to sort and order my XML data according to > what the user > selects from a form. > I am quite a novice to XSL and haven't worked with forms that > much at all. > So, when the user selects "size" from the menu, the XML data > would be sorted > by "size" > and when the user selects the ascending radio button, I want > the XML data > order by "ascending" > How would I acomplish this? > > here is the code that I have: > --------------------------------------------------------------------- > <?xml version="1.0" encoding="ISO-8859-1"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:template match="/"> > <html><body> > > <form id="form" method="post" action=""> > Sort by: > <select id="sortby"> > <option selected="selected">title</option> > <option>author</option> > <option>date</option> > <option>citation</option> > <option>pages</option> > <option>size</option> > </select> > Order of: > <input id="descending" name="sortorder" type="radio" > value="descending" > checked="checked" /> > <label for="descending">Descending</label> > <input id="ascending" name="sortorder" type="radio" > value="ascending" /> > <label for="ascending">Ascending</label> > </form> > > <xsl:for-each select="catalog/publication"> > <xsl:sort select="date" order="descending" /> > ... > here where the xml data is displayed > ... > </xsl:for-each> > > </body></html> > </xsl:template> > </xsl:stylesheet> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] sort and order xml data accor, Sergey Demidenko | Thread | Re: [xsl] sort and order xml data a, Sergey Demidenko |
Re: [xsl] Seeking a valid mdash, William BC Crandall | Date | Re: [xsl] sort and order xml data a, Sergey Demidenko |
Month |