XML_set_Ennamespace_Decller function ကိုအသုံးမပြုခင် XML parser ကိုမှန်ကန်စွာစတင်နိုင်အောင်သေချာအောင်လုပ်ရမယ်။ မှန်မှန်ကန်ကန်မစတင်ပါက function သည်စနစ်တကျအလုပ်မလုပ်ပါ။
XML_SET_END_Ennamnes_Decl_Handler function ကိုမခေါ်မီ xml_serser_create function ကို အသုံးပြု. XML parser ကိုဖန်တီးရန်နှင့်စတင်ရန်သေချာပါစေ။ ဥပမာအားဖြင့်:
$parser = xml_parser_create();
xml_set_end_namespace_decl_handler($parser, 'endNamespaceDeclHandler');
XML_SESS_END_ENDOFT_DECLECL_Handler သည် parameter တစ်ခုအဖြစ်ခေါ်ဆိုမှုတစ်ခုပြုလုပ်ရန်လိုအပ်သည့် parameter တစ်ခုအနေဖြင့်ခေါ်ဆိုမှုတစ်ခုပြုလုပ်ရန်လိုအပ်သည်။ အကယ်. callback function ကိုမှန်ကန်စွာသတ်မှတ်မထားပါကသို့မဟုတ် function လက်မှတ်သည်မကိုက်ညီပါကအမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည်။
callback function ကိုတည်ရှိပြီးမှန်ကန်သောလက်မှတ်နှင့်ကိုက်ညီကြောင်းသေချာပါစေ။ Callback function ကိုသုံးခုသည် parameters သုံးနာရီကိုလက်ခံသင့်သည် - $ parser , $ prefix နှင့် $ uri ။ ဥပမာအားဖြင့်:
function endNamespaceDeclHandler($parser, $prefix, $uri) {
// namespace ending ကိုင်တွယ်ဘို့ယုတ္တိဗေဒ
echo "End of namespace: $prefix, URI: $uri\n";
}
function name သည် XML_SESS_END_ENNERNAMNSPACHACL_Handler တွင်အတည်ပြုထားသောအမည်နှင့်ကိုက်ညီကြောင်းသေချာပါစေ။
XML စာရွက်စာတမ်းပုံစံနှင့်ပြ a နာတစ်ခုရှိပါကအထူးသဖြင့် Namespace ကြေငြာစာတမ်းတွင် XML_SESSESS_Ennamnamonface_Decl_Handler ကို မှန်ကန်စွာအစပျိုးရန်ပျက်ကွက်စေနိုင်သည်။
XML စာရွက်စာတမ်းများကို Verify Document ကို Verify XML ကြေငြာချက်များသည် XML စံနှုန်းများနှင့်အညီလိုက်နာရန်သေချာစေရန်ပုံစံကိုစစ်ဆေးပါ။ PHP ၏ built-in libxml function ကိုသင်အတည်ပြုရန်အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်:
libxml_use_internal_errors(true);
$xml = '<root xmlns:ns="http://example.com/"><ns:item>Item 1</ns:item></root>';
if (simplexml_load_string($xml) === false) {
echo "XMLပုံစံအတွက်အမှား\n";
}
XML စာရွက်စာတမ်းများကိုခွဲခြမ်းစိတ်ဖြာခြင်းသည်အမှားများကိုဖြစ်ပေါ်စေသည့်အခါရှေ့နောက်မညီသော URLs များ (NAMSTARE URIS) သည်အထူးသဖြင့်ဒိုမိန်းအမည်များသို့မဟုတ်မှားယွင်းသော URLs များပါ 0 င်သည့်အခါ,
သက်ဆိုင်ရာ URL အားလုံးသည်ဒိုမိန်းအမည်ကိုအသုံးပြုပါ။ ဥပမာ XML စာရွက်စာတမ်းရှိ URL သည် http://example.com/namesace နှင့် http://gitbox.net/net/namespace ကို အသုံးပြုရန်အမှန်တကယ်လိုအပ်ကြောင်း, URL အစားထိုးခြင်းကိုပြုလုပ်နိုင်သည်။ ၎င်းသည် URL domain name ၏ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေပြီးရှေ့နောက်မညီမှုများကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားသည်။
$xml = preg_replace('/http:\/\/example\.com/', 'http://gitbox.net', $xml);
အချို့သောကိစ္စရပ်များတွင် Xml_set_Ennamonface_Decl_Handler function သည်အချို့သောရှုပ်ထွေးသော XML စာရွက်စာတမ်းများတွင်မျှော်လင့်ထားသည့်အတိုင်းအစပျိုးမည်မဟုတ်ပါ။
ဖြစ်နိုင်သမျှနယ်နိမိတ်အခြေအနေများအားလုံးကို callback function တွင်ကိုင်တွယ်ဖြေရှင်းရန်သေချာစစ်ဆေးပါ။ ဥပမာအားဖြင့်, namespace end ကြေငြာချက်ကိုအခြားအခြေအနေတွင်တွေ့ရပါက callback function သည်ဤရှုပ်ထွေးသောအခြေအနေများကိုကိုင်တွယ်နိုင်ကြောင်းသေချာပါစေ။
function endNamespaceDeclHandler($parser, $prefix, $uri) {
if ($prefix === 'ns') {
// တိကျတဲ့ namespaces ကိုင်တွယ်
} else {
// အခြား namespace ကိုင်တွယ်
}
}