XSD ရှုပ်ထွေးသောဒြပ်စင် များ
ရှုပ်ထွေးသောဒြပ်စင်တွင် အခြားဒြပ်စင်များနှင့်/သို့မဟုတ် ရည်ညွှန်းချက်များပါရှိသည်။
ရှုပ်ထွေးသောဒြပ်စင်ဆိုသည်မှာ အဘယ်နည်း။
ရှုပ်ထွေးသောဒြပ်စင်သည် အခြားဒြပ်စင်များနှင့်/သို့မဟုတ် ရည်ညွှန်းချက်များပါရှိသော XML ဒြပ်စင်တစ်ခုဖြစ်သည်။
ရှုပ်ထွေးသောဒြပ်စင် လေးမျိုးရှိသည်။
- ဗလာဒြပ်စင်
- အခြားဒြပ်စင်များသာပါရှိသောဒြပ်စင်များ
- စာသားသာပါရှိသော အစိတ်အပိုင်းများ
- အခြားဒြပ်စင်များနှင့် စာသားများပါရှိသော အစိတ်အပိုင်းများ
မှတ်ချက်- ဤဒြပ်စင်တစ်ခုစီတွင် ရည်ညွှန်းချက်များလည်း ပါဝင်နိုင်သည်။
ရှုပ်ထွေးသောဒြပ်စင်များ ဥပမာများ
ရှုပ်ထွေးသော XML ဒြပ်စင်၊ "ထုတ်ကုန်" သည် ဗလာဖြစ်သည်-
<product pid="1345"/>
အခြားဒြပ်စင်များသာပါရှိသော ရှုပ်ထွေးသော XML ဒြပ်စင်၊ "ဝန်ထမ်း"၊
<employee>
<firstname>John</firstname>
<lastname>Smith</lastname>
</employee>
စာသားသာပါရှိသော ရှုပ်ထွေးသော XML ဒြပ်စင်၊ "အစားအစာ"
<food type="dessert">Ice cream</food>
ရှုပ်ထွေးသော XML ဒြပ်စင်၊ "ဖော်ပြချက်"၊ ဒြပ်စင်များနှင့် စာသားနှစ်ခုပါရှိသည်-
<description>
It happened on <date lang="norwegian">03.03.99</date> ....
</description>
Complex Element ကို ဘယ်လိုသတ်မှတ်မလဲ။
အခြားဒြပ်စင်များသာပါရှိသော ဤရှုပ်ထွေးသော XML ဒြပ်စင်ဖြစ်သော "ဝန်ထမ်း" ကိုကြည့်ပါ-
<employee>
<firstname>John</firstname>
<lastname>Smith</lastname>
</employee>
ရှုပ်ထွေးသောဒြပ်စင်တစ်ခုကို XML Schema တွင် မတူညီသောနည်းလမ်းနှစ်ခုဖြင့် သတ်မှတ်နိုင်သည်-
1. ဤကဲ့သို့ ဒြပ်စင်ကို အမည်ပေးခြင်းဖြင့် "ဝန်ထမ်း" ဒြပ်စင်အား တိုက်ရိုက်ကြေငြာနိုင်ပါသည်။
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
အထက်တွင်ဖော်ပြထားသောနည်းလမ်းကို သင်အသုံးပြုပါက၊ "ဝန်ထမ်း" ဒြပ်စင်မှသာလျှင် သတ်မှတ်ထားသော ရှုပ်ထွေးသောအမျိုးအစားကို အသုံးပြုနိုင်သည်။ ကလေးဒြပ်စင်များ၊ "firstname" နှင့် "lastname" ကို <sequence> ညွှန်ကိန်းဖြင့် ဝိုင်းရံထားကြောင်း သတိပြုပါ။ ဆိုလိုသည်မှာ ကလေးဒြပ်စင်များသည် ၎င်းတို့ကို ကြေညာထားသည့်အတိုင်း တူညီသောအစီအစဥ်အတိုင်း ပေါ်လာရမည်ဟု ဆိုလိုသည်။ XSD Indicators အခန်းတွင် ညွှန်ကိန်းများအကြောင်း ပိုမိုလေ့လာနိုင်ပါမည်။
2. "ဝန်ထမ်း" ဒြပ်စင်တွင် အသုံးပြုရန် ရှုပ်ထွေးသော အမျိုးအစား၏ အမည်ကို ရည်ညွှန်းသော အမျိုးအစား ရည်ညွှန်းချက် ရှိနိုင်သည်-
<xs:element name="employee" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
အထက်တွင်ဖော်ပြထားသောနည်းလမ်းကို သင်အသုံးပြုပါက၊ များစွာသောဒြပ်စင်များသည် တူညီသောရှုပ်ထွေးသောအမျိုးအစားကို ရည်ညွှန်းနိုင်သည်-၊
<xs:element name="employee" type="personinfo"/>
<xs:element name="student" type="personinfo"/>
<xs:element name="member" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
ရှိပြီးသား ရှုပ်ထွေးသော အမျိုးအစားပေါ်တွင် ရှုပ်ထွေးသော အမျိုးအစားကိုလည်း အခြေခံပြီး ဤကဲ့သို့သော ဒြပ်စင်အချို့ကို ပေါင်းထည့်နိုင်သည်-
<xs:element name="employee" type="fullpersoninfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fullpersoninfo">
<xs:complexContent>
<xs:extension base="personinfo">
<xs:sequence>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>