|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Generic sort using multiple columns
I think that when it gets to this level of complexity, you should seriously consider generating a stylesheet containing xsl:sort elements to reflect the chosen sort order. If you're running client side, the extra processing cost probably won't be noticeable. Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Kyle Himmerick > Sent: 27 October 2003 05:48 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: Generic sort using multiple columns > > > Hello, > I need to allow users to sort data by multiple columns (primary, > secondary, tertiary etc). > > I'm trying to keep it as generic as possible. For example, the user > might choose to sort by column 1 asc, column 2 desc and > column 3 asc. > I'll handle this as a list control where they can change the > sort order > on each column (ie 1st click sorts column asc, 2nd click sorts column > desc, 3rd click removes sort without affecting any other columns that > may be sorted). So precedence will be in the order the > elements appear > (or left to right when displayed). > > I am already doing a dynamic sort using: > > <xsl:for-each select="DATA"> > <xsl:sort select="*[name()=$orderby]" order="{$order}" > data-type="{$ordertype}"/> > <xsl:apply-templates select="."/> > </xsl:for-each> > > My web page is passing in these three variables orderby, order and > ordertype. This works well but does not meet my above requirement. > > I can fight with constructing parameters to be passed into the > stylesheet, but I'm stuck as to how I can actually apply them. > > sample xml format: > <LIST> > <DATA> > <firstName>Kyle</firstName> > <phone>123.313.1234</phone> > <job>grunt</job> > </DATA> > <DATA> > <firstName>Joe</firstName> > <phone>312.123.1234</phone> > <job>boss</job> > </DATA> > </LIST> > > maybe > $asc = 'firstName, job' > $desc = 'phone' > > - or - > > $orderby=firstName, phone, job > $order=asc,desc,asc > $type=text,number,text > > Has anyone seen this done or have any ideas? > > Thanks for your help. > -Kyle > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








