2010-08-02 49 views
1

如何从3个数字中找出最大的2个数字。如下面的例子。XSLT控制结构!

<root> 
    <num>10</num> 
    <num>12</num> 
    <num>8</num> 
</root>

上面的代码XSLT应显示 “10 12”

帮我做这件事。

在此先感谢!

+1

我假设你的意思是输出为“10 12”? – 2010-08-02 13:11:49

+0

它总是3中最大的2吗? – Oded 2010-08-02 13:13:59

+0

不可以任何顺序值。 – brainless 2010-08-02 14:17:13

回答

2

这将工作:

<?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="/"> 
    <xsl:apply-templates select="root/num"> 
    <xsl:sort select="." data-type="number" order="descending" /> 
    </xsl:apply-templates> 
</xsl:template> 

<xsl:template match="num"> 
<xsl:if test="position() != last()"> 
    <xsl:value-of select="." /><xsl:text> </xsl:text> 
</xsl:if> 
</xsl:template> 

</xsl:stylesheet> 

它在降序排序编号,而“民”的模板,只有当它不是最后一个节点输出。

+0

我该怎么做才能添加这两个数字并显示结果? – brainless 2010-08-02 14:22:01