xml004.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. --TEST--
  2. XML parser case folding test
  3. --EXTENSIONS--
  4. xml
  5. --FILE--
  6. <?php
  7. chdir(__DIR__);
  8. $xp = xml_parser_create();
  9. xml_parser_set_option($xp, XML_OPTION_CASE_FOLDING, false);
  10. xml_set_element_handler($xp, "start_element", "end_element");
  11. $fp = fopen("xmltest.xml", "r");
  12. while ($data = fread($fp, 4096)) {
  13. xml_parse($xp, $data, feof($fp));
  14. }
  15. xml_parser_free($xp);
  16. $xp = xml_parser_create();
  17. xml_parser_set_option($xp, XML_OPTION_CASE_FOLDING, true);
  18. xml_set_element_handler($xp, "start_element", "end_element");
  19. $fp = fopen("xmltest.xml", "r");
  20. while ($data = fread($fp, 4096)) {
  21. xml_parse($xp, $data, feof($fp));
  22. }
  23. xml_parser_free($xp);
  24. function start_element($xp, $elem, $attribs)
  25. {
  26. print "<$elem";
  27. if (sizeof($attribs)) {
  28. foreach ($attribs as $k => $v) {
  29. print " $k=\"$v\"";
  30. }
  31. }
  32. print ">\n";
  33. }
  34. function end_element($xp, $elem)
  35. {
  36. print "</$elem>\n";
  37. }
  38. ?>
  39. --EXPECT--
  40. <root id="elem1">
  41. <elem1>
  42. <elem2>
  43. <elem3>
  44. <elem4>
  45. </elem4>
  46. </elem3>
  47. </elem2>
  48. </elem1>
  49. </root>
  50. <ROOT ID="elem1">
  51. <ELEM1>
  52. <ELEM2>
  53. <ELEM3>
  54. <ELEM4>
  55. </ELEM4>
  56. </ELEM3>
  57. </ELEM2>
  58. </ELEM1>
  59. </ROOT>