Funkcja PHP xml_set_processing_instruction_handler()
Definicja i użycie
Funkcja xml_set_processing_instruction_handler() określa funkcję wywoływane przez parser, gdy znajduje instrukcję przetwarzania w dokumencie XML.
Instrukcja przetwarzania zawiera się w znacznikach <? i ?>.
Jeśli procesor zostanie pomyślnie ustanowiony, funkcja zwróci true; w przeciwnym razie zwróci false.
Przykład: W tym przykładzie, instrukcja przetwarzania łączy arkusz stylów z dokumentem XML:
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="default.xsl" type="text/xml"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
Gramatyka
xml_set_processing_instruction_handler(parser,handler)
Parametr | Opis |
---|---|
parser | Wymagane. Określ XML parser, który ma być użyty. |
handler | Wymagane. Określ funkcję. |
Przez handler Funkcja określona przez parametr musi mieć trzy parametry:
Parametr | Opis |
---|---|
parser | Wymagane. Określ zmienną, która zawiera parser XML do wywoływania procesora. |
target | Wymagane. Określa zmienną zawierającą cel instrukcji przetwarzania. |
data | Wymagane. Określa zmienną zawierającą dane instrukcji przetwarzania. |
Opis
handler Parametr może być również tablicą, która zawiera odniesienia do obiektów i nazwy metod.
Przykład
<?php $parser=xml_parser_create(); function char($parser,$data) { echo $data; } function pi_handler($parser, $target, $data) { echo "Cel: $target<br />"; echo "Dane: $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("Błąd XML: %s w wierszu %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?>