Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 0.3.4

Bug #1110 addXmlString throws warning when calling append_child()
Submitted: 2004-04-01 00:10 UTC
From: pear dot php dot net at brianmaddy dot com Assigned: chregu
Status: Closed Package: XML_sql2xml
PHP Version: 4.3.2 OS: Unix
Roadmaps: (Not assigned)    
Subscription  
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes. If this is not your bug, you can add a comment by following this link. If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
2004-04-01 07:13 UTC
Package:
Bug Type:
Summary:
From: pear dot php dot net at brianmaddy dot com
New email:
PHP Version: Package Version: OS:

 

 [2004-04-01 00:10 UTC] pear dot php dot net at brianmaddy dot com
Description: ------------ As of PHP 4.3.2, the append_child function works as specified in the DOM Level 2 specification (http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-184E7107). This causes the following error in XML_sql2xml::addXmlString and XML_sql2xml::add functions (probably some other add* functions also): Warning: append_child(): Can't append node, which is in a different document than the parent node... I believe the origional author meant to work around this by replacing a comment created a few lines earlier, but foorgot to finish the implementation. Anyway, here's the patch that got it to work foor me: --- sql2xml.php.orig Wed Mar 31 18:35:40 2004 +++ sql2xml.php Wed Mar 31 18:37:56 2004 @@ -816,7 +816,7 @@ // if no xpath is given, just take the whole file if ( (is_null($xpath))) { - $newchild->append_child($tmpxml->root()); + $newchild->replace_node($tmpxml->root()); } else { @@ -824,7 +824,7 @@ $xnode = xpath_eval($xctx,$xpath); foreach ($xnode->nodeset as $node) { - $newchild->append_child($node); + $newchild->replace_node($node); } } If one of the developers could add this to the next version, it would be appreciated! Thanks! Brian Reproduce code: --------------- $sqlXml->addXmlString('<date-today>asdf</date-today>'); echo $sqlXml->getXml(); Expected result: ---------------- <?xml version="1.0" ?> <root> <date-today>asdf</date-today> </root> Actual result: -------------- Warning: append_child(): Can't append node, which is in a different document than the parent node...

Comments

 [2004-04-01 07:13 UTC] chregu
This bug has been fixed in CVS. In case this was a documentation problem, the fix will show up at the end of next Sunday (CET) on pear.php.net. In case this was a pear.php.net website problem, the change will show up on the website in short time. Thank you for the report, and for helping us make PEAR better.