ဤကဲ့သို့ စနစ်တကျရှိခြင်းကြောင့် XML အား စနစ်တခုမှ၊ အခြားတစ်ခုကို ဆက်သွယ်ရာမှာ အသုံးပြုသော Protocol အဖြစ်လည်း အသုံးပြုကြပါ သေးသည်။ XML ကိုအခြေခံသော Protocol များတွင် လူသိများကြသည်မှာ SOAPဖြစ်ပြီး၊ SOAP ကို အသုံးပြုသောနည်းပညာမှာ Web Services ဖြစ်၏။ အထက်ဖော်ပြပါအတိုင်း XMLအား ရုံးသုံးစာရေးစနစ်များမှအစ Web Serviceအထိတိုင်အောင် နေရာများစွာတွင် အသုံးပြုနေကြသည်ကို သိရှိနိုင်ပါသည်။
ယခုရေးသားမည့် XMLဆီသို့ပဋ္ဌမခြေလှမ်းတွင် XML ၏အကြောင်းများကို အခြေခံသဘောထားမှစ၍၊ DTD,XML Schema, XSLT, DOM, SAX အစရှိသဖြင့် XML ၏ ဝေါဟာရတွေ ရှင်းလင်းချက်များ အပါအဝင်၊ XML စာပိုဒ်များကိုလက်တွေ့ရေးသားပြီး ရေးသားပုံ စည်းစနစ်များကို ဖော်ပြသွားပါမည်။
XML ဆိုသည်မှာ
XMLဆိုသည်မှာ Extensible Markup Language ဆိုသောစကားလုံး၏ အတိုကောက်အခေါ်အဝေါ်ဖြစ်ပြီး၊ Markup ဘာသာစကား တစ်ခုဖြစ်၏။ Markup ဘာသာစကား ဆိုသည်မှာ [<>] ဖြင့်ဝန်းရန်ထားသော Tag တွေကို အသုံးပြုပြီး အချက်အလက်တွေကိုဖေါ်ပြရာမှာ အသုံးပြုကြပေသည်။ Web Page တွေကိုရေးသားရာမှာ အသုံးပြုတဲ့ HTML သည်လည်း Markup ဘာသာတစ်ခုဖြစ်၏။
HTML သည် Web Browser ပေါ်မှာစာလုံးတွေကိုထင်ရှားအောင်လုပ်နိုင်စေရန် စာပိုဒ်တွေကိုခွဲခြားဖို့အတွက် Tag တွေကို ကြိုတင် သက်မှတ် ထားပါသည်။ သို့ပေမယ့် XML ကတော့ရေးသားသူက အသုံးပြုရန်အတွက် Tagတွေကို လွတ်လပ်စွာ သက်မှတ် အသုံးပြု နိုင်ပါသည်။ ထိုအချက်သည် XML ဟာ Web Pageအပြင်၊ Data ပုံစံအဖြစ် အသုံးများရခြင်း၏ အကြောင်းတစ်ခု ဖြစ်လာစေပါသည်။
အောက်ပါအတိုင်းXMLတွင် ထူးခြားချက်လေးချက် ရှိပါသည်။
ကွန်ပျုတာပေါ်မှာအသုံးပြုရလွယ်ကူခြင်း
XMLဟာ ရှင်းလင်းပြီးတိကျတဲ့ စာရေးသားပုံ နည်းစနစ် ဖြစ်သည့်အတွက်၊ ကွန်ပျူတာ Programတွေကနေ အသုံးပြုရလွယ်ကူစေတယ် ဆိုတဲ့ထူးခြားချက်ကို ပိုင်ဆိုင်၏။ ထို့ကြောင့် ကုန်ပစ္စည်း အချက်အလက်တွေကနေ၊ မှတ်တမ်းစာရွက်စာတမ်းတွေကိုရေးသားခြင်း၊ အင်တာနက်ကိုအသုံးပြုပြီး ကုန်ပစ္စည်း အချက်အလက်တွေကို လည်းလှယ်တဲ့ Enterprise System တွေမှာ XMLကိုအသုံးပြုနိုင်ခြင်း တို့ဖြစ်၏။
Text ပုံစံဖြင့်ရေးသားထားခြင်း
XMLကိုText Fileအဖြစ်န့အဲ သုံးပြုတဲ့အတွက်၊ Platformတော်တော်များများမှာ အသုံးပြုနိုင်ပါသည်။ Text Fileကိုတော်တော်များများ PlatformတွေကSupportလုပ်တဲ့အတွက်၊ Text Editorကိုအသုံးပြုလျှင် XML မှာဘာတွေ ရေးသားထားတယ်ဆိုတာကို လူတွေကအလွယ်တကူ သိရှိနိုင်ပါသည်။ တဖန်စာလုံးCodeတွေ ဘာသာစကားတွေ၊ မတူညီတဲ့Platformတွေ အတွက်ကတော့၊Unicodeကို အသုံးပြုခြင်း၊ စာလုံးCodeတွေ၊ ဘာသာစကားCodeတွေကို XML မှာတိုက်ရိုက်ရေးသားခြင်းအားဖြင့် လွယ်ကူစွာ ဖြေရှင်းနိုင်ပေသည်။
Tagတွေကိုအသုံးပြုပြီးရေသားရခြင်း
XML ဟာလည်း HTMLလိုပဲ Markup Languageတစ်ခုဖြစ်တဲ့အတွက် Tagတွေကိုအသုံးပြုပြီးရေးသားရပါမည်။ HTML မှာက<A>၊ <BR>အစရှိသဖြင့် Tagတွေဟာအသုံးပြုပုံ သက်မှတ်ချက်ရှိကြ၏။ သို့ပေမယ့် XML မှာကတော့ Tagတွေရဲ့နာမည် ကိုလွတ်လပ်စွာပေးနိုင်၏။ အဲ့ဒီအတွက် စာပိုဒ်တွေရဲ့ဖွဲ့စည်းပုံကိုနှစ်သက်သလို သတ်မှတ်နိုင်ပေသည်။ တဖန်နားလည်လွယ်တဲ့ Tagတွေကိုအသုံးပြုခြင်းအားဖြင့် လူတွေကဖတ်တ့အဲ ခါရော၊စက်ကအသုံးပြုတဲ့အခါမှာပါ လွယ်ကူတဲ့ အချက်အလက်(data)ဖွဲ့စည်းပုံကိုရေးသားနိုင်ပေမည်။
Tree ဖွဲ့စည်းပုံကိုအသုံးပြုထားခြင်း
XML စာပိုဒ်တွေဟာ Tree ဖွဲ့စည်းပုံကိုမှုတည်ပြီး ရေးသားထားတာဖြစ်၏။ အပင်ဖွဲ့စည်းပုံဟာပင်မအမြစ်ကနေအစပြုပြီး အကိုင်းအခက်တွေကို ထပ်ခါထပ်ခါခွဲထုတ်နေတဲ့ သစ်ပင်တစ်ပင်လို Dataတွေကိုဖွဲ့စည်းထားခြင်း ဖြစ်၏။ XML စာပိုဒ်တစ်ခုမှာလည်း ပင်ရင်းRoot Tagကအစပြုပြီး၊ သစ်ကိုင်းသစ်ခက်များကဲ့သို့ အဆင့်ဆင့် Tagတွေကိုရေးသားနိုင်ပါသည်။
XML ၏အခြေခံဖွဲ့စည်းပုံ
XML စာပိုဒ်တွေဟာအဓိကအားဖြင့် အစိတ်အပိုင်း ၃ခုကနေ ဖွဲ့စည်း တည်ဆောက်ထားခြင်း ဖြစ်ပါသည်။
- XML Declaration
- Document Type Definition (DTD)
- 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 ရဲ့အခြေခံဖွဲ့စည်းပုံတွေကို လေ့လာကြည့်ရအောင်။
XML Declaration
XML Declaration ဟာ [<?xml]န့စဲ ပြီး[?>] နဲ့ ဆုံးရပါသည်။ XML စာပိုဒ်ရဲ့သတ်မှတ်ချက်ကို ရေးသားမည်ဆိုလျှင် ဦးစွာအသုံးပြုမည့် Versionကို သက်မှတ် ရေးသားရမည် ဖြစ်သည်။ ၂၀၀၄ခုနှစ်၂လပိုင်းကစပြီး version 1.1ကို ထုတ်ပြန်ခဲ့ပြီးဖြစ်သည်။ သို့ပေမယ့် သည်နမှုနာထဲမှာတော့ version 1.0 ကို အသုံးပြုသွားပါမည်။ ထိုမှတဆင့် အသုံးပြုမည့် Encoding System အကြောင်းကို သတ်မှတ် ရေးသားရမည် ဖြစ်သည်။ Version သတ်မှတ်ချက်၏ အနောက်တွင် Encoding အကြောင်းကို ရေးသား ရပါလိမ့်မည်။ Encoding ကို မရေးသားပဲနေမည်ဆိုပါက Unicodeကို သတ်မှတ်သွားမည် ဖြစ်သည်။ တဖန် လိုအပ်လာလျှင်လည်း Standalone ဆိုတဲ့အချက်ကိုလည်း သက်မှတ်နိုင်ပေသည်။ သတ်မှတ်ရေးသားနိုင်သော အသေးစိတ်အချက်အလက်များကို အောက်ပါဇယားမှ လေ့လာနိုင်ပါသည်။
အမည် | တန်ဖိုး | ရှင်းလင်းချက် |
version | 1.0, 1.1, 2.0 ... | XML စာပိုဒ်မှာအသုံးပြုမယ့်XML ရဲ့ versionအတိအကျကိုဖော်ပြရမှာဖြစ်ပါတယ်။ ဒီversion attributeဟာ XML Declarationကိုရေးသားရာမှာ မရေးသားလို့ မရပါဘူး။ |
encoding | UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 to ISO-8859-9, ISO-2022-JP,Shift_JIS ... | ဖေါ်ပြပါ နာမည်တွေကတော့ ယနေ့အသုံးများတဲ့character setsတွေဖြစ်ပြီး၊ အပြည့်အစုံကိုတော့I ANA ရဲ့ စာမျက်နှာတွေမှာ လေ့လာနိုင်ပါတယ်။ |
standalone | yes, no | yesကို ရေးမယ်ဆိုလျှင်၊ XML စာပိုဒ်ဟာ၊ ကိုယ့်စာပိုဒ်ထဲမှာပါတဲ့ DTDကိုသာ အသုံးပြုမှာ ဖြစ်ပါတယ်။ no ဆိုပါက၊ အပြင်မှာရှိတဲ့DTDတွေ Entityတွေကို လင့်ခ်လုပ်ပြီး အသုံးပြုနိုင်မှာ ဖြစ်တယ်။ |
XML Instance
goods.xml ဖိုင်ရဲ့ဒုတိယမြောက် စာကြောင်းက နေအဆုံးအထိသည် XML Instance အပိုင်းဖြစ်၏။ အဓိကအားဖြင့် XML မှာအသုံးပြုမည့် အချက်အလက်များ ဖြစ်ကြပေသည်။ သည်နမှုနာမှာတော့အချက်အလက်များကို အောက်ဖော်ပြပါ ပုံစံအတိုင်း Tree ဖွဲ့စည်းပုံ ပေါ်မှာမူတည်ပြီး ဖွဲ့စည်းထားပါသည်။
XML မှာတော့ သည်လို Tree ဖွဲ့စည်းပုံမျိုးကို၊ အသိုက်အမြုံဖွဲ့စည်းပုံလို့လည်း ခေါ်ဆိုကြပါသည်။ အပေါ်ဆုံးမှာရှိတဲ့Tagကိုတော့ Root Elementဟုခေါ်ပြီး၊ တစ်ခုတည်းသာ တည်ရှိရပါမည်။ Root Element ရဲ့ အောက်တွင်ရှိသော Tag များအား Child Elementဟုခေါ်သည်။ အောက်နမှုနာထဲမှာဆိုလျှင် goodslist ထဲမှာ goods တွေကရှိပြီး၊ အဲ့ဒီgoodsတစ်ခုဆီမှာလည်း name နဲ့ prize ပိုင်ဆိုင်ပြန်သည်။
Tag
[<>]ဖြင့်ဝန်းရံထားတဲ့ <goodList> <name> အစရှိတဲ့အစိတ်အပိုင်းသည် Tagလို့ခေါ်ဆိုသောအစိတ်အပိုင်းများဖြစ်ကြသည်။ Tag မှာအဖွင့်နဲ့ အပိတ်ဆိုပြီးရှိ၏။ အပိတ်Tagတွင် Tag အမည်စာလုံးအရှေ့မှာ[/]ကိုရေးသားရမည်ဖြစ်သည်။ XML မှာTag ရဲ့နာမည်ကို နှစ်သက်သလိုပေး နိုင်၏။ သို့ပေမယ့် XML မှာအသုံးပြုနေတဲ့ အဓိပ္ပါယ်ဖွင့်ဆိုချက် စကားလုံးများမှာတော့ အသုံးပြု၍မရသော စကားလုံးများဖြစ်ကြပါသည်။ တဖန်ကိန်းဂဏန်းနဲ့ အစပြုသည့် အမည်များကိုလည်း အသုံးပြုလို့မရနိုင်ပေ။
Element
<goods id=”001”> <name>Apple</name> <prize>100</prize> </goods>
Tagအဖွင့်ကနေစပြီး အပိတ်အထိအစိတ်အပိုင်းအားလုံးသည် Elementဖြစ်ပါသည်။ Element တစ်ခုတွင် တခြားElementတွေ၊ Text စာသားတွေ၊ Propertiesတွေကို သတ်မှတ်နိုင်တဲ့ Attributesတွေကို ပိုင်ဆိုင်နိုင်ပါသည်။ အထက်ပါဥပမာထဲမှာဆိုလျှင် goods Elementဟာ name Element နဲ့ price Element ရယ်၊ id ဆိုတဲ့ Attributeကို ပိုင်ဆိုင်သည်။ တဖန် name Element မှာ Appleဆိုတဲ့ Text Contentsကို ပိုင်ဆိုင်သည်။
Comment
<!--မှတ်ချက်တွေကိုရေးသားနိုင်ပါတယ်။ -->
XML မှာလည်းHTMLကဲ့သို့ မှတ်ချက်တွေကို စာသားတွေထဲမှာ ရေးသားနိုင်ပါသည်။ ရေးပုံရေးနည်းကလည်း HTMLကဲ့သို့ပင်ဖြစ်၏။
XML စာပိုဒ်အမျိုးအစားများ
XML စာပိုဒ်တွေကိုအဓိကအားဖြင့် နှစ်မျိုးနှစ်စား ခွဲခြားသတ်မှတ်ထားပါသည်။
Well Formed XML
XML စာသားအနေနဲ့ ပုံစံကျနေတဲ့ စာသားမျိုးကို ခေါ်ဝေါ်လေ့ရှိသည်။ တနည်းအားဖြင့်ဆိုသော် XMLလို့ သတ်မှတ်လို့ရတဲ့ အချက်အလက်တွေနဲ့ ပြည့်စုံတဲ့စာပိုဒ် အမျိုးအစားတွေကို သက်မှတ်လေ့ရှိသည်။ အထက်ပါပုံတွင် ဖေါ်ပြထားတဲ့အတိုင်း XML Declarationနဲ့ XML Instance သာပါမည်ဆိုလျှင် Well-formed XML လို့ သက်မှတ်နိုင်ပါသည်။
Valid XML
XMLအနေနဲ့ ပုံသဏ္ဍန်ကျရုံမက အသုံးပြုမယ့်အချက်အလက်တွေကို သက်မှတ်ထားတဲ့ XML စာပိုဒ်တွေကို Valid XML လို့ခေါ်၏။ တနည်းအားဖြင့် XML Declaration, DTD, XML Instanceတွေကို ရေးသားထားပြီး Instance ဟာလည်း Schema Language ဖြစ်တဲ့ DTDကိုလိုက်နာပြီး ရေးသားထားတဲ့ XML ကိုမှ ပြည့်စုံတဲ့ XMLအဖြစ် သတ်မှတ်နိုင်မှာ ဖြစ်သည်။
Name Space
XMLဟာ Tagတွေကိုလွတ်လပ်စွာ ရေးသားနိုင်သည့်အတွက် ကဏ္ဍအမျိုးမျိုးက Data တွေကိုအတူတကွတွဲဖက်ပြီး အသုံးပြုနိုင်သည်။ သို့ရာတွင် လူတိုင်းက သက်မှတ်ထားတဲ့ Tagတွေကို စာပိုဒ်တစ်ခုထဲမှာ ရောပြီးအသုံးချမည် ဆိုလျှင်၊ အမည်တူ Tag များဖြင့် ရှုပ်ထွေးကုန်နိုင်ပါသည်။ ဥပမာအားဖြင့် ကုမ္ပဏီ၂ခုကပေါင်း စပ်ကြပြီး သူတို့ရဲ့အချက် အလက်တွေကို ပေါင်းစပ်ရမည်ဆိုလျှင် နာမည်တူTagတွေကို အသုံးချထားတာ ရှိလာနိုင်သည်။ ဒီလိုအခက်အခဲတွေကို ဖြေရှင်းပေးနိုင်တာကတော့ Name space ဖြစ်၏။
Name spaceဟာ URI ကိုအသုံးပြုပြီး Tag နာမည်တွေကို မရှုပ်ထွေးအောင် သက်မှတ်ပေးနိုင်သည်။ တနည်းဆိုသော် Tag အမည်တွေကို ခွဲခြားဖို့ သက်သက်အတွက် Name spaceကိုအသုံးချတဲ့အတွက် Name space ဟာ XML စာသားတွေမှာ မရှိမဖြစ်မဟုတ်ပေ။
အောက်ပါ နမှုနာကတော့ Name spaceကိုအသုံးပြုထားတဲ့ နမှုနာတစ်ခုဖြစ်ပါသည်။
<?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 ရဲ့အမည်မှာ Namespace ကို အသုံးပြုနေတာကို မြင်တွေ့နိုင်ပါသည်။ နမှုနာတွင်အသုံးပြုနေသော အချက်အလက်များသည် http://www.little-burma.com ရဲ့ Name space ဖြစ်တဲ့ course element ဖြစ်ကြောင်းကို ခွဲခြားသိရှိနိုင်ပါသည်။
ပြန်လှန်သုံးသပ်ချက်
"XML ဆီသို့ခြေလှမ်းများ" ရဲ့ ပဋ္ဌမခြေလှမ်း အနေနဲ့ အခြေခံ XMLအကြောင်းကို အကျဉ်းချုံး တင်ပြခဲ့ပြီးဖြစ်သည်။
- XML သည် တိကျတဲ့ စည်းကမ်းများဖြင့် သက်မှတ်ထားကြောင်း
- DTD အစရှိတဲ့ စကီးမား (Schema) ဘာသာရပ်ကို အသုံးပြုပြီး XML ရဲ့ Tag တွေကို သစ်ပင်ဖွဲ့စည်းပုံ(Tree Structure) အတိုင်း သက်မှတ်နိုင်တဲ့အကြောင်း
- XMLကို မည်ကဲ့သို့ ရေးသားရမည် ဖြစ်ကြောင်း
လေးစားစွာဖြင့်
မင်းလွင်
Thank you very much bro
ReplyDeleteHey! I know this is kinda off topic but I was wondering if you knew where I could locate a captcha plugin for my comment
ReplyDeleteform? I'm using the same blog platform as yours and I'm having problems finding one?
Thanks a lot!