bug34276.phpt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Bug #34276 (setAttributeNS and default namespace)
  3. --EXTENSIONS--
  4. dom
  5. --FILE--
  6. <?php
  7. $xml = <<<HERE
  8. <?xml version="1.0" encoding="ISO-8859-1" ?>
  9. <foo xmlns="http://www.example.com/ns/foo"
  10. xmlns:fubar="http://www.example.com/ns/fubar" attra="attra" />
  11. HERE;
  12. function dump($elems) {
  13. foreach ($elems as $elem) {
  14. var_dump($elem->nodeName);
  15. dump($elem->childNodes);
  16. }
  17. }
  18. $dom = new DOMDocument();
  19. $dom->loadXML($xml);
  20. $foo = $dom->documentElement;
  21. var_dump($foo->hasAttributeNS('http://www.example.com/ns/foo', 'attra'));
  22. var_dump($foo->getAttributeNS('http://www.example.com/ns/foo', 'attra'));
  23. $foo->setAttributeNS('http://www.example.com/ns/foo', 'attra', 'attranew');
  24. $foo->setAttributeNS('http://www.example.com/ns/fubar', 'attrb', 'attrbnew');
  25. $foo->setAttributeNS('http://www.example.com/ns/foo', 'attrc', 'attrc');
  26. var_dump($foo->getAttributeNS('http://www.example.com/ns/foo', 'attra'));
  27. var_dump($foo->getAttributeNS('http://www.example.com/ns/fubar', 'attrb'));
  28. var_dump($foo->getAttributeNS('http://www.example.com/ns/foo', 'attrc'));
  29. print $dom->saveXML();
  30. ?>
  31. --EXPECT--
  32. bool(false)
  33. string(0) ""
  34. string(8) "attranew"
  35. string(8) "attrbnew"
  36. string(5) "attrc"
  37. <?xml version="1.0" encoding="ISO-8859-1"?>
  38. <foo xmlns="http://www.example.com/ns/foo" xmlns:fubar="http://www.example.com/ns/fubar" xmlns:default="http://www.example.com/ns/foo" attra="attra" default:attra="attranew" fubar:attrb="attrbnew" default:attrc="attrc"/>