PHP kézikönyv
Előző |  | Következő

# xml_set_external_entity_ref_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

xml_set_external_entity_ref_handler -- Külső egyedek kezelésére rendel függvényt az elemzőhöz

## Leírás

bool xml_set_external_entity_ref_handler ( resource parser, callback handler )

A parser paraméterben megjelölt XML elemző külső egyedeket (external entity) kezelő függvényét állítja be, amelynek a nevét a handler paraméterben kell átadni. Ennek a függvénynek már léteznie kell, amikor a parser elemzővel meghívásra kerül az xml_parse() függvény.

A handler-ben megnevezett függvénynek öt paramétert kell fogadnia és integer értéket visszaadnia. Ha a kezelőfüggvény `FALSE`-t ad vissza (ami megegyezik azzal az esettel ha nem ad vissza semmilyen értéket), az XML elemző XML_ERROR_EXTERNAL_ENTITY_HANDLING hibával leáll, amit az xml_get_error_code() függvénnyel lehet akkor kiolvasni. A függvény prototípusa a következő: int handler ( resource parser, string open_entity_names, string base, string system_id, string public_id )

parser

  Az első paraméter, parser, hivatkozás az aktuális XML elemzőre, amely ezt a kezelőfüggvényt meghívta és használja.

open_entity_names

  A második paraméter, open_entity_names, szóközzel elválaszott lista az elemző számára még függőben levő összes egyed nevével, beleértve a hivatkozott egyed nevét is.

base

  Ez tartalmazná azt az "alapot", amivel külső egyedek rendszerazonosítóját (system_id) fel lehetne oldani. Ez a paraméter jelenleg üres sztringet ad.

system_id

  A negyedik paraméter, system_id, ami az egyed deklarációjában szereplő rendszerazonosítót tartalmazza.

public_id

  Az ötödik paraméter, public_id, az egyed-deklarációban meghatározott nyilvános azonosító, vagy üres sztring, ha nincs ilyen. Az XML specifikációnak megfelelően ebben a paraméterben a szóközök normalizálva lesznek.

Ha a függvény neve helyett üres sztring vagy `FALSE` szerepel, akkor a kérdéses kezelőfüggvény nem elérhető, le van tiltva.

`TRUE`-t ad vissza, ha a kezelőt sikeresen beállította, és `FALSE`-t, ha a parser nem érvényes erőforrás.

> Megjegyzés: A függvény neve helyett egy tömböt is átadhatsz, ami egy objektum referenciát és egy metódus nevet kell tartalmazzon.

Előző | Tartalom | Következő
xml_set_end_namespace_decl_handler | Fel | xml_set_notation_decl_handler