Elemento <xsl:choose>
Prueba varias condiciones al combinarse con los elementos <xsl:otherwise>
y <xsl:when>
.
<xsl:choose>
</xsl:choose>
Información del elemento
Número de apariciones |
Ilimitado |
Elementos primarios |
xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, elementos resultantes |
Elementos secundarios |
Notas
Se prueban los elementos secundarios <xsl:when>
del elemento <xsl:choose>
, en orden descendente, hasta que un atributo test
en uno de estos elementos describe de manera precisa las condiciones de los datos de origen, o hasta que se alcanza un elemento <xsl:otherwise>
. Una vez que se elige un elemento <xsl:when>
o <xsl:otherwise>
, se abandona el bloque <xsl:choose>
. No es necesario un salto explícito o una instrucción de salida.
Para realizar una comprobación condicional sencilla, utilice el elemento <xsl:if>
.
Ejemplo
En el siguiente ejemplo se muestra una plantilla para elementos <order>
y se inserta un indicador de tamaño delante del contenido de cada <order>
. Este indicador de tamaño se basa en el valor del elemento <total>
dentro de cada elemento <order>
. Si el total es inferior a 10, se agrega el texto "(small)
". Si el total es inferior a 20, se agrega el texto "(medium)
". Si el total es superior a 20, se agrega el texto "(large)
".
Archivo XML (order.xml)
Archivo XSLT (refchoose.xsl)
Resultados
(small) 9
(medium) 19
(large) 29