Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

Élément <xsl:choose>

Teste plusieurs conditions en combinaison avec les éléments <xsl:otherwise> et <xsl:when>.

<xsl:choose>
</xsl:choose>

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>.

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)


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="refchoose.xsl" ?>
<orders>
   <order>
      <lineitem/>
      <lineitem/>
      <total>9</total>
   </order>
   <order>
      <lineitem/>
      <lineitem/>
      <total>19</total>
   </order>
   <order>
      <lineitem/>
      <lineitem/>
      <total>29</total>
   </order>
</orders>


Fichier XSLT (refchoose.xsl)


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

<xsl:template match="order">
   <xsl:choose>
      <xsl:when test="total &lt; 10">
         (small)
      </xsl:when>
      <xsl:when test="total &lt; 20">
         (medium)
      </xsl:when>
      <xsl:otherwise>
         (large)
      </xsl:otherwise>
   </xsl:choose>
   <xsl:apply-templates />
   <BR/>
</xsl:template>

</xsl:stylesheet>


Sortie

(small) 9

(medium) 19

(large) 29

Afficher: