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 çà :
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>
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 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>
Tout en sachant que je vais chercher l'information dans la balise <SchemaID>

Le code que j'ai fait aujourd'hui me permet seulement de le faire en dur :
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>
Si vous avez des idées précieuses, je vous en remercie.

Merci d'avance.