From: frank at cleverbridge dot com
Operating system: Linux 2.6.12-1.1381_FC3 i686 ath
PHP version: 5.1.3
PHP Bug Type: *XML functions
Bug description: cloning Dom Documents or Nodes does not work
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 bug report at http://bugs.php.net/?id=37277&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=37277&r=trysnapshot44
Try a CVS snapshot (PHP 5.1):
http://bugs.php.net/fix.php?id=37277&r=trysnapshot51
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=37277&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=37277&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=37277&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=37277&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=37277&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=37277&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=37277&r=support
Expected behavior: http://bugs.php.net/fix.php?id=37277&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=37277&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=37277&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=37277&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37277&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=37277&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=37277&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=37277&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=37277&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=37277&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=37277&r=mysqlcfg