2010-08-02 5 views
1

comment trouver le plus grand 2 nombres sur 3 nombres. comme dans l'exemple suivant.Structures de contrôle XSLT!

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

pour le xslt de code ci-dessus devrait afficher "10 12"

aide-moi à le faire.

Merci d'avance !!!

+1

Je suppose que vous voulez dire que la sortie est "10 12"? –

+0

Est-ce toujours le plus grand 2 sur 3? – Oded

+0

non les valeurs peuvent être dans n'importe quel ordre. – brainless

Répondre

2

Cela fonctionne:

<?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> 

Il trie les nombres dans l'ordre décroissant, et le modèle « num » sorties uniquement quand il est pas le dernier nœud.

+0

que dois-je faire pour ajouter ces 2 chiffres et afficher le résultat? – brainless