ID: 37277
Updated by: [EMAIL PROTECTED]
Reported By: frank at cleverbridge dot com
-Status: Open
+Status: Assigned
-Bug Type: *XML functions
+Bug Type: DOM XML related
Operating System: Linux 2.6.12-1.1381_FC3 i686 ath
PHP Version: 5.1.3
-Assigned To:
+Assigned To: rrichards
New Comment:
Fix is coming. Until then use the cloneNode() method instead of the
clone keyword.
Previous Comments:
------------------------------------------------------------------------
[2006-05-02 15:04:05] frank at cleverbridge dot com
Description:
------------
Since 5.1.3 you cannot copy a dom object. References still work. The
implementation of the xml extension seam to have changed.
Reproduce code:
---------------
Since 5.1.3 the following code does not work anymore:
<?php
$dom1 = new DomDocument('1.0', 'UTF-8');
$xml = '<foo />';
$dom1->loadXml($xml);
print "<xmp>\n".$dom1->saveXML()."</xmp>\n";
$node = clone $dom1->documentElement;
$dom2 = new DomDocument('1.0', 'UTF-8');
$dom2->appendChild($dom2->importNode($node->cloneNode(true), TRUE));
print "<xmp>\n".$dom2->saveXML()."</xmp>\n";
$dom3 = clone $dom1;
print "<xmp>\n".$dom3->saveXML()."</xmp>\n";
?>
Expected result:
----------------
<?xml version="1.0"?>
<foo/>
<?xml version="1.0"?>
<foo/>
<?xml version="1.0"?>
<foo/>
Actual result:
--------------
<?xml version="1.0"?> <foo/>
Warning: DOMNode::cloneNode() [function.DOMNode-cloneNode]: Couldn't
fetch DOMElement in /www/content/
spielzeug/xslt/513.php on line 13
Warning: DOMDocument::importNode() expects parameter 1 to be DOMNode,
null given in /www/content/
spielzeug/xslt/513.php on line 13
Warning: DOMNode::appendChild() expects parameter 1 to be DOMNode, null
given in /www/content/
spielzeug/xslt/513.php on line 13
<?xml version="1.0" encoding="UTF-8"?>
Warning: DOMDocument::saveXML() [function.DOMDocument-saveXML]:
Couldn't fetch DOMDocument in /www/content/
spielzeug/xslt/513.php on line 19
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37277&edit=1