tags:

views:

33

answers:

1

how to find greatest 2 numbers out of 3 numbers. like in following example.

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

for the above code xslt should display "10 12"

help me to do it.

Thanks in advance!!!

+2  A: 

This will work:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;

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

It sorts the numbers in descending order, and the "num" template only outputs when it is not the last node.

Oded
what should i do to add those 2 numbers and display the result?
brainless