PHP 8.4.1 Released!

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 for passado, o manipulador é redefinido para seu estado padrão.

Aviso

Uma string vazia também redefine o manipulador, entretanto isto foi descontinuado a partir do PHP 8.4.0.

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 objeto definido com xml_set_object().

Aviso

Isto foi descontinuado a partir do PHP 8.4.0.

Aviso

A partir do PHP 8.4.0, a função de retorno é verificada quanto à validade ao configurar o manipulador, e não quando é chamada. Isto significa que xml_set_object() precisa ser chamada antes de configurar uma string de método como a função de retorno. Entretando, como este comportamento também foi descontinuado a partir do PHP 8.4.0, usar um callable adequado para o método é recomendado.

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.4.0 Passar uma string não-callable no parâmetro handler foi descontinuado, use um chamável apropriado para métodos, ou null para redefinir o manipulador.
8.4.0 A validade do manipulador handler como um tipo callable agora é verificada ao configurar o manipulador ao invés de verificar na chamada.
8.0.0 O parâmetro parser agora espera uma instância de XMLParser; anteriormente, um resource xml válido era esperado.
adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top