PHP 8.5.0 Alpha 1 available for testing

xml_set_unparsed_entity_decl_handler

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

xml_set_unparsed_entity_decl_handlerEstablece los gestores de entidades no analizadas

Descripción

xml_set_unparsed_entity_decl_handler(XMLParser $parser, callable|string|null $handler): true

Establece los gestores de entidades no analizadas para el analizador XML parser.

El gestor handler será llamado si el analizador XML encuentra una declaración de entidad externa con una declaración NDATA, como sigue:

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

Consulte la sección » de las especificaciones XML 1.0 para conocer las notaciones de las entidades externas.

Parámetros

parser

El analizador XML.

handler

Si null se pasa, el controlador se reinicia a su estado por omisión.

Advertencia

Una cadena vacía también reiniciará el controlador, sin embargo esta funcionalidad está deprecada a partir de PHP 8.4.0.

Si handler es un callable, el callable se define como el controlador.

Si handler es una string, puede ser el nombre de un método de un objeto definido con xml_set_object().

Advertencia

Esta funcionalidad está deprecada a partir de PHP 8.4.0.

Advertencia

A partir de PHP 8.4.0, se verifica la validez del callable durante la configuración del controlador, y no en el momento de su llamada. Esto significa que xml_set_object() debe ser llamado antes de definir un método como cadena como devolución de llamada. Sin embargo, como este comportamiento también está deprecado a partir de PHP 8.4.0, se recomienda utilizar un callable adecuado para el método.

La firma del gestor debe ser:

handler(
    XMLParser $parser,
    string $entity_name,
    string|false $base,
    string $system_id,
    string|false $public_id,
    string|false $notation_name
): void
parser
El analizador XML que llama al controlador.
entity_name
El nombre de la entidad que va a ser definida.
base
La raíz para la resolución del identificador de sistema (system_id) de la entidad externa.
system_id
Identificador de sistema para esta entidad externa.
public_id
Identificador público para esta entidad externa.
notation_name
Nombre de la notación de esta entidad. (Véase xml_set_notation_decl_handler()).

Valores devueltos

Retorna siempre true.

Historial de cambios

Versión Descripción
8.4.0 Passing a non-callable string to handler is now deprecated, use a proper callable for methods, or null to reset the handler.
8.4.0 The validity of handler as a callable is now checked when setting the handler instead of checking when calling it.
8.0.0 parser ahora espera una instancia de XMLParser en lugar de un resource xml.
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top