XSLT <xsl:if>Elemento


El elemento <xsl:if> se utiliza para realizar juicios condicionales sobre datos XML, y solo genera el contenido correspondiente cuando se cumple la condición especificada.


Elemento <xsl:if>

En XSLT, si necesita decidir si generar cierto contenido según el valor o estado de un nodo XML, puede utilizar el elemento <xsl:if> para el control condicional.

Sintaxis

<xsl:if test="expression">
... contenido que se ejecuta cuando se cumple la condición ...
</xsl:if>

Explicación:El atributo test se utiliza para especificar la expresión condicional (expresión XPath). Cuando el resultado de la expresión es true, el contenido interno se procesa y se genera.



Dónde colocar el elemento <xsl:if>

Normalmente, <xsl:if> se usa junto con declaraciones de bucle, por ejemplo, filtrando cada nodo dentro de <xsl:for-each>:

Ejemplo

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> <th>Price</th> </tr> <xsl:for-each select="catalog/cd"> <xsl:if test="price &gt; 10"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> <td><xsl:value-of select="price"/></td> </tr> </xsl:if> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

Pruébalo »

Nota:El atributo test es obligatorio y su valor es una expresión XPath, como operaciones de comparación (>, <, =) o juicios lógicos.

Explicación:En el ejemplo anterior, solo cuando price es mayor que 10, el CD correspondiente se generará en la tabla.

Otras extensiones