<Referência Completa XML PHP
Definição e Uso
O xml_set_external_entity_ref_handler() função especifica uma função a ser chamada quando o analisador encontra uma entidade externa no documento XML.
Esta função retorna TRUE em caso de sucesso, ou FALSE em caso de falha.
Sintaxe
xml_set_external_entity_ref_handler(parser,handler)
Parâmetro | Descrição |
---|---|
parser | Requeridos. Especifica parser XML para usar |
handler | Requeridos. Especifica uma função a ser chamada quando o analisador encontra uma entidade externa |
A função especificada pelo "handler" parâmetro deve ter cinco parâmetros:
Parâmetro | Descrição |
---|---|
parser | Requeridos. Especifica uma variável que contém o analisador XML chamando o manipulador |
name | Requeridos. Especifica uma variável contendo o nome da entidade externa |
base | Requeridos. Especifica a base para resolver o identificador do sistema (system_id) da entidade externa. Atualmente, este é sempre NULL |
system_id | Requeridos. Especifica o identificador do sistema para a entidade externa |
public_id | Requeridos. Especifica o identificador público para a entidade externa |
Dicas e Notas
Note: O parâmetro manipulador também pode ser uma matriz que contém uma referência de objecto e um nome de método.
Exemplo
<?php
$parser=xml_parser_create();
function char($parser,$data)
{
echo $data;
}
function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
{
echo "$ent<br />";
echo "$sysID<br />";
echo "$pubID<BR />";
}
xml_set_character_data_handler($parser,"char");
xml_set_external_entity_ref_handler($parser, "ext_ent_handler");
$fp=fopen("test.xml","r");
while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
xml_parser_free($parser);
?>
<Referência Completa XML PHP