RE: [xsl] Sorting values that contain spaces

Subject: RE: [xsl] Sorting values that contain spaces
From: Mike Ferrando <mikeferrando@xxxxxxxxx>
Date: Fri, 22 Jul 2005 09:22:49 -0700 (PDT)
Michael Kay,
This is really awesome!

How would this be expressed in XSLT 1.0.

The xsl:sort attribute @collation is a bit mystical to me.

Mike Ferrando
Library Technician
Library of Congress
Washington, DC
202-707-4454

--- Michael Kay <mike@xxxxxxxxxxxx> wrote:

> 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@xxxxxxxxx [mailto:JBryant@xxxxxxxxx] 
> > Sent: 21 July 2005 19:50
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > 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@xxxxxxxxxxxx> 
> > 07/21/2005 12:47 PM
> > Please respond to
> > xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > 
> > 
> > To
> > <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> > 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@xxxxxxxxx [mailto:JBryant@xxxxxxxxx] 
> > > Sent: 21 July 2005 17:57
> > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > > 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)
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Current Thread