Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] Re: récupérer les fils d un noeud passé en parametre

[xml-tech] Re: récupérer les fils d un noeud passé en parametre

Auteur: Eric van der Vlist <vdv@dyomedea.com>
Date: 15/06/2005 - 16:20
X-Mailer: Evolution 2.2.1.1

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

Archive générée par hypermail 2.1.8 le 30/06/2005 - 21:52 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement