XML Schema complexType 元素

定义和用法

complexType 元素定义复杂类型。复杂类型的元素是包含其他元素和/或属性的 XML 元素。

元素信息

出现次数 在架构内为无限制;在元素内为一次。
父元素 element、redefine、schema
内容 annotation、simpleContent、complexContent、group、all、choice、sequence、attribute、attributeGroup、anyAttribute

语法

အခွင့်အရေးများ
>
(annotation?,(simpleContent|complexContent|((group|all| 
choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))

(? အမှတ်အသားကို complexType အရာဝတ္တု၌ အသုံးပြုထားသည်။ အရာဝတ္တုသည် အကြီးတန်း ၀ ကြိမ် သို့မဟုတ် ၁ ကြိမ် ပါဝင်နိုင်သည်။ * အမှတ်အသားကို အရာဝတ္တု၌ အကြီးတန်း ၀ ကြိမ် သို့မဟုတ် အကြီးတန်း အကြီးတန်း ပါဝင်နိုင်သည်။)

အခြေခံ

id

ဆိုင်းငံ့ခြင်း - အရာဝတ္တု၏ ကိုယ်တိုင်ကိုယ်ကိုကို သတ်မှတ်ထားသော ID ကို အစိုးရပေးသည်。

name

ဆိုင်းငံ့ခြင်း - အရာဝတ္တု၏ အမည်ကို အစိုးရပေးသည်。

abstract

ဆိုင်းငံ့ခြင်း - အဆိုပါပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို အသုံးပြုနိုင်ခြင်း၏ ခွင့်ပြုမှုကို အဆိုပါအရာဝတ္တုကို အသုံးပြုရာ၌ ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို မသုံးစွဲခြင်း၊ သို့တည်းမဟုတ် အဆိုပါပေါ့ပေါ့ကြီးကြီးအမျိုးအစားမှ ပေါ့ပေါ့ကြီးကြီးအမျိုးစားကို သုံးစွဲခြင်းကို ခွင့်ပြုပေးသည်။ ပုံစံအားဖြင့် false ဖြစ်သည်。

mixed

ဆိုင်းငံ့ခြင်း - ပေါ့ပေါ့ကြီးကြီးအမျိုးအစား၏ လက်ရှိအရာဝတ္တုအကြား၌ အစားအသားအရာဝတ္တုပေါ်ပေါ်လာခြင်း၏ ခွင့်ပြုမှုကို အဆိုပါပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို အစိုးရပေးသည်။ ပုံစံအားဖြင့် false ဖြစ်သည်。

  • simpleContent အရာဝတ္တုသည် လက်ရှိအရာဝတ္တုဖြစ်လျှင် အဆိုပါ mixed အရာဝတ္တုကို မသုံးစွဲခြင်းခံရသည်。
  • complexContent အရာဝတ္တုသည် လက်ရှိအရာဝတ္တုဖြစ်လျှင် အဆိုပါ mixed အရာဝတ္တုသည် complexContent အရာဝတ္တု၏ mixed အရာဝတ္တုကို ချွတ်လွတ်နိုင်သည်。

ဘယ်ရေး

ဆိုင်းငံ့ခြင်း - သတ်မှတ်ထားသော ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို ယူဆောင်ရွက်သော ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို မသုံးစွဲခြင်း ကာကွယ်ပေးသည်။ အမှတ်အသားသည် #all သို့မဟုတ် ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို ပေါ်လွင်းစေသော ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားများကဲ့သို့ ပါဝင်နိုင်သည်:

  • ဖွံ့ဖြိုးခြင်း - ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို ယူဆောင်ရွက်သော ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို မသုံးစွဲခြင်း ကာကွယ်ပေးသည်。
  • ကာကွယ်ခြင်း - ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို ယူဆောင်ရွက်သော ပေါ့ပေါ့ကြီးကြီးအမျိုးအစားကို မသုံးစွဲခြင်း ကာကွယ်ပေးသည်。
  • #all - အစိုးရ complexType အတွက် အပိုင်းအခြား ဖွဲ့စည်းထားခြင်းကို ချို့တဲ့သည်။

final

အဆိုပါ၊ အစိုးရtype အတွက် ဖြစ်သော အပိုင်းအခြား ဖွဲ့စည်းထားခြင်းကို ချို့တဲ့သည်။ အမှတ် #all နှင့် အဆိုပါ အချက်အလက် ပါ နိုင်သည်။

  • extension - အစိုးရအမျိုးအစား အတွက် အပိုင်းအခြား ဖွဲ့စည်းထားခြင်းကို ချို့တဲ့သည်။
  • restriction - အစိုးရအမျိုးအစား အတွက် အပိုင်းအခြား ဖွဲ့စည်းထားခြင်းကို ချို့တဲ့သည်။
  • #all - အစိုးရအမျိုးအစား အတွက် အပိုင်းအခြား ဖွဲ့စည်းထားခြင်းကို ချို့တဲ့သည်။

အခွင့်အရေးများ

အဆိုပါ၊ non-schema အမည်အစိုးရစား အခြား အခြေအနေ အရ ကျသော အခြား အခွင့်အရေးများ ကို အသုံးပြုနိုင်သည်။

အဆိုပါ

အမှတ်

အစားထိုးခြင်း ၁ တွင် အမည်ရှိ "note" လူမျိုးအမျိုးအစား အဖွဲ့အစည်း တစ်ခု ရှိပြီး။

<xs:element name="note">
    <xs:complexType>
      <xs:sequence>
	<xs:element name="to" type="xs:string"/>
	<xs:element name="from" type="xs:string"/>
	<xs:element name="heading" type="xs:string"/>
	<xs:element name="body" type="xs:string"/>
      
    
</xs:element>

အစားထိုးခြင်း ၂

အစားထိုးခြင်း ၂၀၁၀ တွင် အနည်းငယ်အပါး "fullpersoninfo" လူမျိုးအမျိုးအစား တစ်ခု ရှိပြီး၊ သူ့ကို address၊ city နှင့် country အဖွဲ့အစည်း ၃ ခု ဖြင့် အစိုးရအမျိုးအစား ကို ဖွဲ့စည်းထားပြီး၊ personinfo အမျိုးအစား ကို အစိုးရပြီးဖြစ်သည်။

<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:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        
        
      
    
  

在上面的例子中,上面的 "employee" 元素必须按顺序包含下列元素:"firstname", "lastname", "address", "city" 以及 "country"。