xml_set_default_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_default_handlerÖntanımlı işleyiciyi belirler

Açıklama

xml_set_default_handler(XMLParser $çözümleyici, callable $işleyici): bool

çözümleyici ile belirtilen XML çözümleyici için öntanımlı işleyici belirler.

Değiştirgeler

çözümleyici

Öntanımlı işleyiciyi ayarlamak için XML çözümleyiciye başvuru.

işleyici

xml_parse() işlevi çözümleyici için çağrıldığında mevcut olması gereken işlevin ismini içeren dizge.

İsmi işleyici ile belirtilen işlevin iki değiştirge kabul etmesi gerekir:

işleyici(XMLParser $çözümleyici, string $veri)
çözümleyici
İlk değiştirge, işleyici işlevi çağıran XML çözümleyicinin tanıtıcısıdır.
veri
İkinci değiştirge olan veri, karakter verisini içerir. Dizge, XML bildirimi, belge türü bildirimi veya diğer işleyiciler tarafından ele alınmayan başka bir verileri içerebilir.

işleyici değiştirgesinde işlev olarak boş bir dizge veya false belirtilirse ilgili işleyici iptal edilir.

Bilginize: Bir işlev ismi yerine, bir nesneye gönderim ve bir yöntem ismi içeren bir dizi de kullanılabilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce, resource türünde bir değer beklenirdi.
add a note add a note

User Contributed Notes 2 notes

up
-2
anoril at anoril dot com
14 years ago
I have the same issue using two installation of PHP5: on accepts to use the default handler while the other only uses the character_data one.

Maybe a configuration problem...

;) Nonor.
up
-2
phillip
16 years ago
it seems to me that in PHP5 the function defined as default-handler (using xml_set_default_handler()) doesen't get passed the cdata anymore:

i.e.:
xml_set_element_handler($this->parser, 'parseSTART', 'parseEND');
xml_set_default_handler($this->parser, 'parseDEFAULT');
function parseSTART() { ... }
function parseEND() { ... }
function parseDEFAULT() { ... }

under PHP5, parseDEFAULT will NOT get passed any cdata, but unter PHP4 it will. at least that's my take on the strange stuff (not) happening after migrating to PHP5.

my solution was to add a xml_set_character_data_handler($parser, 'parseDEFAULT'). it worked for me.
To Top