\n"); break; case 'TITLE': print(""); break; case 'CODE': print("
");
				break;
			default:
				//ignorowanie innych znnaczników
		}
	}
	
	function endHandler($parser, $name)
	{
		switch($name)
		{
			case 'EXAMPLE':
				print("
\n"); break; case 'TITLE'; print("
"); break; case 'CODE': print("
"); break; default: //ignorowanie innych znaczników } } function piHandler($parser, $target, $data) { if($target == "php") { eval($data); } else { print(htmlentities($data)); } } function defaultHandler($parser, $data) { global $defaultText; $defaultText .= $data; } function ndataHandler($parser, $name, $base, $systemID, $publicID, $notation) { print("\n"); } function notationHandler($parser, $name, $base, $systemID, $publicID) { print("\n"); } function externalHandler($parser, $name, $base, $systemID, $publicID) { //tutaj można by utworzyć kolejny interpreter print("\n"); return(TRUE); } /* ** Inicjalizacja */ //utworzenie interpretera if(!($parser = xml_parser_create())) { print("Nie moża utworzyć interpretera!
\n"); exit(); } //sprawdzenie czy ustawione jest kodowanie ISO-8859-1 if(xml_parser_get_option($parser, XML_OPTION_TARGET_ENCODING) != "ISO-8859-1") { xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "ISO-8859-1"); } //rejestracja programów obsługi xml_set_character_data_handler($parser, "cdataHandler"); xml_set_element_handler($parser, "startHandler", "endHandler"); xml_set_processing_instruction_handler($parser, "piHandler"); xml_set_default_handler($parser, "defaultHandler"); xml_set_unparsed_entity_decl_handler($parser, "ndataHandler"); xml_set_notation_decl_handler($parser, "notationHandler"); xml_set_external_entity_ref_handler($parser, "externalHandler"); /* ** Interpretacja pliku */ if(!($fp = fopen("example.xml", "r"))) { print("Nie można otworzyć example.xml!
\n"); xml_parser_free($parser); exit(); } while($line = fread($fp, 1024)) { if(!xml_parse($parser, $line, feof($fp))) { //Błąd i wyświetlenie pełnej informacji print("BŁĄD: " . xml_error_string(xml_get_error_code($parser)) . " w linii " . xml_get_current_line_number($parser) . ", kolumnie " . xml_get_current_column_number($parser) . ", bajt " . xml_get_current_byte_index($parser) . "
\n"); } } //likwidacja interpretera xml_parser_free($parser); print("Tekst obsłużony przez domyślny program obsługi:\n"); print("
" . htmlentities($defaultText) . "
\n"); ?>