ID: 31779 Updated by: [EMAIL PROTECTED] Reported By: galg at sphera dot com Status: Wont fix Bug Type: DOM XML related Operating System: Linux PHP Version: 4.3.10 Assigned To: rrichards New Comment:
Even it were to be fixed, people would need to change their code as an api change is required. The reason is that its possible to use the cdata as text in libxml, but there was no way to fix the xsl issues without an api change. had to decide against the lesser of 2 evils here. Previous Comments: ------------------------------------------------------------------------ [2005-02-08 14:22:16] galg at sphera dot com Hello Rob. Thanks for the update. The problem is that the updated Linux distributions are using libxml2 version 2.6 and most of the production servers which are running PHP are using the distibution binary package. Not fixing this bug means that people have to change their code lines which were written as described in the php documentation of DomXML and used to work. Please reconsider fixing this bug. Regards, Gal ------------------------------------------------------------------------ [2005-02-07 22:12:12] [EMAIL PROTECTED] This change was necessary as libxml 2.6 broke a bunch of domxml's xsl stuff. This would require an API change to be able to support loading CDATA. domxml behavior when using libxml 2.6+ and loading a document now converts incoming CDATA to TEXT nodes. This does not affect creating CDATA manually however. ------------------------------------------------------------------------ [2005-02-06 07:01:13] [EMAIL PROTECTED] Rob, can you please check this out? ------------------------------------------------------------------------ [2005-02-06 00:18:54] galg at sphera dot com It's seems to be a problem with the integration of PHP 4.3.x and libxml2 ver 2.6.x. I've tested the following php5 script on PHP 5.0.2 compiled with libxml2-2.6.11 and it worked as expected: <?php $sXML = <<<XML <?xml version="1.0" encoding="UTF-8"?> <XML_DOC> <![CDATA[ something inside the CDATA. ]]> </XML_DOC> XML; $objXML = new DOMDocument; $objXML->loadXML($sXML); foreach ($objXML->documentElement->childNodes as $child) { echo "Type: " . $child->nodeType . "\t | \t"; echo "Name: " . $child->nodeName; echo "\n"; } ?> The php5 script returns good result: the CDATA section with type 4. Could it be that the problem is an API change in the libxml2 version 2.6.x which wasn't updated in version 4.3.x of php ? The result of the script on my environment is: Type: 3 | Name: #text Type: 4 | Name: #cdata-section Type: 3 | Name: #text Regards, Gal ------------------------------------------------------------------------ [2005-02-05 16:03:04] galg at sphera dot com Made 2 more tests: I've compiled php 4.3.10 with the latest libxml2 ver 2.6.17 and still has the same problem I tried also to compile it agains version libxml2-2.5.11 and it worked as expected. The problem seems to be only with version 2.6.x of libxml2. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/31779 -- Edit this bug report at http://bugs.php.net/?id=31779&edit=1