xml_parser_set_option

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

xml_parser_set_optionXML ayrıştırıcı seçeneklerini belirler

Açıklama

xml_parser_set_option(XMLParser $ayrıştırıcı, int $seçenek, string|int $değer): bool

XML ayrıştırıcı seçeneklerinden birine değer atar.

Bağımsız Değişkenler

ayrıştırıcı

XMLParser nesnesi.

seçenek

Değer atanacak seçenek.

Kullanılabilecek seçenekler:

XML ayrıştırıcı seçenekleri
Seçenek sabiti Veri türü Açıklama
XML_OPTION_CASE_FOLDING bool Büyük harfe dönüşüm yapılıp yapılmayacağını belirler. Öntanımlı olarak büyük harfe dönüşüm yapılır.
XML_OPTION_SKIP_TAGSTART integer Bir etiket isminin başlangıcından itibaren kaç karakter atlanacağını belirler.
XML_OPTION_SKIP_WHITE bool Boşluk karakterlerinden oluşan değerlerin atlanıp atlanmayacağı belirtilir.
XML_OPTION_TARGET_ENCODING string XML ayrıştırıcı tarafından kullanılacak hedef kodlamayı belirler. Öntanımlı olarak, xml_parser_create() tarafından kullanılan kaynak kodlamasıyla aynıdır. Desteklenen hedef kodlamalar: ISO-8859-1, US-ASCII ve UTF-8.

değer

Seçeneğin değeri.

Dönen Değerler

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

Hatalar/İstisnalar

seçenek ile geçersiz bir değer aktarıldığında ValueError istisnası oluşur.

PHP 8.0.0 öncesinde, böyle bir durumda işlev false döndürürken bir E_WARNING üretilirdi.

Sürüm Bilgisi

Sürüm: Açıklama
8.3.0 değer bağımsız değişkeni artık ikilik değerleri de kabul ediyor. XML_OPTION_CASE_FOLDING ve XML_OPTION_SKIP_WHITE seçenekleri artık ikil seçeneklerdir.
8.0.0 ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.
add a note

User Contributed Notes 3 notes

up
2
www.thomaskoch.it
16 years ago
The option XML_OPTION_SKIP_WHITE has no effect in my PHP 5.2.6 (with expat-1.95.8-5). To skip cdata composed of white space only, simply check for that at the beginning of your cdata callback function:

<?php
function callback_cdata($parser, $cdata)
{
if(!
trim($cdata))
return;

// ... continue processing ...
}
?>
up
1
pupeno at pupeno dot com
22 years ago
XML is case sensitive, then, from my point of view, disabling case folding doesn't goes against xml 1.0 specifications but the contrary, disabling case folding allow us to distiguish between diferent cases of the same letter ('a' and 'A') which of XML are two diferent things.
From my point of view, disabling case folding is a good practice and I think it should be disabled by default.
More information on:
http://www.isacat.net/2001/xml/case.htm
and
http://www.w3.org/TR/REC-xml
Thank you.
up
0
j[no_spam_please] at [thx]jessepearson dot net
17 years ago
In the function below, you need to update two lines if you don't want php to throw warnings.

change these two:
$elements[$index]['attributes'] = $tag['attributes'];
$elements[$index]['content'] = $tag['value'];

to this:
$elements[$index]['attributes'] = empty($tag['attributes']) ? "" : $tag['attributes'];
$elements[$index]['content'] = empty($tag['value']) ? "" : $tag['value'];
To Top