Browse Source

MFH: fix bug #47849 (Non-deep import loses the namespace)

add test
experimental/5.3-FPM
Rob Richards 18 years ago
parent
commit
f0b4c7be5c
  1. 3
      ext/dom/document.c
  2. 22
      ext/dom/tests/bug47849.phpt

3
ext/dom/document.c

@ -1196,6 +1196,9 @@ PHP_FUNCTION(dom_document_import_node)
if (nodep->doc == docp) {
retnodep = nodep;
} else {
if ((recursive == 0) && (nodep->type == XML_ELEMENT_NODE)) {
recursive = 2;
}
retnodep = xmlDocCopyNode(nodep, docp, recursive);
if (!retnodep) {
RETURN_FALSE;

22
ext/dom/tests/bug47849.phpt

@ -0,0 +1,22 @@
--TEST--
Bug #47849 (Non-deep import loses the namespace).
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$aDOM= new DOMDocument();
$aDOM->appendChild($aDOM->createElementNS('urn::root','r:root'));
$fromdom= new DOMDocument();
$fromdom->loadXML('<data xmlns="urn::data">aaa</data>');
$data= $fromdom->documentElement;
$aDOM->documentElement->appendChild($aDOM->importNode($data));
echo $aDOM->saveXML();
?>
--EXPECT--
<?xml version="1.0"?>
<r:root xmlns:r="urn::root"><data xmlns="urn::data"/></r:root>
Loading…
Cancel
Save