Управляющие структуры XSLT! - PullRequest
1 голос
/ 02 августа 2010

как найти самые большие 2 числа из 3 чисел.как в следующем примере.

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

для приведенного выше кода xslt должно отображать «10 12»

помогите мне сделать это.заранее !!!

1 Ответ

2 голосов
/ 02 августа 2010

Это будет работать:

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

Сортирует числа в порядке убывания, а шаблон "num" выводит только тогда, когда это не последний узел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...