Función PHP xml_set_unparsed_entity_decl_handler()

Definición y uso

La función xml_set_unparsed_entity_decl_handler() define la función que se llama cuando se encuentra una declaración de entidad de nombre no resuelto (NDATA).

Si el procesador se crea con éxito, la función regresará true; de lo contrario, regresará false.

Sintaxis

xml_set_unparsed_entity_decl_handler(parser,handler)
Parámetros Descripción
parser Necesario. Define el analizador XML a usar.
handler Necesario. Define una función.

Por handler La función regulada por los parámetros debe tener seis parámetros:

Parámetros Descripción
parser Necesario. Define un variable que contiene el analizador XML del procesador.
name Necesario. Define un variable que contiene el nombre del ente.
base

Necesario. Define un variable que contiene la base para la identificación del sistema del ente (system_id).

Actualmente, este parámetro generalmente se establece en una cadena vacía.

system_id Necesario. Define un variable que contiene el identificador del sistema del ente.
public_id Necesario. Define un variable que contiene el identificador público del ente.
notation Necesario. Define un variable que contiene el símbolo de tipo de datos del ente.

Descripción

handler Los parámetros también pueden ser un array que contiene referencias a objetos y nombres de métodos.

Ejemplo

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  
  }
function unparsed_ent_handler($parser,$entname,
$base,$sysID,$pubID,$notname)
  {
  print "$entname";
  print "$sysID";
  print "$pubID";
  print "$notname";
  }

xml_set_unparsed_entity_decl_handler($parser,
"unparsed_ent_handler");
$fp=fopen("test.xml","r");
while ($data=fread($fp,4096))
  {
  xml_parse($parser,$data,feof($fp)) or 
  die (sprintf("Error de XML: %s en la línea %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>