Sunday, October 21, 2018

Basic XML 1

1. XML Basic 

XML ဆိုသည်မှာ TAGတွေကိုအသုံးပြုပြီး၊ စာပိုဒ်တစ်ခုရဲ့ဖွဲ့စည်းပုံကို စနစ်ချရာမှာအသုံးပြုသော စနစ်တစ်ခု ဖြစ်၏။ XML သည်မရေရာသော ရေးသားပုံစနစ်ကလိုက်မခံပဲ၊ တင်းကျပ်တဲ့စည်းမျဉ်းတွေနဲ့ စာရေးသားပုံစနစ်ကို သတ်မှတ်ထားသည့်အတွက် Program များမှ အသုံးပြုရလွယ်ကူစေသော ထူးခြားမှု့ကိုပိုင်ဆိုင်၏။ ထိုကြောင့်ရုံးသုံးစာများတွင်၊ Business Data အချက်အလက်တွေကို ရေးသားရာမှာ XML ကိုအသုံးပြုနေကြ သည်မှာမရေတွက်နိုင်ပေ။
ထို့အပြင် XML ဟာ စနစ်တခုမှ၊ အခြားတစ်ခုကို ဆက်သွယ်ရာမှာအသုံးပြုတဲ့ Protocol အဖြစ်နဲ့လည်း အသုံးပြုကြပါသည်။ XML ကိုအခြေခံတဲ့ Protocol များတွင် လူသိများသည်က SOAPဖြစ်ပြီး၊ SOAP ကို အသုံးပြုသောနည်းပညာမှာ Web Servicesဖြစ်၏။ အထကေ် ဖာ်ပြပါအတိုင်း XMLသည် ရုံးသုံးစာရေးစနစ် များမှအစ Web Service အထိတိုင်အောင် နေရာများစွာတွင်အသုံးပြုနေကြသည်ကို သိရှိနိူင်ပါသည်။
သည်XML ဆီသို့ပထမခြေလှမ်းမှာတော့ XML ရဲ့အကြောင်းကို အခြေခသံ ဘောထားကအစ၊ DTD, XML Schema, XSLT, DOM, SAX အစရှိသ ဖြင့် XMLဝေါဟာရတွေရဲ့ရှင်းလင်းချက်များမှအစ၊ XML စာပိုဒ်များကို လက်တွေ့ရေးသားပြီး စည်းစနစ်များကိုဖော်ပြသွားမည် ဖြစ်သည်။

1.1 XMLဆိုသည်မှာ

XML ဆိုသည်မှာ Extensible Markup Language ဆိုတဲ့စကားလုံးရဲ့ အတိုကောက်အခေါ်အဝေါ်ဖြစ်ပြီး၊ Markup Language တစ်ခုဖြစ်၏။ Markup ဘာသာစကားဆိုသည်မှာ [<>]ဖြင့်ဝန်းရန်ထားတဲ့Tagတွေကိုအသုံးပြုပြီး အချက်အလက်တွေကိုဖေါ်ပြရာမှာ အသုံးပြုကြပေသည်။ Web Pageတွေကိုရေးသားရာမှာ အသုံးပြုတဲ့ HTML ဟာလည်း Markup ဘာသာတစ်ခု ဖြစ်ပေသည်။
HTML ဟာWeb Browser ပေါ်မှာစာလုံးတွေကထို င်ရှားအောင်လုပ်ဖို့၊ ပြီးတော့စာပိုဒ်တွေကုခွဲခြားဖို့အတွက် Tagတွေသကမ် ှတ်ထားပါသည်။ သို့ပေမယ့်XMLကတော့ရေးသားသူက အသုံးပြုဖို့အတွက် Tagတွေကို လွတ်လပ်စွာ သတ်မှတ်နိုင်ပါသည်။ ထိုအချက်ဟာ XML ဟာWeb Page အပြင်လည်း အသုံးပြုလို့ရတဲ့ Data ပုံစံအဖြစ် အသုံးများရခြင်း အကြောင်းတစ်ခု ဖြစ်လာစေပါသည်။
အောက်ပါအတိုင်းXML မှာ ထူးခြားချက်လေးချက် ရှိပါသည်။
1. ကွန်ပျုတာပေါ်မှာအသုံးပြုရလွယ်ကူခြင်း
XML ဟာရှင်းလင်းပြီးတိကျတဲ့ စာရေးသားပုံနည်းစနစ်ဖြစ်သည့်အတွက်၊ ကွန်ပျူတာProgramတွေကနေ အသုံးပြုရလွယက် ူစေတယ် ဆိုတဲ့ထူးခြားချက်ကို ပိုင်ဆိုင်၏။ ထို့ကြောင့် ကုန်ပစ္စည်း အချက်အလက်တွေ ကနေ၊ မှတ်တမ်းစာရွက်စာတမ်းတွေကိုရေးသားခြင်း၊ အင်တာနက်ကိုအသုံးပြုပြီး ကုန်ပစ္စည်း အချက်အလက်တွေကို လဲလှယ်တဲ့ Enterprise Systemတွေမှာ XML ကိုအသုံးပြုနိူင်ခြင်းတို့ဖြစ်ပါတယ်။
2.Text ပုံစံဖြင့်ရေးသားထားခြင်း
XML ကိုText File အဖြစ်နဲ့အသုံးပြုတဲ့အတွက်၊ Platformတော်တော်များများမှာ အသုံးပြုနိူင်ပါသည်။ Text File ကိုတော်တော်များများ Platformတွေက Support လုပ်တဲ့အတွက်၊ Text Editor ကိုအသုံးပြုလျှင် XML မှာဘာတွေ ရေးသားထားတယ်ဆိုတာကို လူတွေကအလွယ်တကူ သိရှိနိူင်ပါသည်။ တဖန်စာလုံးCodeတွေ ဘာသာစကားတွေ၊ မတူညီတဲ့Platformတွေ အတွက်ကတော့၊Unicode ကို အသုံးပြုခြင်း၊ စာလုံးCodeတွေ၊ ဘာသာစကားCodeတွေကို XML မှာတိုက်ရိုက် ရေးသားခြင်းအားဖြင့် လွယ်ကူစွာ ဖြေရှင်းနိူင်ပေသည်။
3. Tagတွေကိုအသုံးပြုပြီးရေသားရခြင်း
XML ဟာလည်းHTML လိုပဲ Markup Language တစ်ခုဖြစ်တဲ့အတွက် Tagတွေကိုအသုံးပြုပြီး ရေးသားရပါမည်။ HTML မှာက
<A> <BR>
အစရသှိ ဖြင့် Tagတွေဟာအသုံးပြုပုံ သက်မှတခ် ျက်ရြှိ က၏။ သို့ပေမယ့် XML မှာကတော့ Tagတွေရဲ့နာမည် ကိုလွတ်လပ်စွာပေးနိူင်၏။ အဲ့ဒီအတွက် စာပိုဒ်တွေရဲ့ ဖွဲ့စည်းပုံကိုနှစ်သကသ် လို သက်မှတလ် ုိ့ရနိူင်ပေသည်။ တဖန်နားလည်လွယ်တဲ့ Tagတွေကိုအသုံးပြု ခြင်းအားဖြင့် လူတွေကဖတ်တဲ့အခါရော၊စက်ကအသုံးပြုတဲ့အခါမှာပါ လွယက် ူတဲ့ အချက်အလက်(data) ဖွဲ့စည်းပုံကိုရေးသားနိူင်ပေမည်။
4. Tree ဖွဲ့စည်းပုံကိုအသုံးပြုထားခြင်း
XML စာပိုဒ်တွေဟာ Tree ဖွဲ့စည်းပုံကိုမှုတည်ပြီး ရေးသားထားတာဖြစ်၏။ အပင်ဖွဲ့စည်းပုံဟာ ပင်မအမြစ်ကနေအစပြုပြီး အကိုင်းအခက်တွေကို ထပ်ခါထပ်ခါခွဲထုတေ် နတဲ့ သစ်ပငတ် စ်ပင်လို Dataတွေကိုဖွဲ့စည်းထားခြင်း ဖြစ်၏။ XML စာပိုဒ်တစ်ခုမှာလည်း ပင်ရင်းRoot Tag ကအစပြုပြီး၊ တစ်ဆင့်ထက်တစ်ဆင့် သစ်ကိုင်း သစ်ခက်တွေကဲ့သို့ အောကက် Tagတွေကိုရေးသားနိူင်ပါသည်။1.2 XML ရဲ့ အခြေခံ ဖွဲ့စည်းပုံ
XML စာပိုဒ်တွေဟာအဓိကအားဖြင့် အစိတ်အပိုင်း၃ခကု နေ ဖွဲ့စည်းတည်ဆောက်ထားခြင်း ဖြစ်ပါသည်။
  1. XML Declaration
  2. Document Type Definition (DTD)
  3. XML Instance
ထိုအစိတ်အပိုင်းတွေဟာ ရေးသားရမယ့်အစီအစဉ်တွေ သတ်သတ်မှတ် မှတ်ရှိပြီး၊ အပေါ်ကနေ[XML Declaration] [DTD] [XML Instance]ဆိုပြီး အစီအစဉ်တကျမရေးသားလို့မရပေ။ အဲ့ဒီအထဲမှာတော့ [DTD]ဆိုတဲ့ အစိတ်အပိုင်းဟာ မလိုအပ်လို့ရှိရင် မရေးသားပဲလည်းနေလရို့ ပါသည်။ သည်အခန်းမှာတော့ [DTD]ကို မရေးပဲ နမှုနာများကို ရေးသားသွားမှာဖြစ်ပါသည်။ အောက်ပါနမှုနာ goods.xml ကနေပြီး XML ရဲ့ဖွဲ့စည်းပုံတွေကို ရှင်းလင်း သွားပါမည်။
<?xml version="1.0" encoding="UTF-8"?>
<goodsList>
<goods id="001">
<name>Apple</name>
<price>100</price>
</goods>
<goods id="002">
<name>Banana</name>
<price>150</price>
</goods>
</goodsList>
goods.xml ကို Web Browser နဲ့ဖွင့်ကြည့်လိုက်မညဆ် ုိလျှင် အောက်ပါပုံအတိုင်း တွေ့မြင်ရပါလိမ့်မည်။ အဲ့ဒါဟာ Internet Explore မှာရှိတဲ့ XML Parser ကဖတ်ယူပြီး၊ Tree ဖွဲ့စည်းပုံကို ဖော်ပြပေးတဲ့အတွက် ဖြစ်ပါသည်။ သည်နမှုနာကနေပြီး XML ရဲ့အခြေခံဖွဲ့စည်းပုံတွေကို လေ့လာကြည့်ရအောင်။

1. XML Declaration
<?xml version="version_number" encoding="encoding_declaration"?>
XML Declaration ဟာ[]နဲ့ဆုံးရပါသည်။
XML စာပိုဒ်ရဲ့သတ်မှတ်ချက်ကို ရေးသားမည်ဆိုလျှ င် ဦးစွာအသုံးပြုမည့် Version ကို သက်မှတ်ရေးသားရမည်ဖြစ်သည်။ ၂၀၀၄ခုနှစ်၂လပိုင်းကစပြီး version 1.1 ကို ထုတ်ပြန်ခဲ့ပြီးဖြစ်သ ည်။ သို့ပေမယ့် သည်နမှုနာထဲမှာတော့ version 1.0 ကို အသုံးပြုသွားပါမည်။ ထိုမှတဆင့် အသုံးပြုမည့် Encoding System အကြောင်းကို သတ်မှတ်ရေးသားရမည်ဖြစ်သည်။ Versio အကြောင်းရဲ့ သတ်မှတ်ချက်ရဲ့ အနောက်မှာ Encoding အကြောင်းကို ရေးသားရပါလိမ့်မည်။ Encoding ရဲ့သက်မှတ်ချက်ကိုမရေးသားပဲနေမည်ဆိုလျှင် Unicode ကိုအလိုအလျှောက် သတ်မှတ်သွားမည် ဖြစ်ပေသည်။
တဖြန်လိုအပ်လာလျှင်လည်း Standalone ဆိုတဲ့အချက်ကိုလည်း သက်မှတ်နိုင်ပေသည်။
2. XML Instance
goods.xml ဖိုင်ရဲ့ဒုတိယမြောက် စာကြောင်းက နေအဆုံးအထိသည် XML Instance အပိုင်းဖြစ်၏။ အဓိကအားဖြင့် XML မှာအသုံးပြုမည့် အချက်အလက်များ ဖြစ်ကြပေသည်။ သည်နမှုနာမှာတော့ အချက်အလက်များကို အောက်ဖော်ပြပါ ပုံစံအတိုင်း Tree ဖွဲ့စည်းပုံ ပေါ်မှာမူတညြ်ပီး ပါဝင် ဖွဲ့စည်းထား ပါသည်။
XML မှာတော့ သည်လို Tree ဖွဲ့စည်းပုံမျိုးကို၊ အသိုက်အမြုံ ဖွဲ့စည်းပုံလလို့ ည်း ခေါ်ဆိုကြပါသည်။ အပေါ်ဆုံးမှာရှိတဲ့Tag ကိုတော့ Root Element ဟုခေါ်ပြီး၊ တစ်ခတု ည်းသာ တည်ရရှိ ပါမည်။ Root Element ရဲ့အောကက် Tagတွေကိုတော့Child Element ဟုခေါ်သည်။
အောက်နမှုနာထဲမှာဆိုလျှ င် goodslist ထဲမှာ goods တွေကရှိပြီး၊ အဲ့ဒီgoods တစ်ခုဆီမှာလည်း name နဲ့ prize ကိုပိုင်ဆိုင်ပြန်သည်။
3. Tag
[<>]နဲ့ဝန်းရန်ထားတဲ့အစရှိတဲ့အစိတအ်ပိုင်းသည်Tagလို့ခေါ်ဆိုသော အစိတ်အပိုင်းများဖြစြ် ကသည်။ Tag မှာအဖွင့်နဲ့ အပိတ်ဆိုပြီးရှိ၏။
အပိတ်Tag တွင် Tag အမည်စာလုံးအရှေ့မှာ[/]ကိုရေးသားရမည်ဖြစ်သည်။ XML မှာTag ရဲ့နာမည်ကို နှစ်သက်သလိုပေး နိူင်၏။ သို့ပေမယ့် XML မှာအသုံးပြုနေတဲ့ အဓိပ္ပါယ် ဖွင့်ဆိုချက် စကားလုံးများမှာတော့ အသုံးပြု၍မရသော စကားလုံးများဖြစြ်ကပါသည်။တဖန်ကိန်းဂဏန်းနဲ့ အစပြုသည့် အမည်များကိုလည်း အသုံးပြုလို့မရနိူင်ပေ။
4. Element

<goods id=”001”> 
<name>Apple</name>
<prize>100</prize>
</goods>

Tag အဖွင့်ကနေစပြီး အပိတ်အထိအစိတ္အပိုင်းအားလုံးသည် Element ဖြစ်ပါသည်။ Element တစ်ခုတွင် တခြား Elementတွေ၊ Text စာသားတွေ၊ Properties တွေကိုသတ်မှတ်လို့ရတဲ့
Attributes တွေကို ပိုင်ဆိုင်နိူင်ပါသည်။ အထက်ပါ ဥပမာထဲမှာဆိုလျှင် goodsElement ဟာnameElement နဲ့ priceElement ရယ်၊ id ဆိုတဲ့
Attribute ကို ပိုင်ဆိုင်သ ည်။ တဖန် name Element မှာ Apple ဆိုတဲ့ Text Contents ကို ပိုင်ဆိုင်သည်။
5. Comment

<!-- မှတ်ချက်တွေကိုရေးသားနိူင်ပါတယ်။ -->

XML မှာလည်းHTML ကဲ့သို့ မှတ်ချက်တွေကို စာသားတွေထဲမှာ ရေးသားနိူင်ပါသည်။ ရေးပုံရေးနည်းကလည်း HTML ကဲ့သို့ပင်ဖြစ်၏။

1.3 XML စာပိုဒ်အမျိုးအစားများ

XML စာပိုဒ်တွေကိုအဓိက အားဖြင့် နှစ်မျိုးနှစ်စား ခွဲခြားသတ်မှတ်ထားပါသည်။
1. Well Formed XML
XML စာသားအနေနဲ့ ပုံသဏ္႑နက် ျနေတဲ့ စာသားမျိုးကိုခေါ်ဝေါ်လေ့ရှိသည်။ တနည်းအားဖြင့်ဆိုသော် XML လို့ သတ်မှတ်လို့ရတဲ့ အချက်အလက်တွေနဲ့ ပြည့်စုံတဲ့စာပိုဒ်အမျိုးအစားတွေကို သတ်မှတ်လေ့ရှိသည်။ အထက်ပါပုံတွင် ဖေါ်ပြထားတဲ့အတိုင်း XML Declaration နဲ့ XML Instance သာပါမည်ဆိုလျှင် Well-formed XML လို့သတ်မှတ်နိုင်ပါသည်။
2. Valid XML
XML အနေနဲ့ပုံသဏ္႑န်ကျရုံမက အသုံးပြုမယ့်အချက်အလက်တွေကို သက်မှတ်ထ ားတဲ့ XML စာပိုဒ်တွေကို Valid XML လို့ခေါ်၏။ တနည်းအားဖြင့် XML Declaration, DTD, XML Instanceတွေကို ရေးသားထားပြီး Instance ဟာလည်း Schema Language ဖြစ်တဲ့ DTD ကိုလကို ်နာပြီး ရေးသားထားတဲ့ XML ကိုမှ ပြည့်စုံတဲ့ XML အဖြစ် သတ်မှတ်နိုင်မှာဖြစ်သည်။

1.4 Name Space

XML ဟာ Tagတွေကိုလွတ်လပ်စွာ ရေးသားနိူင်သည့်အတွက် ကဏ္႑အမျိုးမျိုးက Dataတွေကိုအတူတကွ တွဲဖက်ပြီး အသုံးပြုနိူင်သည်။ သို့ပေမယ့် လူအမျိုးမျိုးကသက်မှတထ် ားတဲ့ Tagတွေကို စာပိုဒ်တစ်ခုထဲမှာ ရောပြီးအသုံးချမည်ဆလို ျှင်၊ ဥပမာအားဖြင့် ကုမ္ပဏီ၂ခကု ပေါင်းစပ်ကြပြီး သူတို့ရဲ့အချက်အအလက်တွေကို ပေါင်းစပ်ရမည်ဆိုလျှင် နာမည်တူ Tagေ တွကို အသုံးချထားတာ ရလာနိုင်သည်။ ဒီလိုအခက်အခဲတွေကို ဖြေရှင်းပေးနိူင်တာကတော့ Name space ဖြစ်ပေသည်။
Name space ဟာ URI ကိုအသုံးပြုပြီး Tag နာမည်တွေကို မရှုပ်ထွေးအောင် သက်မှတ်ပေးနိူင်သည်။ တနည်းဆိုသော် Tag အမည်တွေကို ခွဲခြားဖို့သက်သက်အတွက် Name space ကိုအသုံးချတဲ့အတွက် Name space ဟာ XML စာသားတွေမှာ မရှိမဖြစ်မဟုတ်ပေ။
အောက်ပါ နမှုနာကတော့ Namespace ကိုအသုံးပြုထားတဲ့ နမှုနာတစ်ခုဖြစ်ပါသည်။

<?xml version=”1.0” ?>
 <itboost xmlns:advances=”http://www.little-burma.com/”>
<advances:course>XML</advances:course>
<advances:course>UML</advances:course>
<advances:course>Design Pattern</advances:course>
</ itboost>

ဒုတိယမြောက်စာကြောင်းက itboost မှာ advances ဆိုတဲ့ Name space ကို အသုံးပြုမယ်ဆိုပြီး URI နေရာမှာ http://www.little-burma.com ကို ညွှန်ပြပေးပါသည်။ Name space ကိုအသုံးပြုမည် ဆိုလျှင် ဒီစာကြောင်းကို ဦးစွာမရေးမဖြစ် လိုအပ်ပါသည်။ စာကြောင်း နံပါတ် ၃ ကနေ ၅ အထိသည် Element ရဲ့အမည်မှာ Name space ကို အသုံးပြုနေတာကို မြင်တွေ့နိူင်ပါသည်။ နမှုနာတွင်အသုံးပြုနေသော အချက်အလက်များသည် http://www.little-burma.com ရဲ့ Name spaceဖြစ်တဲ့ course elementဖြစ်ကြောင်းကို ခွဲခြားသိရှိနိူင်ပါသည်။

1.5 ပြန်လှန်သုံးသက်ချက်

XML ဆီသို့ခြေလှမ်းများရဲ့ ပဋ္ဌမခြေလှမ်းအနေနဲ့ အခြေခံXML အကြောင်းကို အကျဉ်းချံုး တင်ပြခဲ့ပြီး ဖြစ်သည်။ သည်အခန်းမှာတော့ XML ဟာတင်းကြပ်တဲ့ စည်းကမ်းနဲ့သတ်မှတ်ထားကြောင်း၊ DTD အစရှိတဲ့ Schema language ကိုအသုံးပြုပြီး XML ရဲ့ Tagတွေကို သစ်ပင်ဖွဲ့စည်းပုံအတိုင်း သက်မှတ်နိုင်တဲ့အကြောင်း၊ XML ကိုဘယ်လိုပုံစံနဲ့့ ရေးသားရမည့်အကြောငး် ၊ အစရှိတဲ့ အခြေခံဝေါဟာရတွေကို အဓိကထားပြီး ဖော်ပြခဲ့ပါသည်။
နောက်အခန်းဆက်တွေမှာတော့ DTD နဲ့ XSLT အစရှိတဲ့ XML နဲ့ပတ်သက်တဲ့ နည်းပညာရပ်တွေကို နောက်ခြေလှမ်းများအနေနဲ့ ဖေါ်ပြသွားပါမည်။ ထို့နောက် XML အချက်အလက်တွေကို Program ကနေ အသုံးချတဲ့ စနစ်များဖြစ်တဲ့ DOM နဲ့ SAX ရဲ့ အကြောင်းကို ဆက်လက်ဖေါ်ပြသွားပါမည်။ အသုံးပြုမယ့် Programming ဘာသာရပ်ကတော့ Javaဖြစ်ပါတယ်။

0 comments:

Post a Comment