008.phpt 1.1 KB

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