Hallo zusammen!
Ich möchte gerne aus einer XML-Datei mit mehreren Preis-Elementen den höchsten Preis auslesen, ihn an eine Variable binden, um diese dann dafür zu verwenden, alle Bücher dieser Datei auszugeben, die eben diesen Maximalpreis haben. So hatte ich mir das vorgestellt:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="maxprice">
<xsl:for-each select="//price">
<xsl:sort data-type="number" order="ascending" select="."/>
</xsl:for-each>
<xsl:value-of select="//price[last()]"/>
</xsl:variable>
<xsl:template match="/">
<ROOT>
<xsl:for-each select="//item">
<xsl:if test="price=$maxprice">
<EXPENSIVE>
<TITLE><xsl:value-of select="title"/></TITLE>
<PRICE><xsl:value-of select="price"/></PRICE>
</EXPENSIVE>
</xsl:if>
</xsl:for-each>
</ROOT>
</xsl:template>
</xsl:stylesheet>
Idiotischerweise bekomme ich aber so den minimalen Preis raus, auch wenn ich descending nehme. 5 ist der erste Preis in der Liste. Dass bedeutet also, dass im Bereich der Variablenzuweisung etwas nicht stimmt. Was mache ich denn falsch?
Herzlichen Dank im Voraus,
Carsten