Предположим, у меня есть переменные $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>
и проверять все комбинации, но я бы предпочел меньшее решение.