009.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. XMLWriter: PI, Comment, CDATA
  3. --EXTENSIONS--
  4. xmlwriter
  5. --FILE--
  6. <?php
  7. /*
  8. Libxml 2.6.24 and up adds a new line after a processing instruction (PI)
  9. */
  10. $xw = xmlwriter_open_memory();
  11. xmlwriter_set_indent($xw, TRUE);
  12. xmlwriter_start_document($xw, NULL, "UTF-8");
  13. xmlwriter_start_element($xw, 'root');
  14. xmlwriter_write_attribute($xw, 'id', 'elem1');
  15. xmlwriter_start_element($xw, 'elem1');
  16. xmlwriter_write_attribute($xw, 'attr1', 'first');
  17. xmlwriter_write_comment($xw, 'start PI');
  18. xmlwriter_start_element($xw, 'pi');
  19. xmlwriter_write_pi($xw, 'php', 'echo "hello world"; ');
  20. xmlwriter_end_element($xw);
  21. xmlwriter_start_element($xw, 'cdata');
  22. xmlwriter_start_cdata($xw);
  23. xmlwriter_text($xw, '<>&"');
  24. xmlwriter_end_cdata($xw);
  25. xmlwriter_end_element($xw);
  26. xmlwriter_end_element($xw);
  27. xmlwriter_end_element($xw);
  28. xmlwriter_end_document($xw);
  29. // Force to write and empty the buffer
  30. $output = xmlwriter_flush($xw, true);
  31. print $output;
  32. ?>
  33. --EXPECTF--
  34. <?xml version="1.0" encoding="UTF-8"?>
  35. <root id="elem1">
  36. <elem1 attr1="first">
  37. <!--start PI-->
  38. <pi><?php echo "hello world"; ?>%w</pi>
  39. <cdata><![CDATA[<>&"]]></cdata>
  40. </elem1>
  41. </root>