007.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. --TEST--
  2. XMLReader: libxml2 XML Reader, setRelaxNGSchema
  3. --EXTENSIONS--
  4. xmlreader
  5. --FILE--
  6. <?php
  7. $xmlstring = '<TEI.2>hello</TEI.2>';
  8. $relaxngfile = __DIR__ . '/relaxNG.rng';
  9. $file = __DIR__ . '/_007.xml';
  10. file_put_contents($file, $xmlstring);
  11. $reader = new XMLReader();
  12. $reader->open($file);
  13. if ($reader->setRelaxNGSchema($relaxngfile)) {
  14. while ($reader->read());
  15. }
  16. if ($reader->isValid()) {
  17. print "file relaxNG: ok\n";
  18. } else {
  19. print "file relaxNG: failed\n";
  20. }
  21. $reader->close();
  22. unlink($file);
  23. $reader = new XMLReader();
  24. $reader->XML($xmlstring);
  25. if ($reader->setRelaxNGSchema($relaxngfile)) {
  26. while ($reader->read());
  27. }
  28. if ($reader->isValid()) {
  29. print "string relaxNG: ok\n";
  30. } else {
  31. print "string relaxNG: failed\n";
  32. }
  33. $reader->close();
  34. $reader = new XMLReader();
  35. $reader->XML($xmlstring);
  36. try {
  37. $reader->setRelaxNGSchema('');
  38. } catch (ValueError $exception) {
  39. echo $exception->getMessage() . "\n";
  40. }
  41. $reader->close();
  42. ?>
  43. --EXPECT--
  44. file relaxNG: ok
  45. string relaxNG: ok
  46. XMLReader::setRelaxNGSchema(): Argument #1 ($filename) cannot be empty