Yikes! I spoke too soon, it didn't work. If I use the code ->
<xsl:for-each select="fact"> <xsl:if test="name = 'MAIN::SNPRank'"> <tr width="80%" align="center"> <xsl:for-each select="slot"> <xsl:sort select="slot[name='rank']/@value" data-type="number"/> <td align="center"> <xsl:value-of select="value"/> </td> </xsl:for-each> </tr> </xsl:if> </xsl:for-each>
With this code, I at first thought it was working, but then I realized that it was just returning the rows in the order that you entered the data. So if I use this XML ->
<fact> <name>MAIN::SNPRank</name> <slot> <name>id</name> <value type='STRING'>rs4525</value> </slot> <slot> <name>rank</name> <value type='STRING'>0.60</value> </slot> <slot> <name>category</name> <value type='STRING'>nonsynonymous</value> </slot></fact><fact> <name>MAIN::SNPRank</name> <slot> <name>id</name> <value type='STRING'>rs405509</value> </slot> <slot> <name>rank</name> <value type='STRING'>0.20</value> </slot> <slot> <name>category</name> <value type='STRING'>locus-region</value> </slot></fact><fact> <name>MAIN::SNPRank</name> <slot> <name>id</name> <value type='STRING'>rs13266634</value> </slot> <slot> <name>rank</name> <value type='STRING'>0.60</value> </slot> <slot> <name>category</name> <value type='STRING'>nonsynonymous</value> </slot></fact>
I get back this result ->rs4525 0.60 nonsynonymousrs405509 0.20 locus-regionrs13266634 0.60 nonsynonymousI also tried adding on order="ascending" as well as order="descending", still it's not looking like it's sorting.Does anyone have any other possible thoughts? I'd really be very appreciative if someone could help me figure this out.