xml_set_external_entity_ref_handler
(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_external_entity_ref_handler — Configura manipulador de referência de entidade externa
Descrição
Define a função do manipulador de referência de entidade externa para o analisador XML
parser
.
Parâmetros
parser
-
O analisador XML.
handler
-
Se
null
ou uma string vazia for passada, o manipulador será redefinido para seu estado padrão.Se
handler
for um callable, o callable será definido como o manipulador.Se
handler
for uma string, ela pode ser o nome de um método de um objet definido com xml_set_object().A assinatura do manipulador deve ser:
handler(
XMLParser$parser
,
string$open_entity_names
,
string|false$base
,
string$system_id
,
string|false$public_id
): boolparser
- O analisador XML que chama o manipulador.
open_entity_names
- Uma lista separada por espaços dos nomes das entidades que estão abertas para a análise desta entidade (incluindo o nome da entidade referenciada).
base
-
Esta é a base para resolver o identificador do sistema
(
system_id
) da entidade externa. system_id
- O identificador do sistema conforme especificado na declaração da entidade.
public_id
- O identificador público conforme especificado na declaração da entidade, ou uma string vazia se nenhuma foi especificada; o espaço em branco no identificador público terá sido normalizado conforme exigido pela especificação XML.
O manipulador deve retornar
true
se a entidade foi manipulada,false
caso contrário. Ao retornarfalse
o analisador XML interromperá a análise e xml_get_error_code() retornaráXML_ERROR_EXTERNAL_ENTITY_HANDLING
.
Valor Retornado
Sempre retorna true
.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro parser agora espera uma instância de XMLParser;
anteriormente, um resource xml válido era esperado.
|
7.3.0 |
O valor de retorno do handler não é mais
ignorado se a extensão tiver sido construída com base em libxml. Anteriormente, o valor
de retorno era ignorado e a análise nunca parava.
|