007.phpt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --TEST--
  2. XMLReader: libxml2 XML Reader, setRelaxNGSchema
  3. --SKIPIF--
  4. <?php if (!extension_loaded("xmlreader")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. /* $Id$ */
  8. $xmlstring = '<TEI.2>hello</TEI.2>';
  9. $relaxngfile = dirname(__FILE__) . '/relaxNG.rng';
  10. $file = dirname(__FILE__) . '/_007.xml';
  11. file_put_contents($file, $xmlstring);
  12. $reader = new XMLReader();
  13. $reader->open($file);
  14. if ($reader->setRelaxNGSchema($relaxngfile)) {
  15. while ($reader->read());
  16. }
  17. if ($reader->isValid()) {
  18. print "file relaxNG: ok\n";
  19. } else {
  20. print "file relaxNG: failed\n";
  21. }
  22. $reader->close();
  23. unlink($file);
  24. $reader = new XMLReader();
  25. $reader->XML($xmlstring);
  26. if ($reader->setRelaxNGSchema($relaxngfile)) {
  27. while ($reader->read());
  28. }
  29. if ($reader->isValid()) {
  30. print "string relaxNG: ok\n";
  31. } else {
  32. print "string relaxNG: failed\n";
  33. }
  34. $reader->close();
  35. $reader = new XMLReader();
  36. $reader->XML($xmlstring);
  37. if ($reader->setRelaxNGSchema('')) {
  38. echo 'failed';
  39. }
  40. $reader->close();
  41. ?>
  42. ===DONE===
  43. --EXPECTF--
  44. file relaxNG: ok
  45. string relaxNG: ok
  46. Warning: XMLReader::setRelaxNGSchema(): Schema data source is required in %s on line %d
  47. ===DONE===