Etiquetas <xsl:choose>, <xsl:when> y <xsl:otherwise>
La etiqueta <xsl:choose> es usada junto con la etiqueta <xsl:when> y la etiqueta <xsl:otherwise> para expresar múltiples condiciones.
Por Daniel Prado 4 min de lectura Revisado el
Comprobado: Revisión contextual, no ejecución del código: XSLT 3.0 (W3C) (www.w3.org).
Contexto de este artículo
- Tecnología y versión: XSLT 1.0 y expresiones XPath de esa generación.
- Año del artículo: 2006.
- Estado a 11 de octubre de 2026: Conceptos vigentes; sintaxis histórica. XSLT 3.0 es la referencia posterior: comprueba qué versión admite tu procesador.
- Documentación de referencia: XSLT 3.0 (W3C).
Conservo a continuación el texto y los ejemplos de aquella fecha como archivo técnico. No he ejecutado estos ejemplos en un entorno actual: esta revisión contextual no garantiza que funcionen hoy.
Elemento <xsl:choose>
Si queremos expresar múltiples condiciones contra el contenido de un documento XML deberemos de añadir etiqueta <xsl:choose>.
Veamos su sintaxis:
|
<xsl:choose> |
Donde poner la etiqueta condicional <xsl:choose>
Para añadir una condición <xsl:choose> contra el contenido de un documento XML, se debe de añadir también las etiquetas <xsl:when> y la etiqueta <xsl:otherwise>.
Veamos un ejemplo simple de un archivo xsl que usa esta etiqueta:
|
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:template match="/"> </xsl:stylesheet> |
Dado el siguiente documento XML y la plantilla anterior de transformación:
|
<?xml version="1.0" encoding="ISO-8859-1"?> <cd> <cd> <cd> <cd> |
El resultado sería el siguiente documento HTML:
|
<html><body> |
Como se puede observar el código anterior añade un color de fondo rosa a los artistas cuyo precio de venta del CD sea superior a 8.
El resultado de la transformación daría la siguiente salida en el navegador:
Mi coleccion de CDs
| Titulo | Artista |
|---|---|
| Empire Burlesque | Bob Dylan |
| The dock of the bay | Otis Redding |
| Picture book | Simply Red |
| Red | The Communards |
| Unchain my heart | Joe Cocker |
Se podría seguir añadiendo etiquetas <xsl:when> por cada nueva condición que queramos añadir.
Comentarios
Aún no hay comentarios. ¡Sé el primero!