PHP xml_set_unparsed_entity_decl_handler()Funktionen


PHP XML 参考手册Vollständiges PHP XML-Referenzhandbuch

Definition und Verwendung

Die Funktion xml_set_unparsed_entity_decl_handler() gibt die Funktion an, die aufgerufen werden soll, wenn der Parser eine nicht geparste Entität in einem XML-Dokument findet.

Gibt bei Erfolg TRUE zurück, bei Fehlschlag FALSE.

Syntax

xml_set_unparsed_entity_decl_handler(parser,handler)

Parameters Beschreibung
parser Erforderlich. Gibt den zu verwendenden XML-Parser an.
handler Gibt die Funktion an, die aufgerufen werden soll, wenn der Parser eine nicht geparste Entität findet.

Die durch den Parameter "handler" angegebene Funktion muss sechs Parameter haben:

Parameters Beschreibung
parser Erforderlich. Gibt eine Variable an, die den XML-Parser enthält, der den Handler aufruft.
name Erforderlich. Gibt eine Variable an, die den Entitätsnamen enthält.
Basis Erforderlich. Gibt eine Variable an, die die Basis für die Auflösung des Systembezeichners (system_id) der Entität enthält. Derzeit wird dieser Parameter normalerweise auf NULL gesetzt.
system_id Erforderlich. Gibt eine Variable an, die den Systembezeichner der Entität enthält.
public_id Erforderlich. Gibt eine Variable an, die den öffentlichen Bezeichner der Entität enthält.
notation Erforderlich. Gibt eine Variable an, die die Notation enthält, die den Datentyp der Entität identifiziert.


Tipps und Hinweise

Hinweis:Der Handler-Parameter kann auch ein Array sein, das eine Objektreferenz und einen Methodennamen enthält.


Beispiel

<?php $parser=xml_parser_create();

function char($parser,$data)
{
echo $data;
}

function unparsed_ent_handler($parser,$entname,
$base,$sysID,$pubID,$notname)
{
print "$entname<br />";
print "$sysID<br />";
print "$pubID<br />";
print "$notname<br />";
}

xml_set_character_data_handler($parser,"char");
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("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 参考手册Vollständiges PHP XML-Referenzhandbuch Andere Erweiterungen