DTD - ဒြပ်စင်များ
DTD တစ်ခုတွင်၊ အစိတ်အပိုင်းများကို ELEMENT ကြေငြာချက်ဖြင့် ကြေညာသည်။
ဒြပ်စင်များကြေညာခြင်း။
DTD တွင်၊ XML ဒြပ်စင်များကို အောက်ပါ syntax ဖြင့် ကြေညာသည်-
<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>
ဗလာဒြပ်စင်များ
ဗလာဒြပ်စင်များကို အမျိုးအစားသော့ချက်စာလုံး EMPTY ဖြင့် ကြေညာသည်-
<!ELEMENT element-name EMPTY>
Example:
<!ELEMENT br EMPTY>
XML example:
<br />
ခွဲခြမ်းစိတ်ဖြာထားသော ဇာတ်ကောင်ဒေတာပါသည့် အစိတ်အပိုင်းများ
ခွဲခြမ်းစိတ်ဖြာထားသော အက္ခရာဒေတာသာရှိသော အစိတ်အပိုင်းများကို ကွင်းအတွင်း၌ #PCDATA ဖြင့် ကြေညာသည်-
<!ELEMENT element-name (#PCDATA)>
Example:
<!ELEMENT from (#PCDATA)>
မာတိကာတစ်ခုခုနဲ့ ဒြပ်စင်များ
အမျိုးအစားသော့ချက်စကားလုံး ANY ဖြင့်ကြေငြာထားသောဒြပ်စင်များ၊ ဆန်းစစ်နိုင်သောဒေတာ၏ပေါင်းစပ်မှုတစ်ခုခုပါရှိသည်-
<!ELEMENT element-name ANY>
Example:
<!ELEMENT note ANY>
ကလေးများနှင့် ဒြပ်စင်များ (ဆက်ဆက်များ)
ကလေးတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော အစိတ်အပိုင်းများကို ကွင်းအတွင်းရှိ ကလေးဒြပ်စင်များ၏ အမည်ဖြင့် ကြေငြာသည်-
<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>
Example:
<!ELEMENT note (to,from,heading,body)>
ကလေးများကို ကော်မာများဖြင့် ပိုင်းခြားထားသော အစီအစဥ်တစ်ခုတွင် ကြေငြာသောအခါ၊ ကလေးများသည် စာရွက်စာတမ်းရှိ တူညီသော sequence တွင် ပေါ်လာရပါမည်။ ကြေငြာချက်အပြည့်အစုံတွင် ကလေးများကိုလည်း ကြေငြာပေးရမည်ဖြစ်ပြီး ကလေးများလည်း မွေးနိုင်သည်။ "မှတ်စု" အစိတ်အပိုင်း၏ ကြေငြာချက်အပြည့်အစုံမှာ-
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
ဒြပ်စင်တစ်ခု၏ ဖြစ်ပျက်မှုတစ်ခုသာ ကြေငြာခြင်း။
<!ELEMENT element-name (child-name)>
Example:
<!ELEMENT note (message)>
အထက်ဖော်ပြပါ ဥပမာတွင် ကလေးဒြပ်စင် "မက်ဆေ့ချ်" သည် တစ်ကြိမ်ဖြစ်ပေါ်ရမည်ဖြစ်ပြီး "မှတ်စု" ဒြပ်စင်အတွင်းတွင် တစ်ကြိမ်သာ ဖြစ်ပွားရမည်ဟု ကြေညာထားသည်။
Element တစ်ခု၏ အနည်းဆုံး တစ်ကြိမ်ဖြစ်ပွားမှုကို ကြေငြာခြင်း။
<!ELEMENT element-name (child-name+)>
Example:
<!ELEMENT note (message+)>
အထက်ဖော်ပြပါ ဥပမာတွင် + ဆိုင်းဘုတ်က ကလေးဒြပ်စင် "မက်ဆေ့ချ်" သည် "မှတ်စု" ဒြပ်စင်အတွင်း တစ်ကြိမ် သို့မဟုတ် တစ်ခုထက်ပိုသော အကြိမ်များ ဖြစ်ပေါ်ရမည်ဟု ကြေညာသည်။
ဒြပ်စင်တစ်ခု၏ သုည သို့မဟုတ် ပိုများသော ဖြစ်ပွားမှုများကို ကြေညာခြင်း။
<!ELEMENT element-name (child-name*)>
Example:
<!ELEMENT note (message*)>
အထက်ဖော်ပြပါ ဥပမာတွင် * ဆိုင်းဘုတ်က ကလေးဒြပ်စင် "မက်ဆေ့ချ်" သည် "မှတ်စု" ဒြပ်စင်အတွင်း အကြိမ်ပေါင်း သုည သို့မဟုတ် ထို့ထက်ပို၍ ဖြစ်ပွားနိုင်ကြောင်း ကြေညာသည်။
ဒြပ်စင်တစ်ခု၏ သုည သို့မဟုတ် ဖြစ်ပျက်မှုတစ်ခုအား ကြေညာခြင်း။
<!ELEMENT element-name (child-name?)>
Example:
<!ELEMENT note (message?)>
? အထက်ဖော်ပြပါ ဥပမာတွင် ဆိုင်းဘုတ်က ကလေးဒြပ်စင် "မက်ဆေ့ချ်" သည် "မှတ်စု" ဒြပ်စင်အတွင်း သုည သို့မဟုတ် တစ်ကြိမ် ဖြစ်ပေါ်နိုင်ကြောင်း ကြေညာသည်။
တစ်ခုခု/သို့မဟုတ် အကြောင်းအရာကို ကြေညာခြင်း။
<!ELEMENT note (to,from,header,(message|body))>
အထက်ဖော်ပြပါ ဥပမာတွင် "မှတ်ချက်" ဒြပ်စင်တွင် "to" ဒြပ်စင်၊ "မှ" ဒြပ်စင်၊ "ခေါင်းစီး" ဒြပ်စင်နှင့် "မက်ဆေ့ချ်" သို့မဟုတ် "ကိုယ်ထည်" ဒြပ်စင်တို့ ပါဝင်ရမည်ဟု ကြေညာထားသည်။
ရောနှောထားသော အကြောင်းအရာကို ကြေညာခြင်း။
<!ELEMENT note (#PCDATA|to|from|header|message)*>
အထက်ဖော်ပြပါ ဥပမာသည် "မှတ်စု" ဒြပ်စင်တွင် ခွဲခြမ်းစိတ်ဖြာထားသော ဇာတ်ကောင်ဒေတာ၊ "to" "မှ" "ခေါင်းစီး" သို့မဟုတ် "မက်ဆေ့ဂျ်" ဒြပ်စင်များ၏ သုည သို့မဟုတ် ထို့ထက်ပိုသော ဖြစ်ပေါ်မှုများ ပါဝင်နိုင်သည်ဟု အထက်တွင်ဖော်ပြသည်။