This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Sort problem
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Sort problem
- From: "Eyal Shneider" <Eyal at ISPFocus dot com>
- Date: Fri, 26 Jan 2001 13:43:38 +0200
- Reply-To: xsl-list at lists dot mulberrytech dot com
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