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