Configura manipulador de declaração de entidade não analisada

# xml_set_unparsed_entity_decl_handler

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

xml_set_unparsed_entity_decl_handler — Configura manipulador de declaração de entidade não analisada

### Descrição

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

Define a função do manipulador de declaração de entidade não analisada para o analisador XML `parser`.

O `handler` será chamado se o analisador XML encontrar uma declaração de entidade externa com uma declaração NDATA, como a seguinte:

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

Veja » seção 4.2.2 da especificação XML 1.0 para a definição de entidades externas declaradas por notação.

### Parâmetros

`parser`
  O analisador XML.
`handler`

  Se `null` for passado, o manipulador é redefinido para seu estado padrão.

  Aviso

  Uma string vazia também redefine o manipulador, entretanto isto foi descontinuado a partir do PHP 8.4.0.

  Se `handler` for um callable, o callable será definido como o manipulador.

  Se `handler` for uma string, ela pode ser o nome de um método de um objeto definido com xml_set_object().

  Aviso

  Isto foi descontinuado a partir do PHP 8.4.0.

  Aviso

  A partir do PHP 8.4.0, a função de retorno é verificada quanto à validade ao configurar o manipulador, e não quando é chamada. Isto significa que xml_set_object() precisa ser chamada antes de configurar uma string de método como a função de retorno. Entretanto, como este comportamento também foi descontinuado a partir do PHP 8.4.0, usar um callable adequado para o método é recomendado.

  A assinatura do manipulador deve ser:

  function handler(
  XMLParser `$parser`,
  string `$entity_name`,
  string|false `$base`,
  string `$system_id`,
  string|false `$public_id`,
  string|false `$notation_name`
  ): void
  `parser`
    O analisador XML que chama o manipulador.
  `entity_name`
    O nome da entidade que está prestes a ser definida.
  `base`
    Esta é a base para resolver o identificador do sistema (`systemId`) da entidade externa.
  `system_id`
    Identificador do sistema para a entidade externa.
  `public_id`
    Identificador público para a entidade externa.
  `notation_name`
    Nome da notação desta entidade (veja xml_set_notation_decl_handler()).

### Valor Retornado

Sempre retorna `true`.

### Registro de Alterações

Versão | Descrição
--- | ---
8.4.0 | Passar uma string não-callable no parâmetro `handler` foi descontinuado, use um chamável apropriado para métodos, ou `null` para redefinir o manipulador.
8.4.0 | A validade do manipulador `handler` como um tipo callable agora é verificada ao configurar o manipulador ao invés de verificar na chamada.
8.0.0 | O parâmetro `parser` agora espera uma instância de XMLParser; anteriormente, um resource `xml` válido era esperado.

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