Bonjour,
J'aimerais recopier un document xml à l'aide d'une feuille xslt en changeant juste le nom de certaines balises.
Comme mon document xml d'origine est assez complexe, je ne souhaite pas ré écrire explicitement toutes les balises dans ma feuille xslt. J'ai donc écrit ce bout de code xslt qui permet de recopier n'importe quel document à l'identique :
Le problème est que ce xslt ne recopiera pas les balises de contenu mixte (contenant balise + texte).
Je ne souhaite pas utiliser les balise xslt copy et copy-of car je veux réellement parcourir chaque balise pour renommer certaines d'entre elles.
Auriez-vous une idée pour modifier mon code ci dessus afin qu'il recopie aussi les balises de contenu mixte ?
merci d'avance.
Modifié par mathmax (01 Sep 2007 - 23:42)
J'aimerais recopier un document xml à l'aide d'une feuille xslt en changeant juste le nom de certaines balises.
Comme mon document xml d'origine est assez complexe, je ne souhaite pas ré écrire explicitement toutes les balises dans ma feuille xslt. J'ai donc écrit ce bout de code xslt qui permet de recopier n'importe quel document à l'identique :
<xsl:template match="/">
<xsl:apply-templates select="Root" />
</xsl:template>
<xsl:template match="*">
<xsl:element name="{name()}">
<xsl:if test="count(./*)=0">
<xsl:value-of select="."/>
</xsl:if>
<xsl:apply-templates select="./*" />
</xsl:element>
</xsl:template>
Le problème est que ce xslt ne recopiera pas les balises de contenu mixte (contenant balise + texte).
Je ne souhaite pas utiliser les balise xslt copy et copy-of car je veux réellement parcourir chaque balise pour renommer certaines d'entre elles.
Auriez-vous une idée pour modifier mon code ci dessus afin qu'il recopie aussi les balises de contenu mixte ?
merci d'avance.
Modifié par mathmax (01 Sep 2007 - 23:42)