PHP xml_set_processing_instruction_handler()Funktionen


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

Definition und Verwendung

Die Funktion xml_set_processing_instruction_handler() legt die Funktion fest, die aufgerufen werden soll, wenn der Parser eine Verarbeitungsanweisung in einem XML-Dokument findet.

Verarbeitungsanweisungen sind in die Begrenzungszeichen <? und ?> eingeschlossen und enthalten ein Ziel mit Daten.

Beispiel: In diesem Beispiel verknüpft die Verarbeitungsanweisung ein Stylesheet mit einem XML-Dokument:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="default.xsl.html" type="text/xml"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Erinnerung</heading>
<body>Vergiss mich dieses Wochenende nicht!</body>
</note>

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

Syntax

xml_set_processing_instruction_handler(parser,handler)

Parameter Beschreibung
parser Erforderlich. Gibt den zu verwendenden XML-Parser an.
handler Erforderlich. Gibt die Funktion an, die aufgerufen werden soll, wenn der Parser eine Verarbeitungsanweisung findet.

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

Parameter Beschreibung
parser Erforderlich. Gibt eine Variable an, die den XML-Parser enthält, der den Handler aufruft.
target Erforderlich. Gibt eine Variable an, die das Ziel der Verarbeitungsanweisung enthält.
data Erforderlich. Gibt eine Variable an, die die Daten der Verarbeitungsanweisung enthält.


Tipps und Hinweise

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


Beispiele

<?php $parser=xml_parser_create();

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

function pi_handler($parser, $target, $data)
{
echo "Target: $target<br />";
echo "Data: $data<br />";
}

xml_set_character_data_handler($parser,"char");
xml_set_processing_instruction_handler($parser, "pi_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