Hallo,
<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>
Damit bekommst du das letzte price-Elemente im Dokument (da dein for-each nichts bewirkt).
<xsl:variable name="maxprice">
<xsl:for-each select="//price">
<xsl:sort data-type="number" order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="number(.)" />
</xsl:if>
</xsl:for-each>
</xsl:variable>
Grüße
Thomas