File tree 1 file changed +33
-0
lines changed
1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ GH-12455 (Namespace prefixes reused incorrectly depending on libxml2 version)
3
+ --EXTENSIONS--
4
+ dom
5
+ --FILE--
6
+ <?php
7
+
8
+ $ doc = new DOMDocument ();
9
+ $ element = $ doc ->createElementNS ('http://test ' , 'a:x ' );
10
+ $ doc ->appendChild ($ element );
11
+ $ element1 = $ doc ->createElementNS ('http://test ' , 'b:y ' );
12
+ $ element ->appendChild ($ element1 );
13
+ $ element1 ->appendChild ($ doc ->createElementNS ('http://test ' , 'b:z ' ));
14
+ echo $ doc ->saveXml ();
15
+
16
+ $ xpath = new DOMXPath ($ doc );
17
+ $ xpath ->registerNodeNamespaces = true ;
18
+ $ xpath ->registerNamespace ('b ' , 'http://test ' );
19
+
20
+ $ elements = $ xpath ->query ('//b:z ' );
21
+ foreach ($ elements as $ e ) {
22
+ var_dump ($ e ->nodeName );
23
+ }
24
+
25
+ $ elements = $ xpath ->query ('//*[name()="b:z"] ' );
26
+ echo $ elements ->length ;
27
+
28
+ ?>
29
+ --EXPECT--
30
+ <? xml version="1.0 "?>
31
+ <a:x xmlns:a="http://test"><b:y xmlns:b="http://test"><b:z/></b:y></a:x>
32
+ string(3) "b:z"
33
+ 1
You can’t perform that action at this time.
0 commit comments