Bonjour,
Je cherche a generer du xsl depuis du php, en me disant que puisque le xsl est basé sur une structure xml, on doit pouvoir ajouter et supprimer des noeuds dedans depuis php puis l'appliquer a un document xml avec un processeur xslt...
ma methode est la suivante:
soucis: dans le code html, je retrouve la ligne <xsl:for-each....../> qui visiblement a été considérée par le processeur comme une ligne de texte et pas comme une instruction. Apres cela j'ai essayer le code suivant:
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 <?php // CHargement du source XML $xml = new DOMDocument; $xml->load('collection.xml'); //chargement du xsl $xsl = new DOMDocument; $xsl->load('collection.xsl'); //Je rajoute ici un <xsl-for-each select........ /> avec appendChild // Configuration du transformateur $proc = new XSLTProcessor; $proc->importStyleSheet($xsl); // attachement des règles xsl echo $proc->transformToXML($xml); ?>
et la ça marche...
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 <?php // CHargement du source XML $xml = new DOMDocument; $xml->load('collection.xml'); $xsl = new DOMDocument; $xsl->load('collection.xsl'); //Je rajoute ici un <xsl-for-each select........ /> avec appendChild $doc->save("sortie.xsl") $xsl2 = new DOMDocument; $xsl2->load(sortie.xsl'); // Configuration du transformateur $proc = new XSLTProcessor; $proc->importStyleSheet($xsl2); // attachement des règles xsl echo $proc->transformToXML($xml); ?>
est ce que quelqu'un voie d'ou cela peut il venir???
Merci beaucoup de votre aide!
Partager