This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Sort problem


mmm... Great.

I tried these sorting lines and it worked:

<xsl:sort
select="translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz
')" order="ascending"/>
<xsl:sort select="pageID" order="ascending"/>
<xsl:sort select="lineID" order="ascending"/>
<xsl:sort select="wordID" order="ascending"/>

Note that the translate() function is not a complete solution for case
convertion (For example - for other languages other than English)
But this is the only solution for now, according to -
http://www.w3.org/TR/xpath#section-String-Functions
I hope this helped...

Eyal.

-----Original Message-----
From: owner-xsl-list@lists.mulberrytech.com
[mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Mick
Sent: Friday, January 26, 2001 1:25 PM
To: xsl-list@lists.mulberrytech.com
Subject: RE: [xsl] Sort problem


The sorting order should be:

word (alphabetical order), pageID, lineID, wordID

but ignoring the fact whether a word start with an upper-case letter or not.
Another example - if I have the following (in the order the words should
appear):

cat, 1, 1, 1
Cat, 1, 1, 2
cat, 1, 1, 3
Dog, 1, 2, 1
dog, 1, 2, 2

the list is ordered by <word> first, and then by <pageID>, <lineID> and
<wordID>. Sorting with <xsl:sort select="."/> on the <word> element gives
me:

cat, 1, 1, 1
cat, 1, 1, 3
Cat, 1, 1, 2
dog, 1, 2, 2
Dog, 1, 2, 1

and puts lower-case letters before upper-case, which is not what I want. Any
ideas again?

-mick




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]