(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_external_entity_ref_handler — Configura el gestor XML de referencias externas
$parser, callable|string|null $handler): true
Establece el gestor de entidad externa del analizador XML
parser.
parserEl analizador XML.
handler
Si null se pasa, el controlador se reinicia a su estado predeterminado.
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().
Esta funcionalidad está deprecada a partir de PHP 8.4.0.
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:
$parser,$open_entity_names,$base,$system_id,$public_idparserEl analizador XML que llama al controlador.
open_entity_namesLa lista de nombres de entidades, separados por espacios. Estas entidades son accesibles al análisis por esta entidad (incluyendo el nombre de la entidad referenciada).
base
La raíz para la resolución del identificador de sistema
(system_id) de la entidad externa.
system_idEl identificador de sistema tal como se especifica en la declaración de entidad.
public_idEl identificador público tal como se especifica en la declaración de entidad, o una cadena vacía, si no se ha especificado ninguna declaración. El espacio en el identificador público será normalizado como se especifica en las especificaciones XML.
El gestor debería devolver true si la entidad ha sido gestionada,
de lo contrario false.
Cuando se devuelve false el analizador XML detendrá el análisis y
xml_get_error_code() devolverá
XML_ERROR_EXTERNAL_ENTITY_HANDLING.
Retorna siempre true.
| Versión | Descripción |
|---|---|
| 8.4.0 |
Pasar un valor no callable de tipo string a
handler ahora está obsoleto;
utilice un callable apropiado para los métodos, o null para reinicializar el gestor.
|
| 8.4.0 |
La validez de handler como callable
ahora se verifica al definir el gestor en lugar de verificarse al invocarlo.
|
| 8.0.0 |
parser ahora espera una instancia de XMLParser
; anteriormente, se esperaba un recurso xml de tipo resource válido.
|
| 7.3.0 |
El valor de retorno de handler ya no es
ignorado cuando la extensión ha sido compilada contra libxml. Anteriormente,
el valor de retorno era ignorado y el análisis nunca se detenía.
|