<html>
<head>


<title>&lt;xsl:if&gt;</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="Description">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">&lt;xsl:if&gt;</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">
Impl&eacute;mente une instruction <span class="LITERAL">if</span>. Il contient un attribut <span class="LITERAL">test</span> et un mod&egrave;le XSLT. Si l'&eacute;valuation de l'attribut <span class="LITERAL">test</span> renvoie la valeur bool&eacute;enne <span class="LITERAL">true</span>, le mod&egrave;le XSLT est trait&eacute;. Cet &eacute;l&eacute;ment ne fait qu'impl&eacute;menter une instruction <span class="LITERAL">if</span>&nbsp;; si une instruction <span class="LITERAL">if-then-else</span> est requise, il faut utiliser l'&eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:choose&gt;</span> accompagn&eacute; d'un &eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:when&gt;</span> unique et d'un &eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:otherwise&gt;</span> unique.</td></tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Cat&eacute;gorie</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Instruction</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Attributs obligatoires</td>
</tr>
<tr>
<td colspan="2" class="description">
<dl>
<dt>
test
</dt>
<dd>
L'attribut <span class="LITERAL">test</span> contient une expression bool&eacute;enne. Si l'&eacute;valuation renvoie la valeur bool&eacute;enne <span class="LITERAL">true</span>, le mod&egrave;le XSLT de l'&eacute;l&eacute;ment <span class="LITERAL">&lt; xsl:if &gt;</span> est alors trait&eacute;.
<P></p>
</dl>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Attributs facultatifs</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Aucun.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Contenu</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>Un mod&egrave;le XSLT.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Appara&icirc;t dans</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>
<span class="LITERAL">&lt;xsl:if&gt;</span> appara&icirc;t dans un mod&egrave;le.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">D&eacute;fini dans</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>XSLT section 9.1, Traitement conditionnel &agrave; l'aide de <span class="LITERAL">xsl:if</span>.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="TITLE">Exemple</td>
</tr>
<tr>
<td colspan="2" class="description">
<p>La feuille de style suivante illustre le fonctionnement de l'&eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:if&gt;</span>&nbsp;:</p>
<span class="PROGRAMLISTING"><pre>
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&gt;

  &lt;xsl:output method=&quot;text&quot;/&gt;

  &lt;xsl:variable name=&quot;newline&quot;&gt;
&lt;xsl:text&gt;
&lt;/xsl:text&gt;
  &lt;/xsl:variable&gt;

  &lt;xsl:template match=&quot;/&quot;&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:text&gt;Here are the odd-numbered items from the list:&lt;/xsl:text&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:for-each select=&quot;list/listitem&quot;&gt;
      &lt;xsl:if test=&quot;(position() mod 2) = 1&quot;&gt;
        &lt;xsl:number format=&quot;1. &quot;/&gt;
        &lt;xsl:value-of select=&quot;.&quot;/&gt;
        &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
      &lt;/xsl:if&gt;
    &lt;/xsl:for-each&gt;
  &lt;/xsl:template&gt;
  
&lt;/xsl:stylesheet&gt;</pre></span>
<p>Cette feuille de style utilise l'&eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:if&gt;</span> pour d&eacute;terminer si la position d'un &eacute;l&eacute;ment <span class="LITERAL">&lt;listitem&gt;</span> donn&eacute; correspond &agrave; un nombre impair. Le cas &eacute;ch&eacute;ant, il est &eacute;crit dans l'arborescence de r&eacute;sultat. La feuille de style est appliqu&eacute;e au document XML suivant&nbsp;:</p>
<span class="PROGRAMLISTING"><pre>
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;list&gt;
  &lt;title&gt;A few of my favorite albums&lt;/title&gt;
  &lt;listitem&gt;A Love Supreme&lt;/listitem&gt;
  &lt;listitem&gt;Beat Crazy&lt;/listitem&gt;
  &lt;listitem&gt;Here Come the Warm Jets&lt;/listitem&gt;
  &lt;listitem&gt;Kind of Blue&lt;/listitem&gt;
  &lt;listitem&gt;London Calling&lt;/listitem&gt;
  &lt;listitem&gt;Remain in Light&lt;/listitem&gt;
  &lt;listitem&gt;The Joshua Tree&lt;/listitem&gt;
  &lt;listitem&gt;The Indestructible Beat of Soweto&lt;/listitem&gt;
&lt;/list&gt;</pre></span> <!--<?troff .Nd 10?>-->
<p>Une fois la transformation ex&eacute;cut&eacute;e, les r&eacute;sultats sont les suivants&nbsp;:</p>
<span class="PROGRAMLISTING"><pre>
Here are the odd-numbered items from the list:
1. A Love Supreme
3. Here Come the Warm Jets
5. London Calling
7. The Joshua Tree</pre></span>
</td>
</tr>
</table>
</div>
</body>
</html>
