";
echo "$d ";
} else echo "??? ";
} else if ($name == "link") {
$addr = (isset($attribs["ref"])) ? $attribs["ref"] : "";
echo "";
} else if ($name == "list") {
echo "";
} else if ($name == "li") {
echo "- ";
}
}
function endElement($parser, $name) {
global $max_items;
if ($max_items == 0) return;
if ($name == "entry") { echo "\n";
if ($max_items > 0) $max_items--;
}
else if ($name == "link") echo "
";
else if ($name == "list") echo "";
else if ($name == "li") echo "";
}
function characterData($parser, $data) {
global $max_items;
if ($max_items == 0) return;
echo $data;
}
if (isset($HTTP_GET_VARS['max_items'])) {
$max_items = $HTTP_GET_VARS['max_items'];
}
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("Could not open news XML file!");
}
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);
?>