RE: [xsl] Text Sort Problem

Subject: RE: [xsl] Text Sort Problem
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 10 Sep 2005 10:51:57 +0100
boolean(pb_number) returns true if the node pb_number exists and has no
content. I suspect you want a function that returns false for this case: for
example boolean(string(pb_number)) or perhaps
boolean(normalize-space(pb_number)).

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: KrustyDerClown [mailto:KrustyDerClown@xxxxxx] 
> Sent: 10 September 2005 08:44
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] Text Sort Problem
> 
> 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: [xsl] 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
> > 
> ______________________________________________________________
> __________

Current Thread