Transforming XML into Basic HTML
Parsing With Expat and PHP
"); break;
case ("name"):
print (""); break;
case ("address"):
print ("Address\n"); break;
case ("tel"):
print ("
Telephone\n"); break;
case ("contact"):
case ("name"):
case ("first"):
case ("middle"):
case ("last"):
case ("title"):
case ("employer"):
case ("dob"):
break;
default:
print ("Warning: Unknown tag '$name'"); break;
}
}
function end_elem ($parser, $name) {
global $cdata;
$cdata = trim ($cdata);
switch ($name)
{
case ("personal"):
print ("
\n\n"); break;
case ("name"):
print ("\n"); break;
case ("first"):
print ($cdata . " "); $cdata = ""; break;
case ("middle"):
print ($cdata . " "); $cdata = ""; break;
case ("last"):
print ("$cdata"); $cdata = ""; break;
case ("title"):
print ("
Title: $cdata\n"); $cdata = ""; break;
case ("employer"):
print ("
Company: $cdata\n"); $cdata = ""; break;
case ("dob"):
print ("
Birthdate: $cdata\n"); $cdata = ""; break;
default:
print ("Warning: Unknown element '$name'"); break;
}
}
function cdata ($parser, $data) {
global $cdata;
$cdata .= $data;
}
$file = "contact.xml";
$parser = xml_parser_create ();
xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler ($parser, "start_elem", "end_elem");
xml_set_character_data_handler ($parser, "cdata");
$fp = fopen ($file, "r");
if (!$fp){
die ("Couldn't open $file for reading");
}
while ($xml_input = fread ($fp, 2048)) {
$ok = xml_parse ($parser, $xml_input, feof ($fp));
if (!$ok)
die (sprintf ("Error in $file: '%s' at line %d",
xml_error_string (xml_get_error_code ($parser)),
xml_get_current_line_number ($parser)));
}
xml_parser_free ($parser);
?>
/*
J
J
J
Manager
National Company
1951-02-02
*/