Sorting in XSLT
I am trying to sort something using XSLT. I am going to give examples.
1. The number of cars is limited to 3.
2. <DealerRating> has a higher priority than <MyRating> as long as DR>0 (Not 0). For example, if DR=3 and MR=2, then rating =3. Or if DR=0 and MR=1, now however, rating =1 because DR=0.
3. Apply some XSLT to Original.xml to get the following Result.xml
<Car name1="Ford" rating1="1" name2="Nissan" rating2="3" name3="Honda" rating3="5"/>
As you can see, the attributes are generated by sorting the <Car> elements in Original.xml in ascending order of rating as described above.
Right now, I am doing this using dom4j. I would like to do this in XSLT.
Note: Don't worry about the XSLT logic which compares <MyRating> and <DealerRating> and then gives me a rating. I have already done that.
My problem is that I would like to sort on the rating1, rating2 and rating3 attributes.
Some pseudocode for my XSLT sorting part (Right now, I parse the Original.xml file using dom4j. Then, I add a <rating> element to the Original.xml after deciding which rating to use in each <Car> element. I don't want to change the Original.xml by inserting my rating attribute.):
<!-- <xsl:sort> on <rating> which I get from my Java code
Then write name1="XXX" and rating1="XXX"
Then write name2="XXX" and rating2="XXX"
Then write name3="XXX" and rating3="XXX"
Any suggestions would be appreciated.