xml_set_unparsed_entity_decl_handler

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

xml_set_unparsed_entity_decl_handler --  "nem elemzendő egyedek" kezelőfüggvényét állítja be az elemző számára

Leírás

bool xml_set_unparsed_entity_decl_handler ( resource parser, callback handler )

A parser paraméterben megjelölt XML elemző "nem elemzendő egyedet" (unparsed 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.

Ez az kezelőfüggvény akkor kerül meghívásra, ha az XML elemző az alábbi alakú, ún. külső, nem elemzendő egyed-deklarációval találkozik:
<!ENTITY <parameter>name</parameter> {<parameter>public_id</parameter> | <parameter>system_id</parameter>}
        NDATA <parameter>notation_name</parameter>

Lásd még az XML 1.0 specifikáció 4.2.2 fejezetét a jelölésként deklarált külső egyedekről!

A handler-ben megnevezett függvénynek hat paramétert kell fogadnia, a függvény prototípusa a következő: handler ( resource parser, string entity_name, string base, string system_id, string public_id, string notation_name )

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.

entity_name

A definiálandó egyed neve.

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ó.

notation_name

Az egyed jelölésének (notation) a neve.(lásd: xml_set_notation_decl_handler()!)

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.