Как выбрать наименьшее значение из множества переменных?

Предположим, у меня есть переменные $a, $b, $cи $d, все из которых содержат числа.. Я хотел бы получить наименьшее (наибольшее )значение. Мой типичный подход XSLT 1.0 к этому

<xsl:variable name="minimum">
  <xsl:for-each select="$a | $b | $c | $d">
    <xsl:sort
      select="."
      data-type="number"
      order="ascending" />
    <xsl:if test="position()=1"><xsl:value-of select="." /></xsl:if>
  </xsl:for-each>
</xsl:variable>

Однако мой процессор xslt 1.0 жалуется на

ошибку времени выполнения :файл stylesheet.xslt строка 106 элемент для -каждый
Выражение «выбрать» не оценивается как набор узлов.

Как вычислить минимальное (максимальное )заданных значений?


Конечно, я мог бы использовать длинную последовательность операторов <xsl:when>и проверять все комбинации, но я бы предпочел меньшее решение.

6
задан bitmask 27 April 2012 в 16:45
поделиться