bug55700.phpt 804 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Bug #55700 (XPath namespace prefix conflict, global registerNodeNS flag)
  3. --EXTENSIONS--
  4. dom
  5. --FILE--
  6. <?php
  7. $doc = new DOMDocument();
  8. $doc->loadXML('<prefix:root xmlns:prefix="urn:a" />');
  9. $xp = new DOMXPath($doc, true);
  10. $xp->registerNamespace('prefix', 'urn:b');
  11. echo($xp->query('//prefix:root')->length . "\n");
  12. $xp = new DOMXPath($doc, false);
  13. $xp->registerNamespace('prefix', 'urn:b');
  14. echo($xp->query('//prefix:root')->length . "\n");
  15. var_dump($xp->registerNodeNamespaces);
  16. $xp->registerNodeNamespaces = true;
  17. var_dump($xp->registerNodeNamespaces);
  18. echo($xp->query('//prefix:root')->length . "\n");
  19. var_dump($xp);
  20. ?>
  21. --EXPECT--
  22. 1
  23. 0
  24. bool(false)
  25. bool(true)
  26. 1
  27. object(DOMXPath)#4 (2) {
  28. ["document"]=>
  29. string(22) "(object value omitted)"
  30. ["registerNodeNamespaces"]=>
  31. bool(true)
  32. }