1--TEST-- 2Cloning an attribute should retain its namespace 02 3--EXTENSIONS-- 4dom 5--FILE-- 6<?php 7 8$dom = new DOMDocument; 9$dom->loadXML(<<<XML 10<?xml version="1.0"?> 11<container xmlns:foo="some:ns" foo:bar="1"/> 12XML); 13 14$dom2 = new DOMDocument; 15$dom2->loadXML(<<<XML 16<?xml version="1.0"?> 17<container xmlns:foo="some:other"/> 18XML); 19 20$imported = $dom2->importNode($dom->documentElement->getAttributeNodeNs("some:ns", "bar")); 21var_dump($imported->prefix, $imported->namespaceURI); 22$dom2->documentElement->setAttributeNodeNs($imported); 23var_dump($imported->prefix, $imported->namespaceURI); 24 25echo $dom->saveXML(); 26echo $dom2->saveXML(); 27 28?> 29--EXPECT-- 30string(7) "default" 31string(7) "some:ns" 32string(7) "default" 33string(7) "some:ns" 34<?xml version="1.0"?> 35<container xmlns:foo="some:ns" foo:bar="1"/> 36<?xml version="1.0"?> 37<container xmlns:foo="some:other" xmlns:default="some:ns" default:bar="1"/> 38