PHP xml_set_notation_decl_handler() Function












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



مثال


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



// ایجاد یک تجزیه کننده XML
$parser=xml_parser_create();


کاراکتر تابع($parser,$data) {
echo $data;


function not_decl_handler($parser,$not,$base,$sysID,$pubID)
{

echo "$not
";

echo "$sysID
";

echo "$pubID
";




// تنظیم کنید
کنترل کننده داده کاراکتر

xml_set_character_data_handler($parser,"char");

// تنظیم
کنترل کننده اعلان نماد
xml_set_notation_decl_handler($parser, "not_decl_handler");

$fp=fopen("note_notation.xml","r");


در حالی که ($data=fread($fp,4096)) {
  // ​​داده‌های XML را تجزیه کنید

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_notation_decl_handler() تابعی را برای فراخوانی مشخص می کند
هنگامی که تجزیه کننده یک اعلان نماد را در سند XML پیدا می کند.


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



نحو



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

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









را مشخص می کند





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

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

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

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

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

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














جزئیات فنی











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



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