<xsl:with-param> | |
Définit un paramètre à transmettre à un modèle. Lorsque le modèle est invoqué, il est possible de transmettre des valeurs à ce paramètre. | |
Catégorie | |
Subinstruction (<xsl:with-param> apparaît toujours dans un élément <xsl:apply-templates> ou <xsl:call-template>) |
|
Description | |
<xsl:with-param> définit un paramètre à transmettre à un modèle. Lorsque le modèle est invoqué, il est possible de transmettre des valeurs à ce paramètre. La valeur de ce paramètre peut être définie de l'une des trois manières suivantes :
Si aucune valeur n'est transmise au modèle (<xsl:with-param name="x"/>), la valeur par défaut du paramètre, le cas échéant, est alors utilisée à la place. La valeur par défaut du paramètre est définie dans l'élément <xsl:param> de l'élément <xsl:template> lui-même ; voir la description de l'élément <xsl:param> pour plus de détails. |
|
Attributs obligatoires | |
|
|
Attributs facultatifs | |
|
|
Contenu | |
L'élément <xsl:with-param> peut être vide, ou bien contenir un modèle XSLT. S'il contient un modèle XSLT, la valeur de l'attribut select (le cas échéant) est ignorée. |
|
Apparaît dans | |
<xsl:apply-templates> et <xsl:call-template>. |
|
Défini dans | |
XSLT section 11.6, Transmission de paramètres à des modèles. |
|
Exemple | |
La feuille de style suivante utilise plusieurs paramètres. Certains paramètres sont globaux et définis en dehors de la feuille de style : <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:variable name="newline"> <xsl:text> </xsl:text> </xsl:variable> <xsl:param name="favoriteNumber" select="23"/> <xsl:param name="favoriteColor"/> <xsl:template match="/"> <xsl:value-of select="$newline"/> <xsl:value-of select="list/title"/> <xsl:value-of select="$newline"/> <xsl:variable name="listitems" select="list/listitem"/> <xsl:call-template name="processListitems"> <xsl:with-param name="items" select="$listitems"/> <xsl:with-param name="color" select="'yellow'"/> <xsl:with-param name="number" select="$favoriteNumber"/> </xsl:call-template> </xsl:template> <xsl:template name="processListitems"> <xsl:param name="items"/> <xsl:param name="color" select="'blue'"/> <xsl:for-each select="$items"> <xsl:value-of select="position()"/> <xsl:text>. </xsl:text> <xsl:value-of select="."/> <xsl:value-of select="$newline"/> </xsl:for-each> <xsl:value-of select="$newline"/> <xsl:text>Your favorite color is </xsl:text> <xsl:value-of select="$favoriteColor"/> <xsl:text>.</xsl:text> <xsl:value-of select="$newline"/> <xsl:text>The color passed to this template is </xsl:text> <xsl:value-of select="$color"/> <xsl:text>.</xsl:text> <xsl:value-of select="$newline"/> </xsl:template> </xsl:stylesheet> La feuille de style est appliquée au document suivant pour le transformer : <?xml version="1.0"?> <list xml:lang="en"> <title>Albums I've bought recently:</title> <listitem>The Sacred Art of Dub</listitem> <listitem>Only the Poor Man Feel It</listitem> <listitem>Excitable Boy</listitem> <listitem xml:lang="sw">Aki Special</listitem> <listitem xml:lang="en-gb">Combat Rock</listitem> <listitem xml:lang="zu">Talking Timbuktu</listitem> <listitem xml:lang="jz">The Birth of the Cool</listitem> </list> Cette feuille de style contient deux paramètres globaux, favoriteNumber et favoriteColor, et définit une valeur par défaut pour favoriteNumber. La feuille de style transmet également un paramètre du modèle match="/" au modèle name="processListitems" ; ce paramètre contient un ensemble de nœuds. Les résultats de la transformation sont les suivants : Albums I've bought recently: 1. The Sacred Art of Dub 2. Only the Poor Man Feel It 3. Excitable Boy 4. Aki Special 5. Combat Rock 6. Talking Timbuktu 7. The Birth of the Cool Your favorite color is orange. The color passed to this template is yellow. Pour générer ces résultats avec Xalan, la commande suivante a été utilisée : java org.apache.xalan.xslt.Process -in test4.xml -xsl with-param.xsl -param favoriteColor orange La commande doit tenir sur une seule ligne. VoirSection 4.4.3 duchapitre 4 pour des informations plus détaillées sur les paramètres globaux et leur définition pour de nombreux processeurs XSLT. |