008.phpt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. XMLWriter: libxml2 XML Writer DTD Element & Attlist
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("xmlwriter")) die("skip");
  6. ?>
  7. --FILE--
  8. <?php
  9. /* $Id$ */
  10. $xw = xmlwriter_open_memory();
  11. xmlwriter_set_indent($xw, TRUE);
  12. xmlwriter_start_document($xw, NULL, "UTF-8");
  13. xmlwriter_start_dtd_entity($xw, "ent", false);
  14. xmlwriter_text($xw, "val");
  15. xmlwriter_end_dtd_entity($xw);
  16. xmlwriter_write_dtd_entity($xw, "ent2", "val2");
  17. xmlwriter_write_dtd_element($xw, 'sxe', '(elem1+, elem11, elem22*)');
  18. xmlwriter_write_dtd_attlist($xw, 'sxe', 'id CDATA #implied');
  19. xmlwriter_start_dtd_element($xw, 'elem1');
  20. xmlwriter_text($xw, 'elem2*');
  21. xmlwriter_end_dtd_element($xw);
  22. xmlwriter_start_dtd_attlist($xw, 'elem1');
  23. xmlwriter_text($xw, "attr1 CDATA #required\n");
  24. xmlwriter_text($xw, 'attr2 CDATA #implied');
  25. xmlwriter_end_dtd_attlist($xw);
  26. xmlwriter_end_document($xw);
  27. // Force to write and empty the buffer
  28. $output = xmlwriter_flush($xw, true);
  29. print $output;
  30. ?>
  31. --EXPECT--
  32. <?xml version="1.0" encoding="UTF-8"?>
  33. <!ENTITY ent "val">
  34. <!ENTITY ent2 "val2">
  35. <!ELEMENT sxe (elem1+, elem11, elem22*)>
  36. <!ATTLIST sxe id CDATA #implied>
  37. <!ELEMENT elem1 elem2*>
  38. <!ATTLIST elem1 attr1 CDATA #required
  39. attr2 CDATA #implied>