دالة PHP xml_set_processing_instruction_handler()

التعريف والاستخدام

يحدد دالة xml_set_processing_instruction_handler() الوظيفة التي سيتم استدعاؤها عند إيجاد معالج تحليل XML في مستند XML.

تتضمن التعليمات البرمجية في حروف <? و ?>.

إذا تم إنشاء المعالج بنجاح، فإن الوظيفة ستعود بـ true؛ وإلا ستعود بـ false.

مثال: في هذا المثال، يتم ربط التعليمات البرمجية لملف النمط مع مستند XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="default.xsl" type="text/xml"?>
<note>
<to>توف</to>
<from>جاني</from>
<heading>تذكير</heading>
<body>لا تنساني هذا العطلة الاسبوعية!</body>
</note>

القواعد

xml_set_processing_instruction_handler(معالج,handler)
الم参数 وصف
معالج الضروري. تحديد معالج تحليل XML الذي سيتم استخدامه.
handler الضروري. تحديد وظيفة.

من handler الوظيفة المحددة يجب أن يكون لها ثلاثة معلمات:

الم参数 وصف
معالج الضروري. تحديد متغير يحتوي على معالج تحليل XML.
target ضروری. متغیری که شامل هدف دستورالعمل‌ها را مشخص می‌کند.
data ضروری. متغیری که شامل داده‌های دستورالعمل‌ها را مشخص می‌کند.

توضیح

handler پارامتر نیز می‌تواند یک آرایه باشد که شامل ارجاع به اشیاء و نام‌های روش‌ها می‌شود.

مثال

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function pi_handler($parser, $target, $data)
  {
  echo "Target: $target<br />";
  echo "Data: $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)) or 
  die (sprintf("XML Error: %s at line %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>