Bonjour à toutes & à tous,
étant completement novice en XSL, je me permet de poster ce message.
Je ne sais meme pas si ma démarche est correct.
Je souhaite convertir un fichier XML (nommé : RBL.xml) suivant :
en fichier CSV du type:
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 <?xml version="1.0" encoding="UTF-8"?> <ROOT xmlns:exp="urn:n1"> <MANUAL_DOMAIN_WL> <Entries> <Entry_0> <DateToExpire exp:type="base64">AAAAAAAAAAAAAAAAAAAAAA==</DateToExpire> <Address>1miniface.com</Address> </Entry_0> <Entry_1> <DateToExpire exp:type="base64">AAAAAAAAAAAAAAAAAAAAAA==</DateToExpire> <Address>3six9.com.fr</Address> </Entry_1> ................. ................. <Entry_438> <DateToExpire exp:type="base64">AAAAAAAAAAAAAAAAAAAAAA==</DateToExpire> <Address>zhr.fr</Address> </Entry_438> </Entries> </MANUAL_EMAIL_ADDRESS_BL> <MANUAL_EMAIL_ADDRESS_WL> <Entries> <Entry_0> <DateToExpire exp:type="base64">AAAAAAAAAAAAAAAAAAAAAA==</DateToExpire> <Address>2s.conseil@wanadoo.fr</Address> </Entry_0> <Entry_1> <DateToExpire exp:type="base64">AAAAAAAAAAAAAAAAAAAAAA==</DateToExpire> <Address>3x3@wanadoo.fr</Address> </Entry_1> .................... .................... <Entry_352> <DateToExpire exp:type="base64">AAAAAAAAAAAAAAAAAAAAAA==</DateToExpire> <Address>zebreh@wanadoo.fr</Address> </Entry_352> </Entries> </MANUAL_EMAIL_ADDRESS_WL> </ROOT>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 1miniface.com 3six9.com.fr ................. ................. zhr.fr et 2s.conseil@wanadoo.fr 3x3@wanadoo.fr zebreh@wanadoo.fr
Pour cela, a partir d'un serveur web, je créé une page php (nommé executeXslt.php) de type:
qui va utiliser la page XmlToCsv.xsl suivante:
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 <? // Crée le processeur XSLT $xh = xslt_create(); xslt_set_base ($xh, 'file://' . getcwd () . '/'); // Traite le document, puis affiche le résultat $result = xslt_process($xh, 'RBL.xml', 'xmlToCsv.xsl'); if (!$result) echo ("Erreur XSLT ..."); else echo ($result); // Détruit le processeur XSLT xslt_free($xh); ?>
Et bien entendu, je ne sais pas du tout par quoi remplacer les ??????. (je ne pratique pas du tout le XSL).
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 <?xml version="1.0"?> <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/" > <xsl:apply-templates select="//Contexte"/> </xsl:template> <xsl:template match="Contexte" > ??????????? </xsl:template> </xsl:stylesheet>
Une ame charitable pourrais t'elle m'offrir un début de solution ?? Merci d'avance.
Partager