ရှုပ်ထွေးသော XML စာရွက်စာတမ်းများခွဲခြမ်းစိတ်ဖြာသည့်အခါ namespace ယန္တရားသည်အလွန်အရေးကြီးသည်။ ၎င်းသည်အထူးသဖြင့် XML vocabulary မျိုးစုံကိုရောထွေးသည့်အခါ, PHP တွင် XML_SESS_STATT_STATT_STATT_HANDLER နှင့် XML_SEST_END_ENDES_DECL_Handler function များသည် namespace ၏ဘဝသံသရာကိုတိကျစွာထိန်းချုပ်ရန်နည်းလမ်းတစ်ခုဖြစ်ပြီး XML namunspace ၏ကောင်းမွန်သောစီမံခန့်ခွဲမှုရရှိနိုင်သည်။
XML namespace ကြေငြာချက်တစ်ခုသည် element start tag တွင်များသောအားဖြင့်ပေါ်လာသည်။
<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3schools.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
ဤဥပမာတွင်ကွဲပြားခြားနားသော namespace H နှင့် F ကို သတ်မှတ်ထားသော HTML နှင့်ပရိဘောဂဖော်ပြချက်အတွက်သတ်မှတ်ထားသောနှင့်အသုံးပြုသည်။ ဤဖွဲ့စည်းပုံ၏ခွဲခြမ်းစိတ်ဖြာခြင်းသည် Namespace ကြေငြာချက်များနှင့်မကိုက်ညီပါကဒြပ်စင်များကိုဖော်ထုတ်ရန်အခက်အခဲရှိလိမ့်မည်။
ဤလုပ်ဆောင်ချက်သည် Namespace ကြေငြာချက်အသစ်တစ်ခုနှင့်ကြုံတွေ့ရသည့်အခါ callback function ကိုမှတ်ပုံတင်ရန်အသုံးပြုသည်။
bool xml_set_start_namespace_decl_handler ( resource $parser , callable $handler )
callback function ကိုသုံးခုက parameters တွေကိုလက်ခံသည်:
$ parser : parser အရင်းအမြစ်;
$ ရှေ့ဆက် : namespace ရှေ့ဆက် (အချည်းနှီးသော string ကို);
$ URI : namespace uri ။
ဤ function သည် callback ကိုမှတ်ပုံတင်ပြီး namespace ကြေငြာစာတမ်းအဆုံးတွင်ဖြစ်သည်။
bool xml_set_end_namespace_decl_handler ( resource $parser , callable $handler )
callback function ကို parameters နှစ်ခုကိုလက်ခံသည်:
$ parser : parser အရင်းအမြစ်;
$ ရှေ့ဆက် : namespace ရှေ့ဆက်။
အောက်ပါဥပမာသည် XML namespaces နှင့်အလုပ်လုပ်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။
<?php
$xml = <<<XML
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3schools.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
XML;
$parser = xml_parser_create();
xml_set_start_namespace_decl_handler($parser, function($parser, $prefix, $uri) {
echo "Start Namespace: prefix = {$prefix}, uri = {$uri}\n";
});
xml_set_end_namespace_decl_handler($parser, function($parser, $prefix) {
echo "End Namespace: prefix = {$prefix}\n";
});
xml_set_element_handler($parser,
function($parser, $name, $attrs) {
echo "Start Element: {$name}\n";
},
function($parser, $name) {
echo "End Element: {$name}\n";
}
);
xml_parse($parser, $xml, true);
xml_parser_free($parser);
အထက်ပါကုဒ်ကို run ပြီးအောက်ပါအချက်အလက်များသည်ရလဒ်ဖြစ်လိမ့်မည်။
Start Namespace: prefix = h, uri = http://www.w3.org/TR/html4/
Start Namespace: prefix = f, uri = http://www.w3schools.com/furniture
Start Element: ROOT
Start Element: H:TABLE
Start Element: H:TR
Start Element: H:TD
End Element: H:TD
Start Element: H:TD
End Element: H:TD
End Element: H:TR
End Element: H:TABLE
Start Element: F:TABLE
Start Element: F:NAME
End Element: F:NAME
Start Element: F:WIDTH
End Element: F:WIDTH
Start Element: F:LENGTH
End Element: F:LENGTH
End Element: F:TABLE
End Element: ROOT
End Namespace: prefix = f
End Namespace: prefix = h
Namespace နယ်ပယ်တစ်ခုစတင်သောအခါသက်ဆိုင်ရာအပြောင်းအလဲများကိုအစပျိုးခြင်း, developer များအား namespace ပေါ် မူတည်. မှတ်တမ်းတင်ခြင်း,
Namespace အခြေအနေတွင် stack ကိုတည်ဆောက်ခြင်း - သင်ဟာ XML node များအကြောင်းကိုအထောက်အကူပြုသည့်လက်ရှိတက်ကြွသော namespace ကိုမှတ်တမ်းတင်ရန်အပြောင်းအလဲနဲ့လုပ်ဆောင်မှုအတွက် structure function တွင် stack stack တည်ဆောက်ပုံကိုတည်ဆောက်နိုင်သည်။
ရောနှောပါ 0 င်သောအကြောင်းအရာများကိုကိုင်တွယ်ပါ ။ XML စာရွက်စာတမ်းတစ်ခုသည်အသိုက်ကို NAMS ကိုအသုံးပြုပါက,
SANCAMACE ဒီဇိုင်း - Namespace - သတိထားမိသောခွဲခြမ်းစိတ်ဖြာခြင်းသည်ဆပ်ပြာ, RSS, အက်တမ်စသည့်စသည်တို့ကိုထောက်ပံ့သောစနစ်များအတွက်မရှိမဖြစ်လိုအပ်သည်။
XML_set_start_start_start_decl_handler နှင့် XML_SESS_ENDOST_END_ENDOST_ENDOST_DECT_DECNST_DECLL_Handler လုပ်ဆောင်ချက်များကို PHP သည်ရှုပ်ထွေးသော namespace အဆောက်အအုံများကိုကိုင်တွယ်ရန်အစွမ်းထက်သောကိရိယာများကိုထောက်ပံ့ပေးသည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပြောင်းလွယ်ပြင်လွယ်အသုံးပြုမှုသည် developer များက developer များက developer များက developer များကတတိယပါတီဒေတာ interfaces နှင့် standard protocol formats များကိုကိုင်တွယ်ရန်အလွန်အကျိုးရှိသည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်စီးပွားရေး semantics နှင့် namespace ယန္တရားများကိုပေါင်းစပ်ခြင်းက XML ကိုပိုမိုခိုင်မာသည့်နှင့်ထိန်းသိမ်းခြင်းကိုပြုလုပ်နိုင်သည်။ အကယ်. သင်နှင့်သင်ဆက်ဆံနေသော XML သည် https://gitbox.net/api/api/api/api/api/api/api/api/api/plfeed ကဲ့သို့သောပြင်ပစနစ်များမှလာသည်။