XML Namespaces
XML Namespaces သည် ဒြပ်စင်အမည်ကွဲလွဲမှုများကို ရှောင်ရှားရန် နည်းလမ်းတစ်ခုကို ပေးသည်။
အမည် ပဋိပက္ခများ
XML တွင် ဒြပ်စင်အမည်များကို ဆော့ဖ်ဝဲရေးသားသူက သတ်မှတ်သည်။ မတူညီသော XML အပလီကေးရှင်းများမှ XML စာရွက်စာတမ်းများကို ရောနှောရန်ကြိုးစားသောအခါ ၎င်းသည် မကြာခဏ ပဋိပက္ခဖြစ်စေသည်။
ဤ XML သည် HTML ဇယားအချက်အလက်ကို သယ်ဆောင်သည်-
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
ဤ XML သည် စားပွဲတစ်ခု (ပရိဘောဂအပိုင်းအစတစ်ခု) အကြောင်း အချက်အလက်ကို သယ်ဆောင်သည်-
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
ဤ XML အပိုင်းအစများကို ပေါင်းထည့်ပါက၊ အမည်ကွဲလွဲမှုများ ရှိလိမ့်မည်။ နှစ်ခုလုံးတွင် <table> ဒြပ်စင်ပါ၀င်သော်လည်း ဒြပ်စင်များတွင် မတူညီသော အကြောင်းအရာနှင့် အဓိပ္ပါယ်ရှိသည်။
အသုံးပြုသူ သို့မဟုတ် XML အပလီကေးရှင်းတစ်ခုသည် ဤကွဲပြားမှုများကို မည်သို့ကိုင်တွယ်ရမည်ကို သိမည်မဟုတ်ပါ။
ရှေ့ဆက်ကို အသုံးပြု၍ အမည်ကွဲလွဲမှုကို ဖြေရှင်းခြင်း။
XML ရှိ အမည်ကွဲလွဲမှုများကို အမည်ရှေ့ဆက်ကို အသုံးပြု၍ အလွယ်တကူ ရှောင်ရှားနိုင်သည်။
ဤ XML သည် HTML ဇယားတစ်ခုနှင့် ပရိဘောဂအပိုင်းအစများအကြောင်း အချက်အလက်များကို သယ်ဆောင်သည်-
<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>
အထက်ဖော်ပြပါ ဥပမာတွင်၊ <table> ဒြပ်စင်နှစ်ခုတွင် မတူညီသောအမည်များရှိသောကြောင့် ပဋိပက္ခဖြစ်မည်မဟုတ်ပါ။
XML Namespaces - xmlns ရည်ညွှန်းချက်
XML တွင်ရှေ့ဆက်များကိုအသုံးပြုသောအခါ၊ ရှေ့ဆက်အတွက် namespace ကိုသတ်မှတ်ရပါမည်။
ဒြပ်စင်တစ်ခု၏အစတက်ဂ်တွင် xmlns ရည်ညွှန်းချက် ဖြင့် namespace ကို သတ်မှတ်နိုင်သည် ။
namespace ကြေငြာချက်တွင် အောက်ပါ syntax ပါရှိသည်။ xmlns: ရှေ့ဆက် = " URI "။
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="https://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
အထက်ဖော်ပြပါ ဥပမာတွင်-
ပထမ <table> ဒြပ်စင်ရှိ xmlns ရည်ညွှန်းချက်သည် အရည်အချင်းပြည့်မီသော namespace ကို h-ရှေ့ဆက်ပေးသည်။
ဒုတိယ <table> ဒြပ်စင်ရှိ xmlns ရည်ညွှန်းချက်သည် f: အရည်အချင်းပြည့်မီသော namespace ကို ရှေ့ဆက်ပေးသည်။
ဒြပ်စင်တစ်ခုအတွက် namespace ကို သတ်မှတ်သောအခါ၊ တူညီသော ရှေ့ဆက်ပါရှိသော ကလေးဒြပ်စင်အားလုံးကို တူညီသော namespace နှင့် ဆက်စပ်နေပါသည်။
XML အမြစ်ဒြပ်စင်တွင် Namespaces ကိုလည်းကြေငြာနိုင်သည်-
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://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 URI ကို ခွဲခြမ်းစိတ်ဖြာသူမှ အသုံးမပြုပါ။
URI ကိုအသုံးပြုရခြင်း၏ ရည်ရွယ်ချက်မှာ namespace ကို ထူးခြားသောအမည်တစ်ခုပေးရန်ဖြစ်သည်။
သို့သော်၊ ကုမ္ပဏီများသည် namespace အချက်အလက်ပါရှိသော ဝဘ်စာမျက်နှာသို့ ညွှန်ပြချက်အဖြစ် namespace ကို အသုံးပြုကြသည်။
Uniform Resource Identifier (URI)
Uniform Resource Identifier (URI) သည် အင်တာနက်အရင်းအမြစ်တစ်ခုအား ခွဲခြားသတ်မှတ်ပေးသည့် စာလုံးလိုင်းတစ်ခုဖြစ်သည် ။
အသုံးအများဆုံး URI သည် အင်တာနက် ဒိုမိန်းလိပ်စာကို သတ်မှတ်ပေးသည့် Uniform Resource Locator (URL) ဖြစ်သည်။ URI ၏ အဖြစ်များသော အခြားအမျိုးအစားမှာ Uniform Resource Name (URN) ဖြစ်သည်။
မူရင်းအမည်ကွက်များ
ဒြပ်စင်တစ်ခုအတွက် default namespace ကိုသတ်မှတ်ခြင်းသည် ကလေးဒြပ်စင်အားလုံးတွင် ရှေ့ဆက်များကို အသုံးပြုခြင်းမှ ကျွန်ုပ်တို့ကို ကယ်တင်ပါသည်။ ၎င်းတွင် အောက်ပါ syntax ပါရှိသည်။
xmlns="namespaceURI"
ဤ XML သည် HTML ဇယားအချက်အလက်ကို သယ်ဆောင်သည်-
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
ဤ XML သည် ပရိဘောဂအစိတ်အပိုင်းတစ်ခုနှင့်ပတ်သက်သော အချက်အလက်များကို သယ်ဆောင်သည်-
<table xmlns="https://www.w3schools.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
အမှန်တကယ်အသုံးပြုမှုတွင် Namespaces
XSLT သည် XML စာရွက်စာတမ်းများကို အခြားဖော်မတ်များအဖြစ် ပြောင်းလဲရန် အသုံးပြုနိုင်သည့် ဘာသာစကားတစ်ခုဖြစ်သည်။
အောက်တွင်ဖော်ပြထားသော XML စာရွက်စာတမ်းသည် XML ကို HTML သို့ပြောင်းလဲရန်အသုံးပြုသည့်စာရွက်စာတမ်းဖြစ်သည်။
namespace "http://www.w3.org/1999/XSL/Transform" သည် HTML စာရွက်စာတမ်းအတွင်းရှိ XSLT အစိတ်အပိုင်းများကို ခွဲခြားသတ်မှတ်သည်-
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT အကြောင်း ပိုမိုလေ့လာလိုပါက၊ ကျွန်ုပ်တို့၏ XSLT ကျူတိုရီရယ် ကို ဖတ်ရှုပါ ။