A função xml_set_notation_decl_handler() especifica a função que é chamada quando o analisador encontra uma declaração de símbolo no documento XML.
Se for bem-sucedido, a função retornará TRUE. Se falhar, retorna FALSE.
xml_set_notation_decl_handler(analisador,manipulador)
parâmetro | descrever |
---|---|
analisador | Obrigatório. Especifica o analisador XML a ser usado. |
manipulador | Obrigatório. Especifica a função a ser chamada quando o analisador encontrar uma declaração de símbolo. |
A função especificada pelo parâmetro "handler" deve ter cinco parâmetros:
parâmetro | descrever |
---|---|
analisador | Obrigatório. Especifica uma variável que contém o analisador XML que chama o processador. |
nome | Obrigatório. Especifica uma variável que contém o nome da declaração do símbolo. |
base | Obrigatório. Especifica a base para analisar o identificador do sistema (system_id) de uma declaração de símbolo. Atualmente este parâmetro geralmente é definido como NULL. |
ID_do_sistema | Obrigatório. Especifica uma variável que contém o identificador do sistema da declaração do símbolo. |
id_público | Obrigatório. Especifica uma variável que contém o identificador público da declaração do símbolo. |
Nota: O parâmetro handler também pode ser uma matriz contendo referências de objetos e nomes de métodos.
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data; }function not_decl_handler($parser,$not,$base,$sysID,$pubID) { echo "$not<br />"; echo "$sysID<br />"; echo "$pubID<BR />"; }xml_set_character_data_handler($parser,"char");xml_set_notation_decl_handler($parser, "not_decl_handler");$fp=fopen("test.xml","r");while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) ou morrer (sprintf("Erro XML: %s na linha %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>