xsl-list
[Top] [All Lists]

Re: Text Sort Problem

2005-09-10 01:51:02
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(_at_)gmx(_dot_)de> 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(_at_)nag(_dot_)co(_dot_)uk>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
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
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




-- 
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.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>