تحدد الدالة xml_set_processing_instruction_handler() الوظيفة التي يتم استدعاؤها عندما يجد المحلل اللغوي تعليمات معالجة في مستند XML.
يتم تضمين تعليمات المعالجة في محددات <? و ?> وتحتوي على هدف مع البيانات.
مثال: في هذا المثال، تقوم تعليمات المعالجة بربط ورقة أنماط بمستند XML:
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="default.xsl" type="text/xml"?> <note><to>توف</to ><من>جاني</from><heading>تذكير</heading><body>لا تنساني في نهاية هذا الأسبوع!</body></note>
في حالة نجاحها، ترجع الدالة TRUE. إذا فشلت، ترجع FALSE.
xml_set_processing_instruction_handler (محلل، معالج)
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد محلل XML المراد استخدامه. |
معالج | مطلوب. يحدد الوظيفة التي سيتم استدعاؤها عندما يجد المحلل اللغوي تعليمات المعالجة. |
يجب أن تحتوي الوظيفة المحددة بواسطة معلمة "المعالج" على ثلاث معلمات:
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد متغيرًا يحتوي على محلل XML الذي يستدعي المعالج. |
هدف | مطلوب. يحدد متغيرًا يحتوي على هدف تعليمات المعالجة. |
بيانات | مطلوب. يحدد متغيرًا يحتوي على بيانات تعليمات المعالجة. |
ملاحظة: يمكن أيضًا أن تكون معلمة المعالج عبارة عن مصفوفة تحتوي على مراجع الكائنات وأسماء الطرق.
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data }function pi_handler($parser, $target, $data) { echo "Target: $target<br />"; صدى "البيانات: $data<br />"; }xml_set_character_data_handler($parser,"char");xml_set_processing_instruction_handler($parser, "pi_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);?>