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

Reply via email to