Daniel Prado Rodríguez Visita: Sacarse el carnet de conducir por libre DGT
  Viernes, 15 de Noviembre de 2024 Inicio | Contactar
Añadir a favoritos | Imprimir 
  Volver al resto de artículos XSL-XSLT


Programación XSL - XSLT - Elemento If– Etiqueta <xsl:if>

» Programacion » XSL-XSLT » Elemento If– Etiqueta <xsl:if>
Domingo, 12 de Febrero de 2006. Escrito por Daniel P.


Elemento <xsl:if>

Para introducir una orden condicional en el tratamiento del documento XML se debe de introducir en el documento XSL la etiqueta <xsl:if>:

Veamos su sintaxis:

<xsl:if test="expresión">
     ...
     ... Se pone la salida que se quiere ver si la expresión es verdadera
     ...
</xsl:if>


Donde poner la etiqueta <xsl:if>

Para añadir una condición, se debe de añadir dentro de la etiqueta <xsl:for-each> dentro del archivo XSL.

Veamos un ejemplo simple de un archivo xsl que usa esta etiqueta:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>Mi coleccion de CDs</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Titulo</th>
<th>Artista</th>
</tr>
<xsl:for-each select="catalogo/cd">
<xsl:if test="precio &gt; 8">
<tr>
<td><xsl:value-of select="titulo"/></td>
<td><xsl:value-of select="artista"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

Nota: El valor contenido en el atributo test contiene la expresión que será evaluada.

Dado el siguiente documento XML y la plantilla anterior de transformación:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalogo>
<cd>
<titulo>Empire Burlesque</titulo>
<artista>Bob Dylan</artista>
<pais>USA</pais>
<discografica>Columbia</discografica>
<precio>10.90</precio>
<anio>1985</anio>
</cd>

<cd>
<titulo>The dock of the bay</titulo>
<artista>Otis Redding</artista>
<pais>USA</pais>
<discografica>Atlantic</discografica>
<precio>7.90</precio>
<anio>1987</anio>
</cd>

<cd>
<titulo>Picture book</titulo>
<artista>Simply Red</artista>
<pais>EU</pais>
<discografica>Elektra</discografica>
<precio>7.20</precio>
<anio>1985</anio>
</cd>

<cd>
<titulo>Red</titulo>
<artista>The Communards</artista>
<pais>UK</pais>
<discografica>London</discografica>
<precio>7.80</precio>
<anio>1987</anio>
</cd>

<cd>
<titulo>Unchain my heart</titulo>
<artista>Joe Cocker</artista>
<pais>USA</pais>
<discografica>EMI</discografica>
<precio>8.20</precio>
<anio>1987</anio>
</cd>
</catalogo>

El resultado sería el siguiente documento HTML:

<html><body>
<h2>Mi coleccion de CDs</h2>
<table border="1">
<tr bgcolor="#9acd32"><th>Titulo</th><th>Artista</th></tr>
<tr><td>Empire Burlesque</td><td>Bob Dylan</td>
</tr>
<tr><td>Unchain my heart</td><td>Joe Cocker</td>
</tr>
</table>
</body></html>

Como se puede observar sólo serán mostrados aquellos artistas cuyo precio de CD sea superior a 8.

comentarios (0)
  Anterior artículo XSL-XSLT Siguiente artículo XSL-XSLT 

COMENTARIOS EN FACEBOOK SOBRE: Artículo XSL-XSLT - Elemento If– Etiqueta <xsl:if>
 
Mapa web |  Página principal  | Blog de Recetas | Recetas de Pescado | | Política de privacidad | Política de cookies
www.daniel.prado.name - Página Personal - © Copyright