PHP xml_set_notation_decl_handler() فنکشن

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

xml_set_notation_decl_handler() فنکشن پردازکنے والی کو تفسیر کرتے وقت XML ڈاکومن میں اشاریہ دلیلی کو تلاش کرتے وقت جوگا فنکشن کا دینا.

اگر پردازکنے والی کامیابی سے قائم ہوئی ہوئی تو اس فنکشن سے حاصل کردہ جواب true کا دینا چاہئیے، درغیر اینت حالت میں جواب false کا دینا چاہئیے.

نوٹ:اشاریہ دلیلی، انگریزی میں notation declaration کہا جاتا ہے، کچھ نویاں میں اس کو “تعلیماتی دلیلی” بھی کہتے ہیں.

قواعد

xml_set_notation_decl_handler(parser,نمونه‌کار)
پارامتر وصف
parser ضروری ہے. یہ فنکشن کو تعین کرنا ہے جو کا استعمال کیا جانا ہے.
نمونه‌کار ضروری ہے. یہ فنکشن کو تعین کرنا ہے جو جب تفسیر کار کو اشاریہ دلیلی کا دینا والی فنکشن سے سینک آپس میں جوگا.

مثال میں نمونه‌کار پارامتر کا دینا والی فنکشن کو چھ پارامتر حاصل ہونا چاہئیے:

پارامتر وصف
parser ضروری ہے. یہ متغیر کو تعین کرنا ہے جس میں پردازکنے والی XML تفسیر کار کو شامل کرنا ہوگا.
name ضروری ہے. متعلقہ اشیاء کی نام کا متغیر کا تعین کرنا.
base

ضروری ہے. یہ متغیر کو تعین کرنا ہے جس میں تفصیل کی تفسیر کرنے والی نظامی علامت شناسا متغیر (system_id) کا بنیادی جزو شامل ہو

آج اس پارامتر کو عام طور پر خالی سٹرنگ کے طور پر ساتھ دیا جاتا ہے.

system_id ضروری ہے. متعلقہ اشیاء کی نظامی علامت شناسا متغیر کا تعین کرنا.
public_id ضروری ہے. متعلقہ اشیاء کی مشترکہ علامت شناسا متغیر کا تعین کرنا.
notation ضروری. یک متغیر را مشخص می‌کند که شامل نشانه‌ای برای شناسایی نوع داده‌های موجودیت است.

توضیحات

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

مثال

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function not_decl_handler($parser,$not,$base,$sysID,$pubID)
  {
  echo "$not<br />";
  echo "$sysID<br />";
  echo "$pubID<BR />";
  }
xml_set_character_data_handler($parser,"char");
xml_set_notation_decl_handler($parser, "not_decl_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);
?>