PHP တွင် XML_SESS_END_ENNERNAMBAND_DECL_Handler သည် XML ၏ end ကြေငြာချက်၏ Ended ကြေငြာချက်၏ Ended Tag ကိုကြုံတွေ့ရသည့်အခါတိုင်း callback function ကိုမှတ်ပုံတင်ရန်အသုံးပြုသည်။ XML ဒေတာများကိုပြုပြင်သည့်အခါ developer များစီမံခန့်ခွဲမှုများကိုစီမံခန့်ခွဲသည့်အခါ developer များကိုပိုမိုနားလည်သဘောပေါက်ရန်အထောက်အကူပြုသည်။
XML_SESS_END_ENDOMPARD_DECL_Handler သည် XML ခွဲခြမ်းစိတ်ဖြာမှုအတွက် PHP တွင်အသုံးပြုသောလုပ်ဆောင်ချက်များထဲမှတစ်ခုဖြစ်သည်။ ၎င်း၏ function သည် namespace end ကြေငြာချက် ( XMLNS: END ) ကြုံတွေ့ရသောအခါမည်သည့် callback function ကိုသတ်မှတ်ရန်ဖြစ်သည်။ သီးခြားအသုံးပြုမှုဖြစ်ရပ်များသည်များသောအားဖြင့် xml ၏ namespace အပြောင်းအလဲနဲ့ပါ 0 င်သည်။
bool xml_set_end_namespace_decl_handler ( resource $parser , callable $handler )
$ Parser - XML parser အရင်းအမြစ်တစ်ခုဖြစ်ပြီး XML_Parser_create စသည့်လုပ်ဆောင်ချက်များကိုဖြင့်ဖန်တီးထားသော xml parser အရင်းအမြစ်ဖြစ်သည်။
$ handler - xml ခွဲခြမ်းစိတ်ဖြာသည့်အခါ namespace အဆုံးကြေငြာချက်ကိုကြုံတွေ့ရသောအခါ callback function ကိုဖြစ်သည်။
XML စာရွက်စာတမ်းများကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်ကွပ်မျက်ခံရသည့်လုပ်ဆောင်မှုများနှင့် callback function များကိုလုပ်ဆောင်ရန်မှာမရှိမဖြစ်လိုအပ်သည်။ XML စာရွက်စာတမ်းများတွင် Namespace ၏ကြေငြာချက်သည်များသောအားဖြင့်စာရွက်စာတမ်းအစတွင်ပြုလုပ်လေ့ရှိပြီးအဆုံး tag ကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ callback function ကိုဖြစ်ပေါ်စေသည်။
parser ကိုအစပြု :
XML_Parser_Create () ကို ခေါ်ယူရန် XML parser ကိုဖန်တီးရန် XML parser ကိုဖန်တီးရန် XML ဒေတာများကိုလိုင်းအားဖြင့်တန်းစီခြင်းခံရနိုင်သည်။ Parser သည် XML tags များနှင့် contents များကိုနောက်ဆက်တွဲပြုလုပ်သည်။
callback function ကိုမှတ်ပုံတင်ပါ ။
XML_set_Ennamespace_Decl_Handler ဖြင့် callback function ကိုမှတ်ပုံတင်ပြီးနောက် parser သည် namester end ကြေငြာချက် tag ( </ ns: end> ) ကြုံတွေ့ရတိုင်း callback function ကိုဖြစ်ပေါ်စေလိမ့်မည်။
xml အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာခြင်း -
namespace ကြေငြာချက်၏အဆုံးကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ parser သည် callback function ကိုလုပ်ဆောင်သည်။ ဤ calloback function သည်အောက်ပါ parameters များကိုလက်ခံရရှိလိမ့်မည်။
$ Parser : XML parser အရင်းအမြစ်။
$ ရှေ့ဆက် : namespace ရှေ့ဆက်။
$ URI : namespace ၏ Uri ။
ဤအချက်နှစ်ချက်ဖြင့် developer များသည် calmback function တွင် namespace ၏အဆုံးအပိုင်းကိုကိုင်တွယ်နိုင်သည်။ ဥပမာအားဖြင့်, သင်သည် URI နှင့်ရှေ့ဆက်သတင်းအချက်အလက်များကို namespace များအတွက်ပုံနှိပ်နိုင်သည်။
callback function ကို၏ခလုတ် :
Parser သည် XML document ၏ဖွဲ့စည်းပုံအရမှတ်ပုံတင်ထားသော callback function ကိုတစ်ခုကဖြစ်ပေါ်လိမ့်မည်။ ခွဲခြမ်းစိတ်ဖြာစဉ်အတွင်းအဆုံး namespace tag ကိုကြုံတွေ့ရသောအခါ callback function ကိုချက်ချင်းကွပ်မျက်ခံရလိမ့်မည်။
အပြောင်းအလဲနဲ့ namespace အဆုံးသတ် :
ဤ callback function ကိုမကြာခဏအဆုံး၌ namespace သန့်ရှင်းရေးသို့မဟုတ်အခြားစစ်ဆင်ရေးများကိုကိုင်တွယ်ရန်အသုံးပြုသည်။ ယေဘုယျအားဖြင့်ပြောရလျှင် XML စာရွက်စာတမ်းများခွဲခြမ်းစိတ်ဖြာပြီးပါက XML document ၏ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေရန်သက်ဆိုင်ရာ Namespace အချက်အလက်များကိုလည်းသန့်ရှင်းရေးပြုလုပ်လိမ့်မည်။
ဤတွင် Callback function ကိုမှတ်ပုံတင်ရန်နှင့် XML_SEST_Ennamonface_Decl_handler ကို အသုံးပြု. Namespace End tag ကိုကိုင်တွယ်ပုံကိုပြသသောရိုးရှင်းသောဥပမာတစ်ခုရှိသည်။
<?php
// Callback function ကိုသတ်မှတ်ပါ
function endNamespaceHandler($parser, $prefix, $uri) {
echo "Namespace prefix: $prefix\n";
echo "Namespace URI: $uri\n";
}
// ဖန်တီး XML မိစ်ဆာ
$parser = xml_parser_create();
// callback function ကိုမှတ်ပုံတင်ပါ
xml_set_end_namespace_decl_handler($parser, "endNamespaceHandler");
// အဘယ်အရာကိုခွဲခြမ်းစိတ်ဖြာရန်သတ်မှတ်ပါ XML အချက်များ
$xml_data = <<<XML
<root xmlns:ns="http://www.example.com/ns">
<ns:element>Some data</ns:element>
</root>
XML;
// သုံးသပ်ကြည့်ရှုခြင်း XML အချက်များ
xml_parse($parser, $xml_data);
xml_parser_free($parser);
?>
ဤဥပမာတွင် XML သည် namespace ၏ရှေ့ဆက်နှင့် URI တို့ကိုအဆုံးမှတ်စုများကိုကြေငြာချက်ကိုခွဲထုတ်သောအခါ EntnamespaceHandler ဟုခေါ်သည်။
XML ကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ namespace တစ်ခုချင်းစီသည်ကြေငြာထားသော tag ကိုအဆုံးသတ်သောအခါ callback function ကိုထုတ်ပစ်သည်။ ထို့ကြောင့် callback function ကိုကွပ်မျက်မှုအမိန့်သည် XML document ၏ဖွဲ့စည်းပုံနှင့်နီးကပ်စွာဆက်စပ်နေသည်။ စာရွက်စာတမ်း parsing လုပ်ငန်းစဉ်အတွင်းတဖြည်းဖြည်းဖြစ်ပေါ်လာလိမ့်မည်။
XML_set_Ennamespace_Decl_handler က သာ callback function ကိုသာမှတ်ပုံတင်နိုင်သည်။ ကွဲပြားခြားနားသောအဖြစ်အပျက်မျိုးစုံကိုသင်ကိုင်တွယ်ရန်လိုအပ်ပါက mode function ကို callback function ကိုထည့်သွင်းခြင်းသို့မဟုတ်၎င်းကိုအောင်မြင်ရန်အခြားခွဲခြမ်းစိတ်ဖြာနည်းများကိုအသုံးပြုခြင်းကိုစဉ်းစားနိုင်သည်။
XML data format သည်မမှန်ကန်ပါကသို့မဟုတ်အမှားတစ်ခုရှိလျှင် XML_PARESSE သည် အမှားတစ်ခုသို့ပြန်လာပြီးခွဲခြမ်းစိတ်ဖြာခြင်းလုပ်ငန်းစဉ်ကိုအနှောင့်အယှက်ပေးလိမ့်မည်ကိုသတိပြုပါ။
အထက်ဖော်ပြပါအချက်သည် PHP တွင် XML_SESS_Ennamonfack_Decl_Handler ၏ callback_decl_handler function ၏ callback function ၏လုပ်ဆောင်မှုအမိန့်နှင့်လုပ်ငန်းစဉ်ကိုအသေးစိတ်ခွဲခြမ်းစိတ်ဖြာခြင်းဖြစ်သည်။ ဤလုပ်ဆောင်မှုကိုနားလည်ခြင်းနှင့်ပြန်ခေါ်သည့်ယန္တရားကိုနားလည်ခြင်းအားဖြင့် developer များသည် XML namespace နှင့်ဆက်ဆံရာတွင်ပိုမိုထိရောက်နိုင်သည်။