Establece los gestores de entidades no analizadas

# xml_set_unparsed_entity_decl_handler

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

xml_set_unparsed_entity_decl_handler — Establece los gestores de entidades no analizadas

### Descripción

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

  function 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 | Pasar un string no callable 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 en lugar de un resource `xml`.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open