} function cdata($parser, $data) { global $status, $files; if ($status) { $data = preg_replace('#\\s+#', ' ', $data); $files[sizeof($files) - 1]["title"] .= $data; } } function parse($xraifile) { $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "cdata"); xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false); if (!($fp = fopen("{$xraifile}", "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); } $currentdir = $basedir; print "Processing {$xrai}\n"; startElement(null, "subcollection", array()); cdata(null, $title); endElement(null, "subcollection");
/** * @deprecated */ function characterData($parser, $data) { global $tree; startElement($parser, 'CDATA', array()); $tree->AddData($data); endElement($parser, null); }