Funzione PHP xml_set_unparsed_entity_decl_handler()

Definizione e utilizzo

La funzione xml_set_unparsed_entity_decl_handler() definisce la funzione chiamata quando si incontra una dichiarazione di entità non解析abile (NDATA).

Se il processore viene creato con successo, la funzione restituirà true; altrimenti restituirà false.

Sintassi

xml_set_unparsed_entity_decl_handler(parser,handler)
Parametro Descrizione
parser Obbligatorio. Definire il parser XML da utilizzare.
handler Obbligatorio. Definire una funzione.

Da handler La funzione definita dal parametro deve avere sei parametri:

Parametro Descrizione
parser Obbligatorio. Definire una variabile che contiene il parser XML chiamato dal processore.
name Obbligatorio. Definire una variabile che contiene il nome dell'entità.
base

Obbligatorio. Definire una variabile che contiene la base per l'identificatore di sistema dell'entità (system_id).

Attualmente questo parametro di solito viene impostato su una stringa vuota.

system_id Obbligatorio. Definire una variabile che contiene l'identificatore di sistema dell'entità.
public_id Obbligatorio. Definire una variabile che contiene l'identificatore pubblico dell'entità.
notation Obbligatorio. Definire una variabile che contiene il simbolo del tipo di dati dell'entità.

Descrizione

handler I parametri possono anche essere un array che contiene riferimenti agli oggetti e i nomi dei metodi.

Esempio

<?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("Errore XML: %s alla riga %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>