Funkcja PHP xml_set_notation_decl_handler()

Definicja i użycie

Funkcja xml_set_notation_decl_handler() określa funkcję wywoływana, gdy parser znajduje deklarację symbolu w dokumencie XML.

Jeśli procesor zostanie pomyślnie utworzony, funkcja zwróci wartość true; w przeciwnym razie zwróci wartość false.

Uwaga:„Deklaracja symbolu”, w języku angielskim oznaczane jako notation declaration, w niektórych dokumentach również jako „Deklaracja komentarza”.

Gramatyka

xml_set_notation_decl_handler(parser,handler)
Parametry Opis
parser Obowiązkowe. Określa używany parser XML.
handler Obowiązkowe. Funkcja wywoływana, gdy parser znajduje deklarację symbolu.

Przez handler Funkcja określona przez parametry musi mieć sześć parametrów:

Parametry Opis
parser Obowiązkowe. Zmienna zawierająca XML parser wywołujący procesor.
name Obowiązkowe. Zmienna zawierająca nazwę encji.
base

Obowiązkowe. Zmienna zawierająca podstawę identyfikatora systemowego encji (system_id).

Obecnie ten parametr jest zazwyczaj ustawiany na pustą ciąg.

system_id Obowiązkowe. Zmienna zawierająca systemowy identyfikator encji.
public_id Obowiązkowe. Zmienna zawierająca publiczny identyfikator encji.
notation Wymagane. Określa zmienną, która zawiera symbol identyfikujący typ danych encji.

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 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("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);
?>