DTD ဆိုတာ
Document Tags Definition ကိုအတိုကောက်ခေါ်ဆိုခြင်းဖြစ်ပါတယ်။ XML document ထဲမှာ ဘယ်
elements တွေပါရမယ်ဆိုတာကို သတ်မှတ်ပေးတာဘဲဖြစ်ပါတယ်။ တနည်းပြောရရင် XML Document တစ်ခုကို
rule သတ်မှတ်ပေးတာဘဲဖြစ်ပါတယ်။ (XML document တစ်ခု valid ဖြစ်၊မဖြစ် DTD ကိုအသုံးချပြီးတော့
ဆုံးဖြတ်နိုင်ပါတယ်။)
DTD Example
[
] tag ထဲမှာ အသုံးပြုမယ့် elements တွေမှန်သမျှကို ကြေညာထားပေး ရပါတယ်။ ကြေညာထားတဲ့
Element Tag တွေကို attributes တွေသတ်မှတ်ပေးတာ၊ content values တွေကို သတ်မှတ်ပေးတာ
စသည်တို့ကို special character တွေကိုအသုံးပြုပြီးတော့ ကြေညာပေးနိုင်ပါတယ်။ (Limitation
ပေးနိုင်ပါတယ်) အရင်ဆုံး တွေ့ရတဲ့
Person ဆိုတာကတော့ Root element ဘဲဖြစ်ပါတယ်။ Person tag ထဲမှာ ထည့်လို့ရတာကတော့
Name tag တစ်ခုတည်းဘဲဖြစ်ပါတယ်။ <Name></Name> ။ Name tag မဟုတ်သောအခြားသော
tag တွေကိုထည့်သွင်းလို့ရမှာမဟုတ်ပါဘူး။ ဘာလို့လည်းဆိုရင် DTD ထဲမှာ ကြေညာထားတာက Person
tag ထဲမှာ Name tag ထဲရှိရမယ်ဆိုတာကြောင့်ပါ။ (Rule သတ်မှတ်ပေးထားတာပေါ့) Name နောက်မှာပါတဲ့ + sign က တော့ အနည်းဆုံး တစ်ကြိမ်ပါရမယ်
ကိုဆိုလိုပါတယ်(One or More) ။ Person tag ထဲမှာ ဘာ tag မှမပါဘဲ တော့ မဖြစ်ရဘူး ၊ Name tag တစ်ခုတော့ အနည်းဆုံးပါနေရပါမယ်။
Valid XML Document
Invalid XML Document
Valid XML Document
Invalid XML Document
Name (CDATA) ဆိုတာက
တော့ Name tag ထဲမှာပါဝင်ရမယ့် data type အမျိုးအစားကို သတ်မှတ် ပေးခြင်းဖြစ်ပါတယ်။ Data Type နှစ်မျိုးရှိပါတယ်။
တစ်ခုက CDATA နှင့် ကျန်တစ်ခုကတော့ PCDATA တို့ဘဲဖြစ်ပါတယ်။ CDATA ကတော့ ကြိုက်တဲ့
character data ဖြစ်လို့ရတယ်။ ဒါပေမဲ့ nested element tag တွေကိုတော့ လက်မခံဘူးပေါ့။
ဥပမာမှာဆိုရင် Name tag ထဲမှာအခြားသော element tag ထပ်ထည့်လိုရမှာမဟုတ်ပါဘူး။
CDATA Example
CDATA Example
DTD မှာ attribute
value ကိုသတ်မှတ်ပေးခြင်ရင်တော့
<! ATTLIST Element_name Attribute_name attribute_type default_value >
ပုံစံကြေညာပေးရပါတယ်။
ဥပမာမှာ Gender ကို Attribute တစ်ခုအနေနှင့်ထည့်ပြပါမည်။
XML Document with Attribute
Name tag မှာ Gender attribute ကိုထည့်သွင်းခြင်းဖြစ်ပါတယ်။ ( ) ထဲမှာကတော့ attribute value တွေကိုကြေညာပေးထားပါတယ်။ Gender Attribute က Male value ဒါမှမဟုတ်၊ Female value ဘဲရှိမယ် ဆိုတာကို သတ်မှတ်ပေးထားတာပါ။ "" ထဲမှာကတော့ default value ဘဲဖြစ်ပါတယ်။
XML Document with Attribute
Name tag မှာ Gender attribute ကိုထည့်သွင်းခြင်းဖြစ်ပါတယ်။ ( ) ထဲမှာကတော့ attribute value တွေကိုကြေညာပေးထားပါတယ်။ Gender Attribute က Male value ဒါမှမဟုတ်၊ Female value ဘဲရှိမယ် ဆိုတာကို သတ်မှတ်ပေးထားတာပါ။ "" ထဲမှာကတော့ default value ဘဲဖြစ်ပါတယ်။
XML Document with Internal DTD
XML Document with External DTD
DTD ကို *.dtd ပုံစံဖြင့် save ပြီး XML Document ကနေ Link ချိတ်အသုံးပြုနိုင်ပါတယ်။
အခုဆိုရင် DTD ကို
အနည်းအငယ် သိရှိသွားမည်ဖြစ်ပါတယ်။ DTD ကိုသုံးတဲ့အခါမှာ အားသာချက်၊ အားနည်းချက်တွေရှိပါတယ်။
အားသာချက်ကတော့ XML Document ကို valid စစ်ပေးနိုင်ခြင်း၊ အားနည်းချက်ကတော့ XML
Parser ကို second syntax ဖြစ်ပေါ်စေခြင်းတို့ဘဲဖြစ်ပါတယ်။ ပြီးတော့ namespace ကိုလည်း support မပေးပါဘူး။