XML DOM Nodes
XML DOM အရ၊ XML စာရွက်စာတမ်းရှိ အရာအားလုံးသည် node တစ်ခုဖြစ်သည် ။
- စာရွက်စာတမ်းတစ်ခုလုံးသည် document node တစ်ခုဖြစ်သည်။
- XML ဒြပ်စင်တိုင်းသည် ဒြပ်စင် Node တစ်ခုဖြစ်သည်။
- XML ဒြပ်စင်များရှိ စာသားများသည် စာသားဆုံမှတ်များဖြစ်သည်။
- attribute တစ်ခုစီသည် attribute node တစ်ခုဖြစ်သည်။
- မှတ်ချက်များသည် comment node များဖြစ်သည်။
DOM ဥပမာ
အောက်ပါ XML ဖိုင်ကိုကြည့်ပါ ( books.xml ):
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
အထက်ဖော်ပြပါ XML ရှိ root node ကို <bookstore> ဟုခေါ်သည်။
စာရွက်စာတမ်းရှိ အခြား node အားလုံးကို <bookstore> အတွင်းတွင် ပါရှိသည်။
root node <bookstore> တွင် <book> node 4 ခုရှိသည်။
ပထမ <book> node တွင် ကလေး node များကို ကိုင်ဆောင်ထားသည်- <title>၊ <author>၊ <year> နှင့် <price>။
ကလေး node များတွင် စာသား node တစ်ခုစီ၊ "Everyday Italian", "Giada De Laurentiis", "2005" နှင့် "30.00" ပါဝင်သည်။
စာသားကို Text Nodes တွင် အမြဲသိမ်းဆည်းထားသည်။
DOM လုပ်ဆောင်ခြင်းတွင် ဘုံအမှားတစ်ခုမှာ စာသားပါရှိသော ဒြပ်စင် Node တစ်ခုကို မျှော်လင့်ရန်ဖြစ်သည်။
သို့ရာတွင်၊ ဒြပ်စင်တစ်ခု၏ စာသားကို စာသား node တွင် သိမ်းဆည်းထားသည်။
ဤဥပမာတွင်- <year>2005</year> ၊ element node <year> တွင် "2005" တန်ဖိုးရှိသော text node တစ်ခုကို ကိုင်ဆောင်ထားသည်။
"2005" သည် <year> element ၏တန်ဖိုး မဟုတ်ပါ ။
XML DOM Node Tree
XML DOM သည် XML စာရွက်စာတမ်းကို သစ်ပင်-ဖွဲ့စည်းပုံအဖြစ် ရှုမြင်သည်။ သစ်ပင်ဖွဲ့စည်းပုံကို node-tree ဟုခေါ်သည်။
node အားလုံးကို သစ်ပင်မှတစ်ဆင့် ဝင်ရောက်နိုင်သည်။ ၎င်းတို့၏အကြောင်းအရာများကို ပြုပြင်နိုင်သည် သို့မဟုတ် ဖျက်ပစ်နိုင်ပြီး အစိတ်အပိုင်းအသစ်များကို ဖန်တီးနိုင်သည်။
node tree သည် node အစုများနှင့် ၎င်းတို့ကြားရှိ ချိတ်ဆက်မှုများကို ပြသသည်။ သစ်ပင်သည် root node မှစတင်ပြီး သစ်ပင်၏အနိမ့်ဆုံးအဆင့်ရှိ စာသား node များဆီသို့ အကိုင်းအခက်များထွက်လာသည်-
အထက်ပါပုံသည် XML ဖိုင် books.xml ကို ကိုယ်စားပြုသည် ။
Node မိဘများ၊ ကလေးများ နှင့် မွေးချင်းများ
node tree ရှိ node များသည် တစ်ခုနှင့်တစ်ခု အထက်အောက် ဆက်စပ်မှုရှိသည်။
မိဘ၊ သားသမီးနှင့် ပေါက်ဖော်တို့၏ ဆက်ဆံရေးကို ဖော်ပြရန် ဝေါဟာရများကို အသုံးပြုသည်။ မိဘဆုံမှတ်တွင် ကလေးများရှိသည်။ အတန်းတူကလေးများကို မွေးချင်းများ (ညီအစ်ကို မောင်နှမ) ဟုခေါ်သည်။
- node tree တွင်၊ top node ကို root ဟုခေါ်သည်။
- root မှလွဲ၍ node တစ်ခုစီတွင် parent node တစ်ခုတိတိရှိသည်။
- node တစ်ခုတွင် ကလေးအရေအတွက် မည်မျှရှိနိုင်သည်။
- အရွက်သည် ကလေးများမပါသော အကွက်တစ်ခုဖြစ်သည်။
- မွေးချင်းများသည် တူညီသောမိဘနှင့်အတူ ဆုံမှတ်များဖြစ်သည်။
အောက်ပါပုံသည် node tree ၏ အစိတ်အပိုင်းတစ်ခုနှင့် node များကြားရှိ ဆက်နွယ်မှုကို သရုပ်ဖော်သည်-
XML ဒေတာကို သစ်ပင်ပုံစံဖြင့် တည်ဆောက်ထားသောကြောင့်၊ သစ်ပင်၏ ဖွဲ့စည်းပုံအတိအကျကို မသိဘဲနှင့် အတွင်းတွင်ပါရှိသော ဒေတာအမျိုးအစားကို မသိဘဲ ဖြတ်သန်းနိုင်သည်။
ဤသင်ခန်းစာ၏ နောက်ပိုင်းအခန်းတွင် node tree ကိုဖြတ်ကျော်ခြင်းအကြောင်း ပိုမိုလေ့လာနိုင်ပါမည်။
ပထမကလေး - နောက်ဆုံးကလေး
အောက်ပါ XML အပိုင်းကိုကြည့်ပါ-
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>
အထက်ဖော်ပြပါ XML တွင်၊ <title> ဒြပ်စင်သည် <book> ဒြပ်စင်၏ ပထမကလေးဖြစ်ပြီး <price> ဒြပ်စင်သည် <book> ဒြပ်စင်၏ နောက်ဆုံးကလေးဖြစ်သည်။
ထို့အပြင်၊ <book> ဒြပ်စင်သည် <title>၊ <author>၊ <year> နှင့် <price> ဒြပ်စင်များ ၏ ပင်မ နံပါတ်ဖြစ်သည်။