توابع PHP xml_set_processing_instruction_handler()

تعریف و استفاده

توابع xml_set_processing_instruction_handler() پردازشگر را تنظیم می‌کند که هنگام یافتن دستورالعمل پردازش در مستند XML فراخوانی شود.

دستورالعمل پردازش در میان علامت‌های <? و ?> قرار دارد.

اگر پردازشگر با موفقیت ایجاد شود، این تابع true را برمی‌گرداند؛ در غیر این صورت false را برمی‌گرداند.

مثال: در این مثال، دستورالعمل پردازش یک فایل استایل با مستند XML مرتبط می‌کند:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="default.xsl" type="text/xml"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>یادآوری</heading>
<body>این هفته آخر یادم نرود!</body>
</note>

نحوه

xml_set_processing_instruction_handler(parser,handler)
پارامتر توضیح
parser لازم است. پردازشگر XML مورد استفاده را تعریف کنید.
handler لازم است. یک تابع تعریف کنید.

از handler پارامتر تعریف شده باید دارای سه پارامتر باشد:

پارامتر توضیح
parser لازم است. تعریف یک متغیر، شامل پردازشگر XML پردازشگر.
target Required. Specifies the variable that contains the processing instruction target.
data Required. Specifies the variable that contains the processing instruction data.

Description

handler The parameter can also be an array containing object references and method names.

Example

<?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);
?>