xml_set_element_handler

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

xml_set_element_handlerEstablece los gestores de inicio y fin de etiqueta XML

Descripción

xml_set_element_handler(XMLParser $parser, callable|string|null $start_handler, callable|string|null $end_handler): true

Establece los gestores de inicio y fin del analizador XML parser.

start_handler es llamado cuando un nuevo elemento XML es abierto. end_handler es llamado cuando un elemento XML es cerrado.

Parámetros

parser

The XML parser.

start_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:

start_element_handler(XMLParser $parser, string $name, array $attributes): void
parser
The XML parser calling the handler.
name
Contiene el nombre del elemento que provocó la llamada del gestor. Si el analizador gestiona la casse, este elemento estará en mayúsculas.
attributes
Un array asociativo con los atributos del elemento. El array estará vacío si no hay atributos. Las claves de este array serán los nombres de los atributos, y los valores serán los valores correspondientes de los atributos. Los nombres de los atributos estarán en mayúsculas si el analizador gestiona la casse. Los valores de los atributos permanecerán inalterados. El orden en el que attributes es recorrido es idéntico al orden en el que los atributos fueron declarados.

end_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:

end_element_handler(XMLParser $parser, string $name): void
parser
The XML parser calling the handler.
name
Contiene el nombre del elemento que provocó la llamada del gestor. Si el analizador gestiona la casse, este elemento estará en mayúsculas.

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.