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