Il doit être enveloppé dans un <xsl: choose> car c'est un quand. Et mettez en minuscules le "et".
<xsl:choose><xsl:whentest="4 < 5 and 1 < 2"><!-- do something --></xsl:when><xsl:otherwise><!-- do something else --></xsl:otherwise></xsl:choose>
Comme les instructions xsl: if, xsl: when les éléments peuvent avoir un contenu plus élaboré entre leurs balises de début et de fin - par exemple, des éléments de résultat littéraux, des éléments xsl: element ou même des éléments xsl: if et xsl: choose elements - à ajouter l'arbre des résultats. Leurs expressions de test peuvent également utiliser toutes les astuces et opérateurs que l'attribut test de l'élément xsl: if peut utiliser, tels que et, ou, et les appels de fonction, pour créer des expressions booléennes plus complexes.
C'est peut-être une évidence pour le xslt-professionnel, mais pour moi au niveau débutant / intermédiaire, cela m'a laissé perplexe. Je voulais faire exactement la même chose, mais je devais tester une valeur responsetime à partir d'un xml au lieu d'un nombre simple. Suite à ce fil, j'ai essayé ceci:
<xsl:whentest="responsetime/@value >= 5000 and responsetime/@value <= 8999">
qui a généré une erreur. Cela marche:
<xsl:whentest="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
Cependant, je ne comprends pas vraiment pourquoi cela ne fonctionne pas sans number (). Se pourrait-il que sans nombre () la valeur soit traitée comme une chaîne et que vous ne puissiez pas comparer les nombres avec une chaîne?
Quoi qu'il en soit, j'espère que cela permettra à quelqu'un d'économiser beaucoup de recherches ...
Réponses:
Pas tout à fait, le AND doit être en minuscules.
la source
Il doit être enveloppé dans un <xsl: choose> car c'est un quand. Et mettez en minuscules le "et".
la source
Depuis XML.com :
la source
C'est peut-être une évidence pour le xslt-professionnel, mais pour moi au niveau débutant / intermédiaire, cela m'a laissé perplexe. Je voulais faire exactement la même chose, mais je devais tester une valeur responsetime à partir d'un xml au lieu d'un nombre simple. Suite à ce fil, j'ai essayé ceci:
qui a généré une erreur. Cela marche:
Cependant, je ne comprends pas vraiment pourquoi cela ne fonctionne pas sans number (). Se pourrait-il que sans nombre () la valeur soit traitée comme une chaîne et que vous ne puissiez pas comparer les nombres avec une chaîne?
Quoi qu'il en soit, j'espère que cela permettra à quelqu'un d'économiser beaucoup de recherches ...
la source