تحدد الدالة xml_set_notation_decl_handler() الدالة التي يتم استدعاؤها عندما يعثر المحلل اللغوي على تعريف رمز في مستند XML.
في حالة نجاحها، ترجع الدالة TRUE. إذا فشلت، ترجع FALSE.
xml_set_notation_decl_handler(محلل، معالج)
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد محلل XML المراد استخدامه. |
معالج | مطلوب. يحدد الوظيفة التي سيتم استدعاؤها عندما يعثر المحلل اللغوي على إعلان رمز. |
يجب أن تحتوي الوظيفة المحددة بواسطة معلمة "المعالج" على خمس معلمات:
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد متغيرًا يحتوي على محلل XML الذي يستدعي المعالج. |
اسم | مطلوب. يحدد متغيرًا يحتوي على اسم تعريف الرمز. |
قاعدة | مطلوب. يحدد أساس تحليل معرف النظام (system_id) لإعلان الرمز. حاليًا يتم تعيين هذه المعلمة عادةً على NULL. |
معرف النظام | مطلوب. يحدد متغيرًا يحتوي على معرف النظام لإعلان الرمز. |
public_id | مطلوب. يحدد متغيرًا يحتوي على المعرف العام لإعلان الرمز. |
ملاحظة: يمكن أيضًا أن تكون معلمة المعالج عبارة عن مصفوفة تحتوي على مراجع الكائنات وأسماء الطرق.
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data } function not_decl_handler($parser,$not,$base,$sysID,$pubID) { echo "$not<br />"; صدى "$sysID<br />"; صدى "$pubID<BR />"; }xml_set_character_data_handler($parser,"char");xml_set_notation_decl_handler($parser, "not_decl_handler");$fp=fopen("test.xml",r");while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) أو يموت (sprintf("خطأ XML: %s في السطر %d"، xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>