Bonjour,

dans le cadre d'un site (Xml/Xsl) que je suis en train de développer, je souhaiterais proposer aux utilisateurs un module de saisie, à la manière de phpbb, qui permette également une certaine mise en forme et qui me permette de récupérer le tout (texte + présentation) pour afficher cela sur d'autres pages.

J'avais d'abord tenter la manip avec des balises html qui étaient insérées directement dans le texte. L'ennui avec cette solution, c'est qu'elle ne marchait pas fort (pas fort du tout). Ainsi à partir d'un fichier Xml :


...
<description>
    Gestion des dates dans &gt;br/&lt; le moteur de recherche
</description> 
...


et d'un fichier xsl :


... 
 <tr>
	<td>
	        <blockquote>
		    	<xsl:value-of select="description"/>
		</blockquote>
	</td>
</tr>
...


J'obtenais l'affichage :

a écrit :


Gestion des dates dans <br/> le moteur de recherche



Bon c'est normal, je sais mais le problème c'est d'arriver à mettre un "<br/>" dans le fichier Xml.

J'ai essayé avec des CDATA ou avec des <xsl:value-of select="//description"/>
Je me doute que ca doit pouvoir marcher avec une instruction magique ou peut-être que mon problème a un lien avec le fait que mon fichier xml n'a pas d'"encoding" à cause d'un problème avec l'objet dom.
Lorsque je crée mon fichier Xml avec l'instruction :



$dom = new DomDocument('1.0', 'ISO-8859-1');



Dès qu'un texte de noeud comporte un caractère spécial du genre "é" ou "à". J'avais une erreur du genre :


a écrit :


output conversion failed due to conv error, bytes 0xE0 0x20 0x31 0x35 in



J'ai essayé tous les encodages possibles (enfin 'utf-8', 'iso-8859-1' et 'iso-8859-15') et rien ne marchait.

Puis finalement j'ai vu un code du genre :



	$dom = new DomDocument('1.0', 'ISO-8859-1');
	$dom->__construct();



Ce qui ressemble surement beaucoup à :


        $dom = new DomDocument();


Mais ca a marché, pendant deux jours, puis maintenant les caractères spéciaux sont convertis en caractères chinois (des vrais caractères chinois). Donc je suis un peu dans l'impasse à ce niveau-là aussi.

Je remercie d'avance toute personne qui pourra m'aider dans quel que domaine que ce soit.
Modifié par eee (07 Mar 2007 - 12:42)
Pourquoi ne pas mettre un <br /> en dur ? Au pire en précisant le namespace ça devrait pas poser de problème :
<?xml version="1.0" encoding="utf-8" ?>
<tonElementRoot xmlns:html="http://www.w3.org/1999/xhtml">
 ...

 <description>
   Gestion des dates dans <html:br/> le moteur de recherche
 </description>

..
</tonElementRoot>