Он должен быть заключен в <xsl: choose>, поскольку это когда. И строчные буквы «и».
<xsl:choose><xsl:whentest="4 < 5 and 1 < 2"><!-- do something --></xsl:when><xsl:otherwise><!-- do something else --></xsl:otherwise></xsl:choose>
Подобно инструкциям xsl: if, xsl: when элементы могут иметь более сложное содержимое между их начальными и конечными тегами - например, буквальные элементы результата, элементы xsl: element или даже элементы xsl: if и xsl: choose - для добавления к результирующее дерево. Их тестовые выражения также могут использовать все уловки и операторы, которые может использовать атрибут xsl: if элемента test, такие как and, or и вызовы функций, для построения более сложных логических выражений.
Может быть, для xslt-профессионала это не проблема, но для меня на начальном / среднем уровне это озадачило меня. Я хотел сделать то же самое, но мне пришлось протестировать значение времени отклика из xml вместо простого числа. Следуя этой теме, я попробовал это:
<xsl:whentest="responsetime/@value >= 5000 and responsetime/@value <= 8999">
что вызвало ошибку. Это работает:
<xsl:whentest="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
Не совсем понимаю, почему это не работает без number (). Может ли быть, что без number () значение обрабатывается как строка, и вы не можете сравнивать числа со строкой?
В любом случае, надеюсь, это избавит кого-то от многих поисков ...
Ответы:
Не совсем так, AND должно быть в нижнем регистре.
источник
Он должен быть заключен в <xsl: choose>, поскольку это когда. И строчные буквы «и».
источник
С XML.com :
источник
Может быть, для xslt-профессионала это не проблема, но для меня на начальном / среднем уровне это озадачило меня. Я хотел сделать то же самое, но мне пришлось протестировать значение времени отклика из xml вместо простого числа. Следуя этой теме, я попробовал это:
что вызвало ошибку. Это работает:
Не совсем понимаю, почему это не работает без number (). Может ли быть, что без number () значение обрабатывается как строка, и вы не можете сравнивать числа со строкой?
В любом случае, надеюсь, это избавит кого-то от многих поисков ...
источник