Bonjour,
On mer, 2005-06-15 at 15:40 +0000, Sebastien Tiscar wrote:
> Bonjour, débutant je souhaite récupérer les noeuds fils d un noeuds passer
> en paramètre à un template afin de rappeler ce même template de manière
> récursive.
Si je comprend, bien, la situation est la suivante :
<xsl:call-template name="mon-template">
<xsl:with-param name="mon-param" select="/racine/mon-élément"/>
</xsl:call-param>
<xsl:template name="mon-template">
* Ici, vous voulez récupérer les noeuds fils pour appeler le
template de manière récursive.
</xsl:template>
Pour cela, il suffit d'insérer une instruction xsl:for-each :
<xsl:for-each select="$mon-élément/*">
<xsl:call-template name="mon-param">
<xsl:with-param name="$mon-param" select="."/>
</xsl:call-template>
</xsl:for-each>
Cela marchera mais vous changerez de noeud contexte dans le for-each et
il est plus naturel en XSLT de jouer là dessus et d'éviter ainsi le
for-each.
Pour cela, vous pouvez remplacer tout ce que nous avosn écrit par :
<xsl:apply-templates select="/racine/mon-élément" mode="ma-récursion"/>
<xsl:template match="*" mode="ma-récursion">
...
<xsl:apply-templates select="*" mode="ma-récursion"/>
</xsl:template>
> De plus je souhaiterais savoir comment récupérer les noms de ces noeuds
Au moyen de la fonction XPath "name()".
Cordialement,
Eric van der Vlist
--
Le premier annuaire des apiculteurs 100% XML!
http://apiculteurs.info/
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Wed Jun 15 18:20:43 2005