xsl-list
[Top] [All Lists]

RE: Sorting by days of the week

2003-12-23 02:13:00

I need to sort my output by days of the week. i.e. I have a 
element called 'dayCode' which can contain one of the 
following values: MON1, MON2, TUE1, TUE2, WED1, WED2, THU1, 
THU2, FRI1, FRI2 etc etc

I've tried using <xsl:sort select="dayCode" 
order="ascending"/> but as you would expect, the output order 
is FRI, MON, THU, TUE, WED.

Is there a way to do this kind or sort??


Sort on

  translate(.,"OUEHRANSMTWF", "1234569")

if you want Sunday last, or

  translate(.,"OUEHRANSMTWF", "1234560")

if you want Sunday first. Not tested.

Another approach is to sort (numerically) on 

  string-length(substring-before("MON TUE WED THU FRI SAT SUN", .)) 

For a cleaner solution, use an XSLT 2.0 function (or an XSLT 1.0
extension function) to map "MON" to 1, "TUE" to 2, etc.

Michael Kay


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



<Prev in Thread] Current Thread [Next in Thread>