<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