xml_set_element_handler
(PHP 4, PHP 5)
xml_set_element_handler — Nyitó és záró jelöléseket kezelő függvényt rendel az elemzőhöz
LeÃrás
A parser paraméterben megjelölt XML elemzÅ‘ elemek nyitó- és zárócÃmkéit kezelÅ‘ függvényeit állÃtja be, amelyeknek a nevét a start_element_handler és end_element_handler paraméterben kell átadni. Ezeknek a függvényeknek már létezniük kell, amikor a parser elemzÅ‘vel meghÃvásra kerül az xml_parse() függvény.
A start_element_handler -ben megnevezett függvénynek három paramétert kell fogadnia, a függvény prototÃpusa a következÅ‘:
- 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.
- name
- A második sztring tÃpusú paraméter, name , az elem nevét tartalmazza. Ha a betű-egységesÃtés (case-folding) be van kapcsolva az elemzÅ‘ben, akkor az elem neve csupa nagy betűvel fog szerepelni.
- attribs
- A harmadik paraméter, attribs asszociatÃv tömbjében kerülnek átadásra az elem attribútumai, ha vannak. A tömb kulcsai az attribútumok nevei, mÃg a hozzájuk tartozó értékek az attribútumok értékei. Az attribútumok neveinek Ãrásmódja az elemek nevéhez hasonlóan egységesÃtve (case-folded) lesznek, de az attribútum-értékek nem. A tömb megÅ‘rzi az attribútumok eredeti sorrendjét, ezért each() függvénnyel a tömbbön végiglépkedve az elsÅ‘ bejegyzés az elÅ‘fordulás szerinti elsÅ‘ attribútumé lesz, és Ãgy tovább.
Az end_element_handler -ben megnevezett függvénynek két paramétert kell fogadnia, a függvény prototÃpusa a következÅ‘:
- 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.
- name
- A második sztring tÃpusú paraméter, name , az elem nevét tartalmazza. Ha a betű-egységesÃtés (case-folding) be van kapcsolva az elemzÅ‘ben, akkor az elem neve csupa nagy betűvel fog szerepelni.
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.
Note: A függvény neve helyett egy tömböt is átadhatsz, aminek egy objektum referenciát és egy metódus nevet kell tartalmaznia.