I have a question on how to sort based on attribute value.
I have the following source document, and I would like to sort the elements of the track by the value of the title class.
Hope someone can help with this.
<trackList> <track> <location>http://localhost/vmydoc</location> <title class="STD">Data Two</title> </track> <track> <location>http://localhost/vmydoc</location> <title class="SH">Data Three</title> </track> <track> <location>http://localhost/vmydoc</location> <title class="STD">Data Four</title> </track> <track> <location>http://localhost/vmydoc</location> <title class="SH">Data Five</title> </track> </trackList>
The end result should look like this:
<trackList> <track> <location>http://localhost/vmydoc</location> <title class="SH">Data Three</title> </track> <track> <location>http://localhost/vmydoc</location> <title class="SH">Data Five</title> </track> <track> <location>http://localhost/vmydoc</location> <title class="STD">Data Four</title> </track> <track> <location>http://localhost/vmydoc</location> <title class="STD">Data Two</title> </track> </trackList>
I tried the following, but it does not work.
<xsl:for-each-group select="title" group-by="@class"> <xsl:for-each select="current-group()"> <xsl:value-of select="@class" /> </xsl:for-each> </xsl:for-each-group>
Thanks.
source share