2010-08-02 45 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