PHP xml_set_external_entity_ref_handler() फ़ंक्शन

विन्यास और उपयोग

xml_set_external_entity_ref_handler() फ़ंक्शन जब पार्सर XML दस्तावेज़ में बाहरी वस्तु को पाया जाता है तो बुलाए जाने वाले फ़ंक्शन को निर्धारित करता है。

यदि प्रोसेसर सफलता से स्थापित किया गया है तो फ़ंक्शन true लौटाएगा; अन्यथा false लौटाएगा。

व्याकरण

xml_set_external_entity_ref_handler(parser,हैंडलर)
पारामीटर वर्णन
parser आवश्यक। उपयोग करने वाले XML पार्सर को निर्धारित करें。
हैंडलर आवश्यक। पार्सर जब बाहरी वस्तु को पाया जाता है तो बुलाए जाने वाले फ़ंक्शन को निर्धारित करें。

द्वारा हैंडलर पारामीटर द्वारा निर्धारित फ़ंक्शन को छह पारामीटर होने चाहिए:

पारामीटर वर्णन
parser आवश्यक। एक वेरियेबल निर्धारित करें जो XML पार्सर को बुलाता है。
name आवश्यक। बाहरी वस्तु के नाम को शामिल करने वाले वेरियेबल को निर्धारित करें。
base

आवश्यक। एक वेरियेबल निर्धारित करें जो बाहरी वस्तु के प्रणाली पहचानकर्ता (system_id) के आधार को शामिल करता है。

वर्तमान में यह पारामीटर आमतौर पर रिक्त शब्द रूप में सेट किया जाता है。

system_id अनिवार्य।बाहरी एंटिटी के सिस्टम पहचान के लिए वारियेबल निर्दिष्ट करें
public_id अनिवार्य।बाहरी एंटिटी के सार्वजनिक पहचान के लिए वारियेबल निर्दिष्ट करें

वर्णन

हैंडलर पैरामीटर एक ब्यूटीफूल एक्सट्राक्ट का भी हो सकता है, जिसमें ऑब्जैक्ट संदर्भ और फ़ंक्शन नाम शामिल हैं।

उदाहरण

<?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 Error: %s at line %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>