PHP xml_set_unparsed_entity_decl_handler() Function












❮ مرجع تجزیه کننده PHP XML



مثال


یک تجزیه‌کننده XML ایجاد کنید، کنترل‌کننده داده کاراکتر را تنظیم کنید، کنترل‌کننده اعلام موجودیت تجزیه‌نشده را تنظیم کنید، و یک سند XML را تجزیه کنید:



$parser=xml_parser_create();



تابع char($parser,$data) {

echo $data;





تابع unparsed_ent_handler ($parser,$entname,$base,$sysID,$pubID,$notname)
{

"$entname
";
را چاپ کنید
"$sysID
";
را چاپ کنید
"$pubID
";
را چاپ کنید
"$notname
";
را چاپ کنید




xml_set_character_data_handler($parser,"char");
// راه اندازی تجزیه نشده
کنترل کننده اعلان موجودیت

xml_set_unparsed_entity_decl_handler($parser,"unparsed_ent_handler");



$fp=fopen("test.xml"،"r");



while ($data=fread($fp,4096)) {

xml_parse($parser,$data,feof($fp)) یا

die (sprintf("خطای XML: %s در خط %d"،

xml_error_string(xml_get_error_code($parser))،

xml_get_current_line_number($parser)));



xml_parser_free($parser);
fclose($fp);

?>







تعریف و استفاده


تابع xml_set_unparsed_entity_decl_handler() تابعی را برای فراخوانی مشخص می کند
هنگامی که تجزیه کننده یک موجودیت تجزیه نشده در سند XML است.


توجه: پارامتر handler همچنین می‌تواند یک آرایه حاوی یک باشد
مرجع شی و نام روش.



نحو



xml_set_unparsed_entity_decl_handler(تجزیه کننده، handler)

مقادیر پارامتر









را مشخص می کند





پارامتر توضیح
تجزیه کننده لازم است. تجزیه کننده XML مورد استفاده
handler لازم است. تابعی را مشخص می کند که در صورت برخورد تجزیه کننده XML فراخوانی شود
یک اعلامیه موجودیت خارجی با یک اعلامیه NDATA. تابع باید
شش پارامتر را بپذیرید:

  • $Parser - متغیری حاوی تجزیه کننده XML که کنترل کننده را فرا می خواند

  • $entity_name - متغیری حاوی نام نهاد

  • $base - پایه ای برای حل شناسه سیستم (system_id) موجودیت خارجی. در حال حاضر، این همیشه است
    یک رشته خالی

  • $system_id - شناسه سیستم موجودیت خارجی

  • $public_id - شناسه عمومی موجودیت خارجی

  • $notation_name - نام نماد این نهاد














جزئیات فنی











مقدار بازگشتی: درست است
موفقیت FALSE در صورت شکست
نسخه PHP: 4.0+



❮ مرجع تجزیه کننده PHP XML