XSLT : remplacer parent par valeur enfant

merlone Messages postés 221 Statut Membre -  
merlone Messages postés 221 Statut Membre -
Bonjour à tous,

Voilà, je débute en XSLT et j'ai un problème, sûrement très bête à résoudre : je veux remplacer le nom d'une balise par la valeur d'un de ses enfants. Plus concrètement le fichier XML source est :

<PERIODE>
<ANNEE>1986</ANNEE>
<EXPOSITION>blablabla</EXPOSITION>
</PERIODE>

Je voudrais que 1986 remplace <PERIODE> et que année disparaisse pour obtenir :

<1986>
<EXPOSITION>blablabla</EXPOSITION>
</1986>

Si quelqu'un à idée, je m'embrouille un peu les pinceaux de mon côté...Au passage si quelqu'un à une bonne suggestion de lecture en français sur le parsage du XML. Merci d'avance pour vos réponses et le temps que vous passerez sur mon problème,

Bonne journée

3 réponses

merlone Messages postés 221 Statut Membre 53
 
Un petit up...
0
merlone Messages postés 221 Statut Membre 53
 
Ok je m'autorépond en parti mais je ne suis pas satisfait par ce que j'ai trouvé jusqu'ici :

<!--Début du fichier, jusqu'ici tout va bien :)-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output
method="xml"
encoding="utf-8"
indent="yes" />

<!--Copie de tout l'arbre-->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>

<!--Créer un attribut ANNEE à la balise PERIODE et lui donner la valeur d'ANNEE-->
<xsl:template match="PERIODE">
<PERIODE ANNEE="{ANNEE/.}">
<xsl:apply-templates/>
</PERIODE>
</xsl:template>

<!--virer la balise Annee-->
<xsl:template match="ANNEE" />

</xsl:stylesheet>

Je voudrait vraiment remplacer PERIODE par la valeur d'ANNEE, si quelqu'un a une idée...merci d'avance :)
0
merlone Messages postés 221 Statut Membre 53
 
Up, quelqu'un ce soir a un début de réponse, ???
Merci d'avance :)
0