PHP xml_set_external_entity_ref_handler()Funciones


PHP XML 参考手册Manual de referencia completo de PHP XML

Definición y uso

La función xml_set_external_entity_ref_handler() define la función que se invoca cuando el analizador encuentra una entidad externa en un documento XML.

Si tiene éxito, la función devuelve TRUE. Si falla, devuelve FALSE.

Sintaxis

xml_set_external_entity_ref_handler(parser,handler)

Parámetros Descripción
parser Requerido. Especifica el analizador XML que se va a utilizar.
handler Requerido. Especifica la función que se llamará cuando el analizador encuentre una entidad externa.

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

Parámetros Descripción
parser Requerido. Especifica una variable que contiene el analizador XML que llama al manejador.
name Requerido. Especifica una variable que contiene el nombre de la entidad externa.
base Requerido. Especifica la base del identificador de sistema (system_id) para analizar la entidad externa. Actualmente, este parámetro suele establecerse en NULL.
system_id Requerido. Especifica el identificador de sistema de la entidad externa.
public_id Requerido. Especifica el identificador público de la entidad externa.


Consejos y notas

Nota:El parámetro handler también puede ser un array que contenga una referencia a un objeto y el nombre del 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);
?>


PHP XML 参考手册Manual de referencia completo de PHP XML Otras extensiones