如何使用 xsl:sort 检索最大值

How to retrieve max value with xsl:sort

我有一个 xml 文件,其中包含多个 'advert' 类型的元素。这最后包含一个子元素价格。

我想使用浏览所有项目的 xsl:sortxsl:for-each 提取最高价格值。

正如其他成员的评论所述,max 可以简单地按原样使用,不需要 xslt sort 和 xslt for-each。

为了能够在 xsl 中按原样使用 xsl,这里有一段简单的代码可以尝试:

<xsl:variable name="the_max">
<xsl:for-each select="Node/Item/year">
<xsl:sort data-type="number" order="descending"/>
<xsl:if test="position()=1"><xsl:value-of select="."/></xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="$the_max"/>

使用 XSL 值如下:

<?xml version="1.0" encoding="UTF-8"?>
<Node>
<Item><year>1985</year></Item>
<Item><year>1986</year></Item>
<Item><year>1987</year></Item>
<Item><year>1988</year></Item>
<Item><year>1989</year></Item>
<Item><year>1909</year></Item>
<Item><year>1991</year></Item>
<Item><year>1992</year></Item>
<Item><year>1993</year></Item>
<Item><year>1994</year></Item>
<Item><year>1995</year></Item>
<Item><year>1996</year></Item>
</Node>