[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Sorting Upper-Case first. Microsoft bug?


Subject: Re: [xsl] Sorting Upper-Case first. Microsoft bug?
From: Mukul Gandhi <mukulw3@xxxxxxxxx>
Date: Tue, 5 Aug 2003 07:44:26 -0700 (PDT)

Hi David,
  The spec says that "if data-type is text, the sort
keys should be sorted lexicographically". How you are
describing (or, interpreting) it is correct.. 

i have observed that both MSXML and Xalan interpret
this clause in a certain way, when integer(s)
characters exists in strings. When the strings have
*all alphabets* (either small case or upper-case), how
you have described lexicographic sorting is being
implemented by both MSXML and Xalan .. But when
*integer characters* come in the strings, the
behaviour of processors becomes different..

i have observed that A4138 will come after a4136 , if
case-order is upper-first.. But if the strings were
lets say A and a, then A would come before a if
case-order is upper-first..

it therefore makes me believe that processors(atleast
MSXML and Xalan) treat "all alphabetic" strings
differently than string which have alphabets and
numbers mixed..

Please correct me if i am wrong..

Regards,
Mukul


--- David Carlisle <davidc@xxxxxxxxx> wrote:
> 
>   The 3rd row's integer part is different than
>   2nd(which makes *WA*4138 after *wA*4136 
> 
> I can't see any reason why the later characters
> should have any
> influence on the sorting if the first characters are
> different.
> 
> lexicographic ordering extends an ordering on an
> alphabet to an ordering
> on strings by ordering strings based on the initial
> segment: to compare
> two strings, you take the first position in the
> string where the
> characters differ and then compare that character.
> 
> In this case the first character differs, and W
> comes before w
> so the strings should order that way.
> 
> Saying that the later characters make a difference
> is like saying
> zb comes before ac in a dictionary because b comes
> before c
> isn't it? In a dictionary order, you'd say z comes
> after a so zb comes
> after ac. Surely it is the same here?
> 
> It would be possible to define a collation order
> that does what is
> shown, but I don't think it is sanctioned by XSLT 1,
> namely to say that
> w and W are considered equal a first pass and so if
> possible you sort
> in a case-insensitive way, then only if the entire
> strings are
> considered equal you sort the equivalent strings
> using uppercase-first.
> 
> David
> 
> 
>
________________________________________________________________________
> This e-mail has been scanned for all viruses by Star
> Internet. 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
> 


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

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



Current Thread
Keywords