Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

order-by

 
Ahmed Haboubi
Ranch Hand
Posts: 36
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When using the order-by parameter in the for-each instruction on numbers, the result is unexpected. For example, you may get the following sorting:
12
5
81
9
It seems like order-by is not treating them as numbers, but rather as text. What is the solution for this?
Thanking you in advance.
 
Scott Collens
Greenhorn
Posts: 20
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You are correct.
The result of the evaluation expression is always converted to a string. Therefore it looks at the first digit in the number for its first filter, then the second and so on. To order the numbers properly you must set the data-type attribute to number.
<xsl:sort select="expression" data-type="number" order="ascending"/>
 
Ahmed Haboubi
Ranch Hand
Posts: 36
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, it worked, Thanks for the help
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic