012.phpt 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. --TEST--
  2. XMLReader: accessing empty and non existing attributes
  3. --SKIPIF--
  4. <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. /* $Id$ */
  8. $xmlstring =<<<EOF
  9. <?xml version="1.0" encoding="UTF-8"?>
  10. <foo bar=""/>
  11. EOF;
  12. $reader = new XMLReader();
  13. $reader->XML($xmlstring);
  14. $reader->read();
  15. var_dump($reader->getAttribute('bar'));
  16. var_dump($reader->getAttribute('baz'));
  17. $reader->close();
  18. $xmlstring =<<<EOF
  19. <?xml version="1.0" encoding="UTF-8"?>
  20. <!DOCTYPE foo SYSTEM "012.dtd">
  21. <foo bar=""/>
  22. EOF;
  23. $xmlstring = str_replace('012.dtd', dirname(__FILE__).'/012.dtd', $xmlstring);
  24. if (DIRECTORY_SEPARATOR == '\\') {
  25. $xmlstring = str_replace('\\',"/", $xmlstring);
  26. }
  27. $reader = new XMLReader();
  28. $reader->XML($xmlstring);
  29. $reader->setParserProperty(XMLReader::DEFAULTATTRS, true);
  30. while($reader->read() && $reader->nodeType != XMLReader::ELEMENT);
  31. var_dump($reader->getAttribute('bar'));
  32. var_dump($reader->getAttribute('baz'));
  33. $reader->close();
  34. echo "\nUsing URI:\n";
  35. $reader = new XMLReader();
  36. $file = dirname(__FILE__) . '/012.xml';
  37. if (DIRECTORY_SEPARATOR == '\\') {
  38. $file = str_replace('\\',"/", $file);
  39. }
  40. $reader->open($file);
  41. //$reader->setParserProperty(XMLReader::DEFAULTATTRS, true);
  42. while($reader->read() && $reader->nodeType != XMLReader::ELEMENT);
  43. var_dump($reader->getAttribute('bar'));
  44. var_dump($reader->getAttribute('baz'));
  45. $reader->close();
  46. $reader = new XMLReader();
  47. $reader->open(dirname(__FILE__) . '/012.xml');
  48. $reader->setParserProperty(XMLReader::DEFAULTATTRS, true);
  49. while($reader->read() && $reader->nodeType != XMLReader::ELEMENT);
  50. var_dump($reader->getAttribute('bar'));
  51. var_dump($reader->getAttribute('baz'));
  52. $reader->close();
  53. ?>
  54. ===DONE===
  55. --EXPECT--
  56. string(0) ""
  57. NULL
  58. string(0) ""
  59. string(0) ""
  60. Using URI:
  61. string(0) ""
  62. NULL
  63. string(0) ""
  64. string(0) ""
  65. ===DONE===