-
Notifications
You must be signed in to change notification settings - Fork 8k
Expand file tree
/
Copy pathXMLDocument_node_notation_wiring.phpt
More file actions
101 lines (95 loc) · 2.15 KB
/
XMLDocument_node_notation_wiring.phpt
File metadata and controls
101 lines (95 loc) · 2.15 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
--TEST--
Dom\XMLDocument: Dom\Notation nodes are connected to their document and doctype
--EXTENSIONS--
dom
--FILE--
<?php
$cases = [
'GIF' => '<!NOTATION GIF SYSTEM "image/gif">',
'JPEG' => '<!NOTATION JPEG PUBLIC "-//W3C//NOTATION JPEG//EN" "image/jpeg">',
'HTML' => '<!NOTATION HTML PUBLIC "-//W3C//NOTATION HTML//EN">',
];
foreach ($cases as $name => $declaration) {
$xml = <<<XML
<!DOCTYPE root [
$declaration
]>
<root/>
XML;
$dom = Dom\XMLDocument::createFromString($xml);
$doctype = $dom->doctype;
$notations = $doctype->notations;
echo "=== $name ===\n";
$namedNotation = $notations->getNamedItem($name);
foreach ($notations as $iteratedNotation) {
// getNamedItem
var_dump($namedNotation->nodeName);
var_dump($namedNotation->textContent);
var_dump($namedNotation->nodeValue);
var_dump($namedNotation->isConnected);
var_dump($namedNotation->ownerDocument === $dom);
var_dump($namedNotation->parentNode === $doctype);
var_dump($namedNotation->parentElement);
// iteration
var_dump($iteratedNotation->nodeName);
var_dump($iteratedNotation->textContent);
var_dump($iteratedNotation->nodeValue);
var_dump($iteratedNotation->isConnected);
var_dump($iteratedNotation->ownerDocument === $dom);
var_dump($iteratedNotation->parentNode === $doctype);
var_dump($iteratedNotation->parentElement);
// wiring
// getNamedItem and iteration each allocate a fresh Notation instance
var_dump($namedNotation !== $iteratedNotation);
}
}
?>
--EXPECT--
=== GIF ===
string(3) "GIF"
NULL
NULL
bool(true)
bool(true)
bool(true)
NULL
string(3) "GIF"
NULL
NULL
bool(true)
bool(true)
bool(true)
NULL
bool(true)
=== JPEG ===
string(4) "JPEG"
NULL
NULL
bool(true)
bool(true)
bool(true)
NULL
string(4) "JPEG"
NULL
NULL
bool(true)
bool(true)
bool(true)
NULL
bool(true)
=== HTML ===
string(4) "HTML"
NULL
NULL
bool(true)
bool(true)
bool(true)
NULL
string(4) "HTML"
NULL
NULL
bool(true)
bool(true)
bool(true)
NULL
bool(true)