PHP xml_set_external_entity_ref_handler() فنکشن

تعریف اور استعمال

xml_set_external_entity_ref_handler() فنکشن بیرونی ایکائی کو پائدھا کرنے کے بعد طلب کی جانے والی فنکشن کو معین کرتی ہے۔

اگر پردازکن کامیابی سے قائم کیا گیا تو اس فنکشن سے true کی واپسی ہوگی؛ نہ تو فالس کی واپسی ہوگی۔

نویگیشن

xml_set_external_entity_ref_handler(parser,handler)
پارامتر وصف
parser ضروری ہے۔ استعمال کی جانے والی XML پردازکن کو معین کرتا ہے۔
handler ضروری ہے۔ جب پردازکن بیرونی ایکائی کو پائدھا تو اس کے لئے طلب کی جانے والی فنکشن کو معین کرتا ہے۔

کی جانب سے handler پارامتر کا طور پر مقرر کردہ فنکشن کو چھ پارامتروں کا حامل ہونا چاہئے:

پارامتر وصف
parser ضروری ہے۔ ایک متغیر معین کرتا ہے جو XML پردازکن کا استعمال کرنے والا ہے۔
name ضروری ہے۔ بیرونی ایکائی کے نام کا متغیر معین کرتا ہے。
base

ضروری ہے۔ ایک متغیر معین کرتا ہے جو بیرونی ایکائی کے معاملے میں سیسٹم کے شناختی عدد (system_id) کی بنیاد کا حامل ہے。

موجودہ میں اس پارامتر کو عام طور پر خالی جملے کے طور پر سیٹ کیا جاتا ہے。

system_id ضروری. متغیر شامل شناسه سیستم برای اجزا خارجی تعیین می‌شود.
public_id ضروری. متغیر شامل شناسه عمومی برای اجزا خارجی تعیین می‌شود.

توضیح

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

مثال

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
  {
  echo "$ent";
  echo "$sysID";
  echo "$pubID";
  }
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)) or 
  die (sprintf("خطای XML: %s در خط %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>