1--TEST-- 2Cloning a whole document 3--EXTENSIONS-- 4dom 5--FILE-- 6<?php 7 8$dom = Dom\XMLDocument::createFromString(<<<XML 9<?xml version="1.0" encoding="UTF-8"?> 10<!DOCTYPE root [ 11 <!ELEMENT child (#PCDATA)> 12 <!ELEMENT child2 (#PCDATA)> 13 <!ENTITY foo "bar"> 14]> 15<root xmlns:a="urn:a" a:foo="bar"> 16 afoob 17 <child> 18 <![CDATA[c]]> 19 </child> 20 <child2>&foo;</child2> 21</root> 22XML); 23 24echo "---\n"; 25 26var_dump($dom->getElementsByTagName("child2")[0]->firstChild->nodeName); 27 28echo "---\n"; 29 30$clone = clone $dom; 31echo $clone->saveXml(), "\n"; 32 33var_dump($clone->getElementsByTagName("child2")[0]->firstChild->nodeName); 34 35echo "---\n"; 36 37$clone = $dom->cloneNode(false); 38echo $clone->saveXml(), "\n"; 39 40echo "---\n"; 41 42$clone = $dom->documentElement->cloneNode(false); 43echo $clone->ownerDocument->saveXml($clone), "\n"; 44 45?> 46--EXPECT-- 47--- 48string(3) "foo" 49--- 50<?xml version="1.0" encoding="UTF-8"?> 51<!DOCTYPE root [ 52<!ELEMENT child (#PCDATA)> 53<!ELEMENT child2 (#PCDATA)> 54<!ENTITY foo "bar"> 55]> 56<root xmlns:a="urn:a" a:foo="bar"> 57 afoob 58 <child> 59 <![CDATA[c]]> 60 </child> 61 <child2>&foo;</child2> 62</root> 63string(3) "foo" 64--- 65<?xml version="1.0" encoding="UTF-8"?> 66 67--- 68<root xmlns:a="urn:a" a:foo="bar"/> 69