Bonjour

Après de mutiples recherches et test en tout genre je me suis décidé à vous faire part de mon problème.

Je commencé à mettre en place un système de saisie de donnés via un formulaire Php qui récupère les données et les insère dans un document Xml via la commande Dom.

Jusqu'ici tout va bien. Je souhaite ensuite intégrer les données du document Xml dans une page Html en créant un fragment Xsl.

Le problème réside dans le fait que je n'arrive pas afficher les sauts de ligne (entrés en amont lors de la saisie du formulaire php) dans le fichier Xsl et je ne sais pas ou je dois effectuer la correction:

- Durant l'élaboration du document Xml par Dom
- Ou dans le fichier Xsl

Quoique je fasse au niveau de l'élaboration du Xml par Dom je n'arrive pas à obtenir la balise <br /> dans le Xml final, j'obtiens à chaque fois &lt;br /&gt;, et donc ensuite Xsl ne le reconnait donc pas.

Je suis sur Dreamweaver et l'utilisation de Xsl est automatisé, je ne suis pas spécialiste en la matière !

Si quelqu'un à une petite idée je suis preneur !

Merci !
Modifié par StateProp (28 Aug 2007 - 16:30)
J'avais le même genre d eproblème avec un projet Perl, concernant l'envoie de message sur un livre d'or.

Moi j'avais un formulaire HTML envoyant les données au CGI (script PHP dans ton cas en fait), et Perl changeait les sauts de lignes (notées par une signe + lors de la soumission en mode POST), en Smiley br .

Lors de l'affichage des données, mon script PHP modifiant le groupe Smiley br en <br /> simplement, de façon à ce que cela "potable" pour html.

Bon évidemment moi je n'avais pas de XSL, mais ce langage est un type de XML après tout donc peut-être arriveras-tu à faire quelque chose avec mon idée...

En espérant t'avoir aidé,
Justin
Ah, je ne suis pas encore bien familiariser avec le forum Smiley lol
et il semblerait que celui-ci n'a pas pris en compte tout les caractères.

Le groupe en question n'étais pas "br" mais "[ br ]" (sans espacements)
Salut just1dks et merci pour ta réponse !

Ben en fait c'est ce que je fais avec Php quand je récupère les données contenues dans les variables issues du formulaire, je fais un preg_replace où je remplace les saut de lignes entrés par l'utilisateur "\n" par "<br />", j'ai aussi essayé nl2br entre autre et quoi que je fasse quand je consulte le fichier xml à première vue les <br /> apparaissent bien mais quand j'ouvre le fichier j'obtiens toujours ceci: &lt;br /&gt;.

J'ai fais en remplaçant en dur tous les &lt;br /&gt; par des <br /> dans le fichier xml.
Quand je teste avec mon fragment tous les sauts de lignes sont bien pris en compte.

Est il normal que je ne puisse pas faire cela automatiquement via Dom lors de l'écriture du fichier Xml ?

J'ai vu qu'il était possible de remplacer des chaines de caractères en Xsl mais ca me dépasse un peu ...
Modifié par StateProp (28 Aug 2007 - 12:40)
Meme si ce n'est pas vraiment conseille, tu as essaye de faire un xsl:copy-of dans ton fichier XSL au lieu de l'habituel xsl:value-of ?
salut jde3

Oui j'ai essayé et ca ne change rien.

Par contre je viens de re essayer disable-output escaping="yes" et cela semble fonctionner ...
En faisant des tests de sortie sur le Xsl ca me mettait tous les accents au format Unicode, mais en faisant un test de sortie Php tout semble rentrer dans l' ordre ...