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

The XML parser.

handler

If null is passed, the handler is reset to its default state.

Advertencia

An empty string will also reset the handler, however this is deprecated as of PHP 8.4.0.

If handler is a callable, the callable is set as the handler.

If handler is a string, it can be the name of a method of an object set with xml_set_object().

Advertencia

This is deprecated as of PHP 8.4.0.

Advertencia

As of PHP 8.4.0, the callable is checked to be valid while setting the handler, not when it is called. This means that xml_set_object() must be called prior to setting a method string as the callback. However, as this behaviour is also deprecated as of PHP 8.4.0, using a proper callable for the method is recommended instead.

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
The XML parser calling the handler.
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

Siempre devuelve 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 expects an XMLParser instance now; previously, a valid xml resource was expected.