xsl-list
[Top] [All Lists]

RE: Sorting values that contain spaces

2005-07-21 12:30:07
The simplest answer is probably to invoke the "codepoint collation"
which collates every character according to its numeric Unicode value.

Would that give a different output than this: <xsl:sort
select="normalize-space(@name)"/> ?


-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com] 
Sent: Thursday, July 21, 2005 12:27 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Sorting values that contain spaces


The simplest answer is probably to invoke the "codepoint collation"
which collates every character according to its numeric Unicode value.
You can invoke this using 

<xsl:sort
collation="http://www.w3.org/2005/04/xpath-functions/collation/codepoint
"/>

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

-----Original Message-----
From: JBryant(_at_)s-s-t(_dot_)com [mailto:JBryant(_at_)s-s-t(_dot_)com]
Sent: 21 July 2005 19:50
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Sorting values that contain spaces

Hi, Mike,

I'm using Saxon 8.4, but I tested it with Xalan-J 2.4.1 and
got the same 
result (I guess you and the Xalan folks chose the same implementation 
scheme).

Lazy bum that I am, I was hoping for a method that wouldn't
require a Java 
extension, but I guess I'll go tinker with Java and see what 
I can do. 
I've already extended Saxon with my own Java class (to get a list of 
filenames from a directory), so it's not a total mystery.

The source code for Saxon must include at least one collation class
already, so I'll start with that and the Java API reference. 
Any advice or 
samples of collation classes that you might be able to point 
to would be 
much appreciated, of course.

Thanks.

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)





"Michael Kay" <mike(_at_)saxonica(_dot_)com>
07/21/2005 12:47 PM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com


To
<xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
cc

Subject
RE: [xsl] Sorting values that contain spaces






Collating sequences are implementation-defined, so you need
to say which
processor you are using.

XSLT 2.0 and Saxon 8 give you control over the choice of collating
sequence
(though you need to understand the underlying Java mechanisms 
pretty well 
to
exploit this).

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

-----Original Message-----
From: JBryant(_at_)s-s-t(_dot_)com [mailto:JBryant(_at_)s-s-t(_dot_)com]
Sent: 21 July 2005 17:57
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Sorting values that contain spaces

Given input like this (a list of SQL table names):

<tables>
  <table name="Claim"/>
  <table name="Claim Aggregate Queue"/>
  <table name="Claimant"/>
  <table name="Claim Association Fact"/>
</tables>

And XSL like this:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

  <xsl:template match="tables">
    <xsl:for-each select="table">
      <xsl:sort select="@name"/>
      <xsl:value-of select="@name"/><xsl:if test="not(position() =
last())"><xsl:text>, </xsl:text></xsl:if>
    </xsl:for-each>
  </xsl:template>

</xsl:stylesheet>

I get this:

Claim, Claim Aggregate Queue, Claimant, Claim Association Fact

I would like to get this:

Claim, Claim Aggregate Queue, Claim Association Fact, Claimant

How can I get that?

I checked the FAQ and various archives of the list, but I
didn't find
anything on target.

Thanks.

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)


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




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


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