English | >> Français << | Deutsch | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Page 26 << | Précédent | Suivant | Contenu | Index des éléments

L'instruction xsl:if permet le traitement conditionnel. Feuille de style XSLT 1 montre un cas typique d'utilisation de xsl:for-each en ajoutant une virgule entre plusieurs éléments (entry) d'une liste. Il arrive très fréquemment que vous ne souhaitez pas ajouter de texte après le dernier élément. L'instruction xsl-if est bien utile dans ce cas. ( Feuille de style XSLT 2 )

Feuille de style XSLT 1

Source XML
<source>

<list>
     <entry name="A"/>
     <entry name="B"/>
     <entry name="C"/>
     <entry name="D"/>
</list>

</source>

Sortie
A, B, C, D,

Vue HTML
A, B, C, D,
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="list">
     <xsl:for-each select="entry">
          <xsl:value-of select="@name"/>
          <xsl:text>, </xsl:text>
     </xsl:for-each>
</xsl:template>


</xsl:stylesheet>


Feuille de style XSLT 2

Source XML
<source>

<list>
     <entry name="A"/>
     <entry name="B"/>
     <entry name="C"/>
     <entry name="D"/>
</list>

</source>

Sortie
A, B, C, D

Vue HTML
A, B, C, D
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="list">
     <xsl:for-each select="entry">
          <xsl:value-of select="@name"/>
          <xsl:if test="not (position()=last())">
               <xsl:text>, </xsl:text>
          </xsl:if>
     </xsl:for-each>
</xsl:template>


</xsl:stylesheet>