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