Élément <xsl:choose>
Teste plusieurs conditions en combinaison avec les éléments <xsl:otherwise>
et <xsl:when>
.
<xsl:choose>
</xsl:choose>
Informations sur l'élément
Nombre d'occurrences |
Illimité |
Éléments parents |
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, éléments de sortie |
Éléments enfants |
Notes
Les enfants <xsl:when>
de l'élément <xsl:choose>
sont testés, dans l'ordre de haut en bas, jusqu'à ce qu'un attribut test
d'un de ces éléments décrive avec exactitude des conditions dans les données sources, ou jusqu'à ce qu'un élément <xsl:otherwise>
soit atteint. Une fois qu'un élément <xsl:when>
ou <xsl:otherwise>
est choisi, la logique quitte le bloc <xsl:choose>
. Il n'est pas nécessaire d'avoir une instruction de sortie explicite.
Pour un simple test conditionnel, utilisez l'élément <xsl:if>
.
Exemple
L'exemple suivant illustre un modèle pour les éléments <order>
et insère un indicateur de taille avant le contenu de chaque <order>
. Cet indicateur de taille se base sur la valeur de l'élément <total>
contenu dans chaque élément <order>
. Si le total est inférieur à 10, le texte « (small)
» est ajouté. Si le total est inférieur à 20, le texte « (medium)
» est ajouté. Si le total est supérieur ou égal à 20, le texte « (large)
» est ajouté.
Fichier XML (order.xml)
Fichier XSLT (refchoose.xsl)
Sortie
(small) 9
(medium) 19
(large) 29