Saltar al contenido

¿Cómo especifico “no es igual a” al comparar cadenas en un XSLT? ?

Solución:

Como dice Filburt; pero también tenga en cuenta que normalmente es mejor escribir

test="not(Count="N/A")"

Si hay exactamente un elemento Count, significan lo mismo, pero si no hay Count, o si hay varios, los significados son diferentes.

6 AÑOS DESPUÉS

Dado que esta respuesta parece haberse vuelto popular, pero puede ser un poco críptica para algunos lectores, permítanme expandirla.

El operador “=” y “! =” En XPath puede comparar dos conjuntos de valores. En general, si A y B son conjuntos de valores, entonces “=” devuelve verdadero si hay algún par de valores de A y B que son iguales, mientras que “! =” Devuelve verdadero si hay algún par que sea desigual.

En el caso común donde A selecciona cero o uno nodos, y B es una constante (digamos “NA”), esto significa que not(A = "NA") devuelve verdadero si A está ausente o tiene un valor no igual a “NA”. Por el contrario, A != "NA" devuelve verdadero si A está presente y no es igual a “NA”. Por lo general, desea que el caso “ausente” se trate como “no igual”, lo que significa que not(A = "NA") es la formulación adecuada.

Si desea comparar con un literal de cadena, debe ponerlo entre comillas (simples):

<xsl:if test="Count != 'N/A'">
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *