Re: Text Sort Problem
What about this: ? <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:f="http://fxsl.sf.net/" exclude-result-prefixes="f xs" > <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="t"> <xsl:for-each select="row[normalize-space(pb_number)]"> <xsl:sort select="normalize-space(pb_number)"/> <xsl:copy-of select="."/> </xsl:for-each> <xsl:copy-of select="row[not(normalize-space(pb_number))]"/> </xsl:template> </xsl:stylesheet> The above transformation applied on this source xml: <t> <row> <pb_number></pb_number> </row> <row/> <row> <pb_number>xxyy123</pb_number> </row> <row> <pb_number>xxzz111</pb_number> </row> <row> <pb_number>xxyy124</pb_number> </row> </t> results in: <row> <pb_number>xxyy123</pb_number> </row> <row> <pb_number>xxyy124</pb_number> </row> <row> <pb_number>xxzz111</pb_number> </row> <row> <pb_number/> </row> <row/> Cheers, Dimitre Novatchev On 9/10/05, KrustyDerClown <KrustyDerClown@xxxxxx> wrote: > Hello, > > sorry for the late answer. My problem is not solved. Maybe i am too stupid. > > There is also a little change in my problem. I sort not with > data-type=number, but with the data-typ=text. > > My code looks like this: (pb_number is not really a number. Its a number > with a prefix like PB9999, therefore the sort with data-typ=text) > > <xsl:for-each select="row"> > <xsl:sort select="boolean(pb_number)" order="descending"/> > <xsl:sort select="pb_number" data-type="text"/> > <tr> > <td> > <xsl:value-of select="string"/> > > Result: > > Entries with empty sequenz > CR90 > CR99 > PR90 > > So still the problem is that the entries with an empty sequenz as pb_number > are shown first in the table. > > Can anyone help again ? > > Thank you for your support. > > Greets Oliver > > ----- Original Message ----- > From: "David Carlisle" <davidc@xxxxxxxxx> > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Thursday, August 25, 2005 12:25 AM > Subject: Re: Text Sort Problem > > > > > >> I have a similar problem (with data-type=number) a short time ago ... but > >> the solution at that time doesnt work here for this current problem. > > > > the solution I posted (negating the sort key) doesn't work for non > > numeric keys, but the solution Mike posted (which was probably more > > sensible anyway) does work here. Just have an initial xsl:sort that is > > select="boolean(my_text)" > > as that will sort everything as either "true" or "false" depending on > > whether my_text selects any nodes. so you can then specify ascending or > > descending to control whether the empty case ("false") sorts before or > > after the non-empty case ("true") > > > > David > > > > ________________________________________________________________________ > > This e-mail has been scanned for all viruses by Star. The > > service is powered by MessageLabs. For more information on a proactive > > anti-virus service working around the clock, around the globe, visit: > > http://www.star.net.uk > > ________________________________________________________________________ > > -- Cheers, Dimitre Novatchev --------------------------------------- Harry did not ask how Dumbledore knew; ...but Harry had long since learned that bangs and smoke were more often the marks of ineptitude than expertise.
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