Funkcja PHP xml_set_unparsed_entity_decl_handler()

Definicja i użycie

Funkcja xml_set_unparsed_entity_decl_handler() określa funkcję wywoływane podczas napotkania deklaracji nie do zinterpretowania (NDATA) nazwy encji.

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

Gramatyka

xml_set_unparsed_entity_decl_handler(parser,handler)
Parametry Opis
parser Wymagane. Określa używany parser XML.
handler Wymagane. Określa funkcję.

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

Parametry Opis
parser Wymagane. Określa zmienną, która zawiera XML parser wywołujący procesor.
name Wymagane. Określa zmienną, która zawiera nazwę encji.
base

Wymagane. Określa zmienną, która zawiera podstawę do analizy systemowego identyfikatora encji (system_id).

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

system_id Wymagane. Określa zmienną, która zawiera systemowy identyfikator encji.
public_id Wymagane. Określa zmienną, która zawiera 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)
  {
  
  }
function unparsed_ent_handler($parser,$entname,
$base,$sysID,$pubID,$notname)
  {
  print "$entname";
  print "$sysID";
  print "$pubID";
  print "$notname";
  }

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