Sortering vha xsl:sort
Jeg har et XML-dokument med nogle data, som jeg ønsker at få sorteret på forskellige felter. Formattet på XML´en ligger fast. Nederst har jeg indsat et eksempel på XML-dokumentet.Jeg har lavet et XSL-dokument, som viser dataene. Jeg kan let vha. xsl:sort sortere på kvartalet. Men hvordan får jeg f.eks. sorteret efter omsætningens størrelse? Hvis omsætning blot havde været et tag med værdien under, var det ikke noget problem. Men når tag´et blot er <felt> med name og value som under-tags, er jeg lidt lost.
Håber, at nogen kan hjælpe.
**************** XSL-dokument ***********************
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Sortering af finanstal</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Kvartal</th>
<th>Omsætning</th>
<th>Dækningsbidrag</th>
<th>Resultat</th>
</tr>
<xsl:for-each select="finanstal/perioder/periode">
<tr><td><xsl:value-of select="kvartal"/></td>
<xsl:for-each select="felter/felt">
<xsl:if test="name = 'omsætning'">
<td><xsl:value-of select="value"/></td>
</xsl:if>
<xsl:if test="name = 'dækningsbidrag'">
<td><xsl:value-of select="value"/></td>
</xsl:if>
<xsl:if test="name = 'resultat'">
<td><xsl:value-of select="value"/></td>
</xsl:if>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
************** XML-dokument ******************
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="sortdata2.xsl" ?>
<finanstal>
<perioder>
<periode>
<kvartal>1-2003</kvartal>
<felter>
<felt>
<name>omsætning</name>
<value>123999</value>
</felt>
<felt>
<name>dækningsbidrag</name>
<value>23456</value>
</felt>
<felt>
<name>resultat</name>
<value>5000</value>
</felt>
</felter>
</periode>
<periode>
<kvartal>2-2003</kvartal>
<felter>
<felt>
<name>omsætning</name>
<value>283374</value>
</felt>
<felt>
<name>dækningsbidrag</name>
<value>150342</value>
</felt>
<felt>
<name>resultat</name>
<value>87300</value>
</felt>
</felter>
</periode>
<periode>
<kvartal>3-2003</kvartal>
<felter>
<felt>
<name>omsætning</name>
<value>143374</value>
</felt>
<felt>
<name>dækningsbidrag</name>
<value>115342</value>
</felt>
<felt>
<name>resultat</name>
<value>67300</value>
</felt>
</felter>
</periode>
</perioder>
</finanstal>