xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_unparsed_entity_decl_handler Configura manipulador de declaração de entidade não analisada

Descrição

xml_set_unparsed_entity_decl_handler(XMLParser $parser, callable $handler): true

Define a função do manipulador de declaração de entidade não analisada para o analisador XML parser.

O handler será chamado se o analisador XML encontrar uma declaração de entidade externa com uma declaração NDATA, como a seguinte:

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>

Veja » seção 4.2.2 da especificação XML 1.0 para a definição de entidades externas declaradas por notação.

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 $entity_name,
    string|false $base,
    string $system_id,
    string|false $public_id,
    string|false $notation_name
): void
parser
O analisador XML que chama o manipulador.
entity_name
O nome da entidade que está prestes a ser definida.
base
Esta é a base para resolver o identificador do sistema (systemId) da entidade externa.
system_id
Identificador do sistema para a entidade externa.
public_id
Identificador público para a entidade externa.
notation_name
Nome da notação desta entidade (veja xml_set_notation_decl_handler()).

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.