Je transforme un flux XML.
La transformation marche bien mais me rajoute une ligne que je ne veux pas.
Car à la récupération du flux, j'ai l'erreur :<?xml version="1.0" encoding="UTF-8" standalone="no"?>
en raison d'un paramètre absent ou en trop et je me demande si cette ligne <?xml...> peut justement être ce paramètre. Je bloque depuis un moment car la transformation est bonne mais que cela ne fonctionne pas derrière donc si vous avez des remarques elles sont les bienvenuesFailed delivery for exchangeId
La transformation renomme la balise "MéthodeABC" en "Méthode" et enlève la balise "Avis"
Voilà mon flux d'entrée, mon xslt et mon flux de sortie (simplifiés) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <MéthodeABC xmlns:web="lien"> <Perso>Atréides</Perso> <Livre>1<Livre> <Avis>Génial</Avis> </MéthodeABC>Et enfin le flux de sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="xml" encoding="UTF-8" indent="no" standalone="no" xmlns="lien"/> <xsl:template match="node() | @*" xmlns="lien"> <xsl:choose> <xsl:when test="local-name() = 'MéthodeABC'"> <xsl:element name="Méthode"> <xsl:apply-templates /> </xsl:element> </xsl:when> <xsl:when test="local-name() = 'Perso'"> <xsl:element name="Perso"> <xsl:apply-templates /> </xsl:element> </xsl:when> <xsl:when test="local-name() = 'Livre'"> <xsl:element name="Livre"> <xsl:apply-templates /> </xsl:element> </xsl:when> <xsl:otherwise> <xsl:copy > <xsl:apply-templates select="node() | @*" /> </xsl:copy> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="Avis" /> </xsl:stylesheet>
Merci de votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <Méthode xmlns="lien"> <Perso>Atréides</Perso> <Livre>1<Livre> </Méthode>![]()
Partager