Funzione PHP xml_set_notation_decl_handler()
Definizione e uso
La funzione xml_set_notation_decl_handler() definisce la funzione chiamata quando l'analizzatore trova la dichiarazione del simbolo nel documento XML.
Se il processore viene creato con successo, la funzione restituirà true; altrimenti restituirà false.
Nota:“Dichiarazione di simbolo”, in inglese si chiama notation declaration, e alcune fonti la traducano anche come “Dichiarazione di commento”.
Sintassi
xml_set_notation_decl_handler(parser,Handler)
Parametro | Descrizione |
---|---|
parser | Obbligatorio. Definire l'analizzatore XML da utilizzare. |
Handler | Obbligatorio. Funzione chiamata quando l'analizzatore trova la dichiarazione del simbolo. |
Da Handler La funzione definita dal parametro deve avere sei parametri:
Parametro | Descrizione |
---|---|
parser | Obbligatorio. Variabile che contiene l'analizzatore XML chiamato dal processore. |
name | Obbligatorio. Variabile che contiene il nome dell'entità. |
base |
Obbligatorio. 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. Variabile che contiene l'identificatore di sistema dell'entità. |
public_id | Obbligatorio. Variabile che contiene l'identificatore pubblico dell'entità. |
notation | Obbligatorio. Specifica una variabile che contiene il simbolo che identifica il tipo di dati dell'entità. |
Descrizione
Handler Il parametro può anche essere un array che contiene riferimenti agli oggetti e i nomi dei metodi.
Esempio
<?php $parser=xml_parser_create(); function char($parser,$data) { echo $data; } function not_decl_handler($parser,$not,$base,$sysID,$pubID) { echo "$not<br />"; echo "$sysID<br />"; echo "$pubID<BR />"; } xml_set_character_data_handler($parser,"char"); xml_set_notation_decl_handler($parser, "not_decl_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); ?>