<xsl:template match="exemple | autre_tag_content_participe_a" priority="1">
<participe_a>
<xsl:for-each select="participe_a/@refid">
<refid><xsl:value-of select="."/></refid>
</xsl:for-each>
</participe_a>
<!-- autre recopie.. -->
</xsl:template>
bB
-----Message d'origine-----
De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]De la
part de dupuis pp
Envoyé : mardi 7 décembre 2004 10:25
À : xml-tech@xmlfr.org
Objet : [xml-tech] Probleme de répétition de noeud suite a XSLT
bonjour,
j'ai le bloc suivant :
<root>
...
<exemple>
<participe_a refid="1"/>
<participe_a refid="2"/>
...
</exemple>
...
</root>
et j'aimerais arriver a ce bloc :
<root>
...
<exemple>
<participe_a>
<refid>1</refid>
<refid>2</refid>
</participe_a>
...
</exemple>
...
</root>
pour l'instant j'arrive a ca :
<root>
...
<exemple>
<participe_a>
<refid>1</refid>
<refid>2</refid>
</participe_a>
<participe_a>
<refid>1</refid>
<refid>2</refid>
</participe_a>
...
</exemple>
...
</root>
il me met plusieurs fois le tag <participe_a> (c ki est normal quand on voit
mon xsl) :
<!-- Reproduit tous les noeuds du document -->
<xsl:template match="@* | * | text()" priority="0">
<xsl:copy>
<xsl:apply-templates select="@* | * | text()"/>
</xsl:copy>
</xsl:template>
<!-- transformation sur les noeuds est_en_relation -->
<xsl:template match="participe_a" priority="1">
<participe_a>
<xsl:for-each select="../participe_a/@refid">
<xsl:element name = "refid" >
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</participe_a>
</xsl:template>
le noeud exemple peut apparaitre plusieurs fois dans le document XML non
determiné a priori (peut etre autre chose que <exemple>)
ma question est donc comment faire pour n'avoir qu'une seule fois le noeud
<participe_a> (utilisation d'un compteur ? ou changer le xsl ? )
merci de vos reactions
PePe
--
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 Tue Dec 7 11:53:03 2004