007.phpt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. XMLWriter: libxml2 XML Writer, Elements & Attributes
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("xmlwriter")) die("skip");
  6. if (LIBXML_VERSION < 20629) die("skip: libxml2 2.6.29+ required");
  7. ?>
  8. --FILE--
  9. <?php
  10. /* $Id$ */
  11. $xw = xmlwriter_open_memory();
  12. xmlwriter_set_indent($xw, TRUE);
  13. xmlwriter_set_indent_string($xw, ' ');
  14. xmlwriter_start_document($xw, '1.0', "UTF-8");
  15. xmlwriter_start_element($xw, 'root');
  16. xmlwriter_start_element_ns($xw, 'ns1', 'child1', 'urn:ns1');
  17. xmlwriter_start_attribute_ns($xw, 'ns1', 'att1', 'urn:ns1');
  18. xmlwriter_text($xw, 'a&b');
  19. xmlwriter_end_attribute($xw);
  20. xmlwriter_write_attribute($xw, 'att2', "double\" single'");
  21. xmlwriter_start_attribute_ns($xw, 'ns1', 'att2', 'urn:ns1');
  22. xmlwriter_text($xw, "<>\"'&");
  23. xmlwriter_end_attribute($xw);
  24. xmlwriter_write_element($xw, 'chars', "special characters: <>\"'&");
  25. xmlwriter_end_element($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. <root>
  34. <ns1:child1 ns1:att1="a&amp;b" att2="double&quot; single'" ns1:att2="&lt;&gt;&quot;'&amp;" xmlns:ns1="urn:ns1">
  35. <chars>special characters: &lt;&gt;&quot;'&amp;</chars>
  36. </ns1:child1>
  37. </root>