Bonjour à tous,
A aujourd'hui je souhaiterai créer 'dynamiquement' le namespace de mon xml via un XSL mais je n'y arrive pas :-(
En entrée j'ai çà :
et je souhaiterai
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 <MessageOperateur> <EnveloppeConnexion> <connexionId>120023015</connexionId> <interchangeAgreementId>00000001</interchangeAgreementId> <numEnveloppe>1023182249</numEnveloppe> <DateTime> <date>23/10/09</date> <time>18:22:49</time> </DateTime> <applicationId>toto</applicationId> </EnveloppeConnexion> <Messages> <Message> <EnveloppeMessage> <schemaID>MessageMFR815</schemaID> <schemaVersion>0.1</schemaVersion> <partyId>titi</partyId> <transactionId>1256314969557</transactionId> <numseq>0</numseq> </EnveloppeMessage> </MessageOperateur>
Tout en sachant que je vais chercher l'information dans la balise <SchemaID>
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 <MessageOperateur xmlns : http://namespace1/MFR815> <EnveloppeConnexion> <connexionId>120023015</connexionId> <interchangeAgreementId>00000001</interchangeAgreementId> <numEnveloppe>1023182249</numEnveloppe> <DateTime> <date>23/10/09</date> <time>18:22:49</time> </DateTime> <applicationId>toto</applicationId> </EnveloppeConnexion> <Messages> <Message> <EnveloppeMessage> <schemaID>MessageMFR815</schemaID> <schemaVersion>0.1</schemaVersion> <partyId>titi</partyId> <transactionId>1256314969557</transactionId> <numseq>0</numseq> </EnveloppeMessage> </MessageOperateur>
Le code que j'ai fait aujourd'hui me permet seulement de le faire en dur :
Si vous avez des idées précieuses, je vous en remercie.
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 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="*" priority="3"> <xsl:element name="{local-name()}" namespace="http://namespace1/"> <xsl:apply-templates select="@*|node()" /> </xsl:element> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
Merci d'avance.
Partager