我希望让xslt抓住每个字段的出现,在这种情况下是//字段,然后找到保存的最大值并输出......就像下面的工作一样?我之前使用过similair,但我对sort select'“value”有点不确定
<xsl:choose>
<xsl:when test="count(//field1) > 0">
<xsl:for-each select="//field1">
<xsl:sort select="value" order="descending" />
<xsl:if test="position() = 1">
<xsl:value-of select="."/>
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
xml的格式如下所示
<1>
<2>
<field>125</field>
</2>
</1>
<1>
<2>
<field>10</field>
</2>
</1>
<1>
<2>
<field>0</field>
</2>
</1>
(不是我选择的XML格式,但它是我被抛弃使用...在msot情况下这个字段出现28次,但我总是需要最高值。
答案 0 :(得分:1)
尝试使用max()
...
<xsl:value-of select="max(//field)"/>
答案 1 :(得分:1)
不确定XSLT 2,但EXSLT提供math:max
。
<h1>Max value is <xsl:value-of select='math:max(//field)' /></h1>