Los últimos tutoriales de desarrollo web
 

PHP xml_set_external_entity_ref_handler() Function


<Referencia completa de PHP XML

Definición y Uso

El xml_set_external_entity_ref_handler() la función especifica una función que se llama cuando el analizador encuentra una entidad externa en el documento XML.

Esta función devuelve TRUE en caso de éxito, en caso de fallo.

Sintaxis

xml_set_external_entity_ref_handler(parser,handler)

Parámetro Descripción
parser Necesario. Especifica analizador XML para utilizar
handler Necesario. Especifica una función que se llama cuando el analizador encuentra una entidad externa

La función especificada por el "handler" parámetro debe tener cinco parámetros:

Parámetro Descripción
parser Necesario. Especifica una variable que contiene el analizador XML que llama al gestor
name Necesario. Especifica una variable que contiene el nombre de la entidad externa
base Necesario. Especifica la base para resolver el identificador de sistema (system_id) de la entidad externa. Actualmente, esto siempre es NULL
system_id Necesario. Especifica el identificador de sistema para la entidad externa
public_id Necesario. Especifica el identificador público para la entidad externa

Notas y sugerencias

Note: El parámetro de controlador también puede ser una matriz que contiene una referencia de objeto y un nombre de método.


Ejemplo

<?php
$parser=xml_parser_create();

function char($parser,$data)
  {
  echo $data;
  }

function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
  {
  echo "$ent<br />";
  echo "$sysID<br />";
  echo "$pubID<BR />";
  }

xml_set_character_data_handler($parser,"char");
xml_set_external_entity_ref_handler($parser, "ext_ent_handler");
$fp=fopen("test.xml","r");

while ($data=fread($fp,4096))
  {
  xml_parse($parser,$data,feof($fp)) or
  die (sprintf("XML Error: %s at line %d",
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }

xml_parser_free($parser);
?>

<Referencia completa de PHP XML