Est-ce que c'est correct pour le cas où 4 < 5 et 1 < 2 ?
<xsl:when test="4 < 5 AND 1 < 2" >
<!-- do something -->
</xsl:when>
Est-ce que c'est correct pour le cas où 4 < 5 et 1 < 2 ?
<xsl:when test="4 < 5 AND 1 < 2" >
<!-- do something -->
</xsl:when>
De XML.com :
Comme les instructions xsl:if, xsl:when peuvent avoir des contenus plus élaborés plus élaborés entre leurs balises de début et de par exemple, un résultat littéral des éléments xsl:element, ou encore même des éléments xsl:if et xsl:choose à à ajouter à l'arbre de résultats. Leur test peuvent également utiliser toutes les astuces et opérateurs que les éléments xsl:if peut utiliser, par exemple comme and, or, et les appels de fonction, pour construire des expressions booléennes plus complexes. booléennes plus complexes.
Peut-être que c'est une évidence pour le professionnel de xslt, mais pour moi qui suis 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 simple nombre. En suivant ce fil de discussion, j'ai essayé ceci :
<xsl:when test="responsetime/@value >= 5000 and responsetime/@value <= 8999">
ce qui a généré une erreur. Cela fonctionne :
<xsl:when test="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
Je ne comprends pas vraiment pourquoi cela ne fonctionne pas sans number(), cependant. Serait-ce parce que sans number() la valeur est traitée comme une chaîne de caractères et qu'on ne peut pas comparer des nombres avec une chaîne de caractères ?
En tout cas, j'espère que cela évitera à quelqu'un de chercher...
Selon msdn, vous pouvez le faire :
http://msdn.microsoft.com/en-us/library/ms256081%28VS.85%29.aspx
Il existe également d'autres excellentes ressources sur les conditions d'écriture :
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.