Bug #47847 [Csd->ReO]: importNode loses the namespace of an XML element.
| From: | nielsdos@php.net | 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