Bug #47847 [Csd->ReO]: importNode loses the namespace of an XML element.

From: Date: Thu, 28 Sep 2023 17:34:14 +0000
Subject: Bug #47847 [Csd->ReO]: importNode loses the namespace of an XML element.
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-245450@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=47847&edit=1 ID: 47847 Updated by: nielsdos@php.net Reported by: robin2008 at altruists dot org Summary: importNode loses the namespace of an XML element. -Status: Closed +Status: Re-Opened Type: Bug Package: DOM XML related Operating System: Ubuntu PHP Version: 5.2.9 Assigned To: nielsdos Block user comment: N Private report: N New Comment: Had to revert the fix unfortunately because some applications are dependent on a particular serialization. See https://github.com/php/php-src/pull/12308 I'm planning to work on spec-compliance related issues in the near future (in an opt-in manner), so I will consider this issue as a part of that effort. Previous Comments: ------------------------------------------------------------------------ [2023-06-16 21:18:24] nielsdos@php.net The fix for this bug has been committed. If you are still experiencing this bug, try to check out latest source from https://github.com/php/php-src and re-test. Thank you for the report, and for helping us make PHP better. Fixed via https://github.com/php/php-src/commit/b30be40b86b62fc681c432fd96840d8e57e172a5 ------------------------------------------------------------------------ [2023-04-22 05:02:00] hunthealth8 at gmail dot com Healthhunt are sharing latest news about Disease Management, Lifestyle & Wellness, Men's Mental Health etc. More info to visit:(https://healthhunt.net)github.com ------------------------------------------------------------------------ [2009-03-31 11:20:45] robin2008 at altruists dot org Description: ------------ ImportNode don't treat namespace properly Reproduce code: --------------- <?php // PHP 5.2.* namespace bug - A namespaced node loses its namespace on import if // (i) It has @xmlns="" // (ii) A namespaceURI of its parent's @xmlns $aDOM= new DOMDocument(); $aDOM->appendChild($aDOM->createElementNS(' http://friend2friend.net ','f2f:a')); echo 'DOM to add into is '.$aDOM->saveXML().chr(13); $fromdom= DOMDocument::loadXML('<?xml version="1.0"?><f2f:data xmlns:f2f=" http://friend2friend.net "><f2f:servicereq xmlns=" http://friend2friend.net "> <f2f:WATCH-MY-NAMESPACE xmlns=""/></f2f:servicereq></f2f:data> '); echo 'Dom to import from is'.$fromdom->saveXML().chr(13); $imported= $aDOM->importNode($fromdom->firstChild->firstChild, 1); $aDOM->appendChild($imported); echo 'Result is '.$aDOM->saveXML(); ?> Expected result: ---------------- Namespace should be preserved Actual result: -------------- Namespace gets lost ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=47847&edit=1

« previous php.bugs (#245450) next »