<html>
<head>


<title>&lt;xsl:param&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:param&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">
D&eacute;finit le nom et la valeur d'un param&egrave;tre qui doit &ecirc;tre utilis&eacute; par un mod&egrave;le. Cet &eacute;l&eacute;ment peut appara&icirc;tre comme un &eacute;l&eacute;ment de niveau sup&eacute;rieur ou dans l'&eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:template&gt;</span>. Si l'&eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:param&gt;</span> appara&icirc;t comme &eacute;l&eacute;ment de niveau sup&eacute;rieur, il s'agit d'un param&egrave;tre global visible dans toutes les zones de la feuille de style. La valeur de ce param&egrave;tre peut &ecirc;tre d&eacute;finie de l'une des deux mani&egrave;res suivantes&nbsp;:  sp&eacute;cifi&eacute;e dans l'attribut <span class="LITERAL">select</span>, ou bien d&eacute;finie dans un mod&egrave;le XSLT dans l'&eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:param&gt;</span> lui-m&ecirc;me. </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>
name
</dt>
<dd>
D&eacute;finit le nom de ce param&egrave;tre.
<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">
<dl>
<dt>
select
</dt>
<dd>
Contient une expression XPath qui d&eacute;finit la valeur de ce param&egrave;tre.
<P></p>
</dl>
</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>Si l'attribut <span class="LITERAL">select</span> est utilis&eacute;, <span class="LITERAL">&lt;xsl:param&gt;</span> doit &ecirc;tre vide. Sinon, il contient 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:stylesheet&gt;</span> et <span class="LITERAL">&lt;xsl:template&gt;</span>. Si un &eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:param&gt;</span> appara&icirc;t comme un enfant de l'&eacute;l&eacute;ment <span class="LITERAL">&lt;xsl:stylesheet&gt;</span>, il s'agit alors d'un param&egrave;tre global visible dans toute la feuille de style. XSLT ne d&eacute;finit pas la mani&egrave;re dont les param&egrave;tres globaux sont transmis au processeur XSLT, par cons&eacute;quent, consultez la documentation pour conna&icirc;tre la proc&eacute;dure &agrave; suivre par votre processeur. (voir <link linkend="xslt-CHP-4-SECT-4.3">Section 4.4.3</link> du<link linkend="xslt-CHP-4">chapitre&nbsp;4</link>
pour d&eacute;couvrir comment transmettre des param&egrave;tres aux processeurs XSLT les plus courants).  </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 11, Variables et param&egrave;tres. </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 d&eacute;finit plusieurs &eacute;l&eacute;ments <span class="LITERAL">&lt;xsl:param&gt;</span>, aussi bien locaux que globaux. L'un des param&egrave;tres est un ensemble de n&oelig;uds&nbsp;; les param&egrave;tres peuvent &ecirc;tre de tout type de donn&eacute;es XPath ou XSLT&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;

<!--<?troff .Nd 10?>-->
  &lt;xsl:param name=&quot;favoriteNumber&quot; select=&quot;23&quot;/&gt;
  &lt;xsl:param name=&quot;favoriteColor&quot;/&gt;

  &lt;xsl:template match=&quot;/&quot;&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:value-of select=&quot;list/title&quot;/&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:variable name=&quot;listitems&quot; select=&quot;list/listitem&quot;/&gt;
    &lt;xsl:call-template name=&quot;processListitems&quot;&gt;
      &lt;xsl:with-param name=&quot;items&quot; select=&quot;$listitems&quot;/&gt;
      &lt;xsl:with-param name=&quot;color&quot; select=&quot;'yellow'&quot;/&gt;
      &lt;xsl:with-param name=&quot;number&quot; select=&quot;$favoriteNumber&quot;/&gt;
    &lt;/xsl:call-template&gt;
  &lt;/xsl:template&gt;

  &lt;xsl:template name=&quot;processListitems&quot;&gt;
    &lt;xsl:param name=&quot;items&quot;/&gt;
    &lt;xsl:param name=&quot;color&quot; select=&quot;'blue'&quot;/&gt;

    &lt;xsl:for-each select=&quot;$items&quot;&gt;
      &lt;xsl:value-of select=&quot;position()&quot;/&gt;
      &lt;xsl:text&gt;.  &lt;/xsl:text&gt;
      &lt;xsl:value-of select=&quot;.&quot;/&gt;
      &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;/xsl:for-each&gt;

    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    
    &lt;xsl:text&gt;Your favorite color is &lt;/xsl:text&gt;
    &lt;xsl:value-of select=&quot;$favoriteColor&quot;/&gt;
    &lt;xsl:text&gt;.&lt;/xsl:text&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
    &lt;xsl:text&gt;The color passed to this template is &lt;/xsl:text&gt;
    &lt;xsl:value-of select=&quot;$color&quot;/&gt;
    &lt;xsl:text&gt;.&lt;/xsl:text&gt;
    &lt;xsl:value-of select=&quot;$newline&quot;/&gt;
  &lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;</pre></span>
<p>La feuille de style est utilis&eacute;e pour transformer le document 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>
<p>Les r&eacute;sultats sont les suivants&nbsp;:</p>
<span class="PROGRAMLISTING"><pre>

A few of my favorite albums
1.  A Love Supreme
2.  Beat Crazy
3.  Here Come the Warm Jets
4.  Kind of Blue
5.  London Calling
6.  Remain in Light
7.  The Joshua Tree
8.  The Indestructible Beat of Soweto

Your favorite color is purple.
The color passed to this template is yellow.</pre></span>
<p>Pour g&eacute;n&eacute;rer ces r&eacute;sultats, la valeur <span class="LITERAL">purple</span> a &eacute;t&eacute; transmise au processeur XSLT. Avec Xalan, la m&eacute;thode de transmission de la valeur est la suivante&nbsp;:</p>
<span class="PROGRAMLISTING"><pre>
java org.apache.xalan.xslt.Process -in test4.xml -xsl param.xsl 
  -param favoriteColor purple</pre></span>

<p>(la commande doit tenir sur une seule ligne.)  Voir<link linkend="xslt-CHP-4-SECT-4.3">Section 4.4.3</link> du<link linkend="xslt-CHP-4">chapitre&nbsp;4</link> pour des informations plus d&eacute;taill&eacute;es sur les param&egrave;tres globaux et leur m&eacute;thode de d&eacute;finition pour de nombreux processeurs XSLT. </p>

</td>
</tr>
</table>
</div>
</body>
</html>
