Tiene que estar envuelto en un <xsl: choose> ya que es un cuándo. Y en minúscula el "y".
<xsl:choose><xsl:whentest="4 < 5 and 1 < 2"><!-- do something --></xsl:when><xsl:otherwise><!-- do something else --></xsl:otherwise></xsl:choose>
Al igual que las instrucciones xsl: if, xsl: cuando los elementos pueden tener contenidos más elaborados entre sus etiquetas de inicio y fin, por ejemplo, elementos de resultado literales, xsl: elementos de elemento, o incluso xsl: if y xsl: elija elementos para agregar a El árbol de resultados. Sus expresiones de prueba también pueden usar todos los trucos y operadores que puede usar el atributo de prueba xsl: if del elemento, como and, or, y llamadas a funciones, para construir expresiones booleanas más complejas.
Tal vez esto sea una obviedad para el xslt-professional, pero para mí a nivel principiante / intermedio, esto me dejó perplejo. Quería hacer exactamente lo mismo, pero tuve que probar un valor de respuesta de un xml en lugar de un número simple. Siguiendo este hilo, probé esto:
<xsl:whentest="responsetime/@value >= 5000 and responsetime/@value <= 8999">
que generó un error Esto funciona:
<xsl:whentest="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
Sin embargo, realmente no entiendo por qué no funciona sin número (). ¿Podría ser que sin número () el valor se trata como una cadena y no se pueden comparar números con una cadena?
De todos modos, espero que esto ahorre mucha búsqueda ...
Respuestas:
No del todo, el AND tiene que estar en minúsculas.
fuente
Tiene que estar envuelto en un <xsl: choose> ya que es un cuándo. Y en minúscula el "y".
fuente
De XML.com :
fuente
Tal vez esto sea una obviedad para el xslt-professional, pero para mí a nivel principiante / intermedio, esto me dejó perplejo. Quería hacer exactamente lo mismo, pero tuve que probar un valor de respuesta de un xml en lugar de un número simple. Siguiendo este hilo, probé esto:
que generó un error Esto funciona:
Sin embargo, realmente no entiendo por qué no funciona sin número (). ¿Podría ser que sin número () el valor se trata como una cadena y no se pueden comparar números con una cadena?
De todos modos, espero que esto ahorre mucha búsqueda ...
fuente