Bonjour, je souhaiterai convertir un fichier XML avec l'aide d'un fichier XSLT dans un nouveau fichier XML compatible avec un import pour un logiciel spécifique svp.
Mon fichier généré est affiché comme ceci:
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
  <?xml version="1.0" encoding="UTF-8" ?> 
- <data>
- <post>
  <Numrodecommande>4501</Numrodecommande> 
  <DatedelaCommande>2021-06-16 08:19:39</DatedelaCommande> 
  <ClientIDdelutilisateur>1</ClientIDdelutilisateur> 
  <BillingLastName>save</BillingLastName> 
  <BillingFirstName>philippe</BillingFirstName> 
  <BillingAddress1>23 Avenue du Général Leclerc</BillingAddress1> 
  <BillingAddress2>Le Clos du Bon Plan</BillingAddress2> 
  <BillingPostcode>13960</BillingPostcode> 
  <BillingCity>Sausset Les Pins</BillingCity> 
- <OrderItems>
- <Item>
  <Rference>900108073801</Rference> 
  <Price>200.00</Price> 
  <Stock>0</Stock> 
  </Item>
  </OrderItems>
  <PaymentMethodTitle>Virement bancaire</PaymentMethodTitle> 
  <TotalCommande>200.00</TotalCommande> 
  </post>
  </data>
C'est un fichier de commandes d'articles E commerce de Wordpress.
Mon client attends un fichier du format (fichier DTD de format du fichier à traiter):

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
	<!--
	*****************************************************************************************************	
	les balises :
	===============
		?  sont les rubriques facultatives du fichier des ventes de Proshop. 
		Si elles sont renseignées, leurs valeurs seront enregistrées.
 
		Les autres balises représentent les données obligatoires
 
	les attributs :
	=================
		#IMPLIED  sont des données facultatives.Ce sont des rubriques de fichiers liés aux ventes
		Elles existent d'une facon obligatoires ou non dans Proshop, mais ne seront pas enregistrées. 
		Elles peuvent servir pour info, requetes, controles etc. 
 
		#REQUIRED sont des données obligatoires pour l'enregistrement des ventes dans Proshop.
		Elles sont communes à tous les élements fils
 
	Les entités et CDATA :
	=======================
		Les sections CDATA 	ne sont pas reconnues par WINDEV par conséquent  
			 Ne pas écrire : 	<nom><![CDATA[DUPOND & CIE]]></nom>
					Ecrire :	<nom>DUPOND &amp; CIE</nom>
 
		Entités XML à respecter :		
			&lt; 	< 	inférieur à
			&gt; 	> 	supérieur à
			&amp; 	& 	et commercial
			&apos; 	' 	apostrophe
			&quot; 	" 	double quote
 
    Type de données
    ====================
    exemple    magasin entier <= 3  = entier sur 3 chiffres maximum
	*****************************************************************************************************
	-->
 
<!ELEMENT proshop (ventes+)>
 
<!ATTLIST proshop
	datesysteme 		CDATA   #REQUIRED > 	
	<!-- date et heure de création du document 
      datetime AAAA-MM-JJtHH-MM-SS -->
 
<!ELEMENT ventes (ticket+) >
<!ATTLIST ventes 
	date 		CDATA #REQUIRED 				 	
	magasin CDATA	#REQUIRED >
	<!-- 	date AAAA-MM-JJ
			  magasin entier <= 3 -->
 
<!ELEMENT ticket (client?, produits, reglements) >
<!ATTLIST ticket
	numero 	 CDATA 	#REQUIRED	
	heure 	 CDATA 	#REQUIRED >
	<!--  numero: chaine
        heure: HH:MM -->
 
<!ELEMENT client  (code?,nofidelite?,civilite?,nom,prenom?,adresse1?,adresse2?,codepostal?,ville?,telephone?, email?,commentaire?) >
<!ELEMENT code 			 	(#PCDATA)>		<!-- 2 < chaine < 14 -->
<!ELEMENT nofidelite	 	(#PCDATA)>		<!-- gencod numérique 12 | 13-->
<!ELEMENT civilite 			(#PCDATA)>		<!-- chaine < 7 -->
<!ELEMENT nom 				(#PCDATA)>		<!-- 2 < chaine < 36 -->
<!ELEMENT prenom 			(#PCDATA)>		<!-- chaine < 26 -->
<!ELEMENT adresse1 			(#PCDATA)>		<!-- chaine < 36 -->
<!ELEMENT adresse2 			(#PCDATA)>		<!-- chaine < 36 -->
<!ELEMENT codepostal		(#PCDATA)>		<!-- chaine < 9 -->
<!ELEMENT ville				(#PCDATA)>		<!-- chaine < 31 -->
<!ELEMENT telephone			(#PCDATA)>		<!-- chaine < 21 -->
<!ELEMENT email				(#PCDATA)>		<!-- chaine < 51 -->
<!ELEMENT commentaire 		(#PCDATA)>		<!-- chaine < 31 -->
 
 
<!ELEMENT produits (article+)>
 
<!ELEMENT article (type?, gencod,taille,prht?,tva?,pvttc,quantite?, remise?,coderemise?, commentaire?)>
<!ATTLIST article 
	libelle 			CDATA 	#IMPLIED
  couleur 		CDATA 	#IMPLIED
	fournisseur			CDATA 	#IMPLIED
	gfsf	 			CDATA 	#IMPLIED
	ligneproduit		CDATA 	#IMPLIED
	collection 			CDATA 	#IMPLIED >
	<!--Aucune contrainte -->
 
<!ELEMENT type			(#PCDATA)>		<!-- chaine "V" |H | BA -->
<!ELEMENT gencod		(#PCDATA)>		<!-- gencod 12 | 13 -->
<!ELEMENT taille		(#PCDATA)>		<!-- 0 < chaine < 5 -->
<!ELEMENT prht			(#PCDATA)>		<!-- reel -->
<!ELEMENT tva			(#PCDATA)>		<!-- reel -->
<!ELEMENT pvttc			(#PCDATA)>		<!-- reel -->
<!ELEMENT quantite		(#PCDATA)>		<!-- entier -->
<!ELEMENT remise		(#PCDATA)>		<!-- reel -->
<!ELEMENT coderemise 	(#PCDATA)>		<!-- chaine < 5 -->
 
 
<!ELEMENT reglements (mode+)>			
<!ELEMENT mode	(code,montant)>
<!ATTLIST mode
	libelle CDATA #IMPLIED > <!--Aucune contrainte -->
 
<!--ELEMENT 	code	(#PCDATA)>	voir plus haut		 1 < chaine < 6 -->
<!ELEMENT montant	(#PCDATA)>		<!-- reel -->
Et voici un exemple du fichier attendu à intégrer:
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
31
32
33
34
35
36
37
38
39
40
<?xml version='1.0'  encoding="iso-8859-1"?>
 <!DOCTYPE proshop SYSTEM "ProshopVente.dtd">
 
<proshop datesysteme="2008-06-18T15:12:30">
	<ventes date="2008-06-07" magasin="003">
		<ticket numero="12564" heure="10:05:33"> 			
			<client>
				<code>152365425</code>
				<nom>AUFRAISE</nom>
				<prenom>charlotte</prenom>
				<adresse1>15 impasse du bout du monde</adresse1>
				<codepostal>33000</codepostal>
				<ville>BORDEAUX</ville>
			</client>
			<produits>
				<article libelle="pantalon toile" collection="E08">
					<type>V</type>
					<gencod>9001058674015</gencod>
					<taille>=TU</taille>
					<pvttc>4.50</pvttc>
					<quantite>2</quantite>
				</article>
				<article>
					<type>R</type>
					<gencod>FDP</gencod>
					<taille></taille>
					<pvttc>8.50</pvttc>
					<remise></remise>
					<coderemise></coderemise>
				</article>
			</produits>
			<reglements>
				<mode>
					<code>cb</code>
					<montant>11.0</montant>
				</mode>
			</reglements>
		</ticket>
	</ventes>
</proshop>

Alors ma question est svp:
Quel est le code du fichier XSLT qui pourrait me permettre de passer du premier fichier (en descriptif car les données sont différentes) au même format que le dernier?
Merci pour votre aide
P SAVE