[DOM] Création automatique de sections CDATA
Bonjour,
Je viens de changer de serveur (serveur dédié sous debian, paquets PHP 5.2.0 dotdeb), et depuis le générateur XML pose problème.
Je crée ma page via l'interface DOM de PHP, et je sauve en XML pour générer ma page xHTML.
Jusqu'à présent aucun problème, mais depuis la migration, dans ma balise script lorsque je veux commenter le <![CDATA[, le parseur place mes commentaires (//) dans une nouvelle section CDATA.
Voici le code que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10
| <?php
/* [...] */
$script= $doc -> createElement('script');
$script -> setAttribute('type','text/javascript');
$script -> appendChild($doc -> createTextNode('//'));
$script -> appendChild($doc -> createCDATASection ( "\n".$this -> script."\n//" ));
$head -> appendChild($script);
/* [...] */
return $this->outputDocument -> save ('php://output');
?> |
le code qui doit être généré (et qui était généré sur l'ancien serveur avec les mêmes paquets) est le suivant :
Code:
1 2 3
| <script type="text/javascript">//<![CDATA[
// [ ... ]
//]]></script> |
Or je me retrouve avec :
Code:
1 2 3
| <script type="text/javascript"><![CDATA[//]]><![CDATA[
// [ ... ]
//]]></script> |
et donc une erreur de script (car javascript ne connait pas l'instruction <![CDATA[).
la config du serveur :
Citation:
dom
DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.16
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled
libxml
libXML support active
libXML Version 2.6.16
libXML streams enabled
xml
XML Support active
XML Namespace Support active
libxml2 Version 2.6.16
xmlreader
XMLReader enabled
xmlwriter
XMLWriter enabled
Quelqu'un aurait une idée sur ce que je fais mal ? comment résoudre ce problème ?
merci