Gli ultimi tutorial di sviluppo web
 

PHP xml_set_external_entity_ref_handler() Function


<Completa PHP XML

Definizione e l'utilizzo

Il xml_set_external_entity_ref_handler() funzione specifica una funzione da chiamare quando il parser trova un'entità esterna nel documento XML.

Questa funzione restituisce TRUE se ha successo, oppure FALSE in caso di fallimento.

Sintassi

xml_set_external_entity_ref_handler(parser,handler)

Parametro Descrizione
parser Necessario. Specifica parser XML da usare
handler Necessario. Specifica una funzione da chiamare quando il parser trova un'entità esterna

La funzione specificata dal "handler" parametro deve avere cinque parametri:

Parametro Descrizione
parser Necessario. Specifica una variabile che contiene il parser XML chiamante il gestore
name Necessario. Specifica una variabile contenente il nome dell'entità esterna
base Necessario. Specifica la base per la risoluzione identificatore di sistema (system_id) del soggetto esterno. Attualmente, questo è sempre NULL
system_id Necessario. Specifica l'identificatore di sistema per l'entità esterna
public_id Necessario. Specifica l'identificatore pubblico per l'entità esterna

Suggerimenti e Note

Note: Il parametro conduttore può anche essere un vettore contenente un riferimento oggetto e un nome di metodo.


Esempio

<?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);
?>

<Completa PHP XML