From: Emmanuel.COLLAIN@tcc.thomson-csf.com
Date: 08/02/2001 - 09:20
Bonjour,
J'ai un template récursif avec un paramètre comme suit :
<xsl:template match="foo" mode="hierarchy">
<xsl:param name="current"/>
<xsl:choose>
<xsl:when test="@name = $current">
<UL><LI type="disc"><b><xsl:value-of select="@name"/></b></LI></UL>
</xsl:when>
<xsl:otherwise>
<UL><LI type="disc">
<a><xsl:attribute name="HREF">#<xsl:value-of
select="@name"/></xsl:attribute>
<xsl:value-of select="@name"/>
</a>
<xsl:apply-templates select="foo[descendant-or-self::foo[@name
= $current]]" mode="hierarchy">
<xsl:with-param name="current">$current</xsl:with-param>
</xsl:apply-templates>
</LI></UL>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Le problème que je rencontre est que la récursivité ne se passe pas bien
lorsque qu'il y a plus de deux éléments imbriqués. Je ne comprends pas ce
qui ne va pas. J'ai exactement le même comportement avec MSXML3 et XALAN (ce
qui est d'un certain point de vue plutôt rassurant !).
En fait je cherche a construire une liste imbriquée qui va de la racine vers
le noeud courant, pour cela je parcours récursivement le chemin qui var de
la racine vers le noeud courant. Si la solution que j'ai trouvé n'est pas la
bonne, existe-t-il une autre façon de faire ?
Pour plus de détaille voici le fichier xml avec sa feuille de style :
<<foo.xml>> <<foo2.xsl>>
Merci d'avance pour votre aide.
Emmanuel.
-- Binary/unsupported file stripped by Listar --
-- Type: application/octet-stream
-- File: foo.xml
-- Binary/unsupported file stripped by Listar --
-- Type: application/octet-stream
-- File: foo2.xsl
--
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)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:05 UTC
webmaster@xmlfr.org
|