تحدد الدالة xml_set_unparsed_entity_decl_handler() الوظيفة التي يتم استدعاؤها عندما يعثر المحلل اللغوي على كيان غير قابل للتحليل في مستند XML.
في حالة نجاحها، ترجع الدالة TRUE. إذا فشلت، ترجع FALSE.
xml_set_unparsed_entity_decl_handler(محلل، معالج)
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد محلل XML المراد استخدامه. |
معالج | يحدد الوظيفة التي سيتم استدعاؤها عندما يجد المحلل اللغوي كيانًا لا يمكن تحليله. |
يجب أن تحتوي الوظيفة المحددة بواسطة معلمة "المعالج" على ستة معلمات:
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد متغيرًا يحتوي على محلل XML الذي يستدعي المعالج. |
اسم | مطلوب. يحدد متغيرًا يحتوي على اسم الكيان. |
قاعدة | مطلوب. يحدد متغيرًا يحتوي على أساس حل معرف النظام الخاص بالكيان (system_id). حاليًا يتم تعيين هذه المعلمة عادةً على NULL. |
معرف النظام | مطلوب. يحدد متغيرًا يحتوي على معرف النظام الخاص بالكيان. |
public_id | مطلوب. يحدد متغيرًا يحتوي على المعرف العام للكيان. |
تدوين | مطلوب. يحدد متغيرًا يحتوي على رمز يحدد نوع بيانات الكيان. |
ملاحظة: يمكن أيضًا أن تكون معلمة المعالج عبارة عن مصفوفة تحتوي على مراجع الكائنات وأسماء الطرق.
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data } function unparsed_ent_handler($parser,$entname,$base,$sysID,$pubID,$notname) { print "$ entname<br />"; طباعة "$sysID<br />"; طباعة "$pubID<br />"; طباعة "$notname<br />"; }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($محلل,$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);?>