XSD ပေါင်းစပ် အစိတ် ကြည်း

ကိုယ်စားပြုသူ ဖြင့် မိတ္တူ တွင် အသုံးပြုသော အရာများ အုပ်ချုပ်နိုင်ပါသည်。

ကိုယ်စားပြုသူ

ကိုယ်စားပြုသူ အနည်းငယ် သုံးဆောင်သည်:

အဆက်အစပ် ကိုယ်စားပြုသူ:

  • အားလုံး
  • အချက်အလက်
  • အဆက်အစပ်

အဆိုခဲ့သည့် ကိုယ်စားပြုသူ:

  • maxOccurs
  • minOccurs

Group 指示器:

  • Group name
  • attributeGroup name

Order 指示器

Order 指示器用于定义元素的顺序。

All 指示器

指示器规定子元素可以按照任意顺序出现,且每个子元素必须只出现一次:

<xs:element name="person">
  <xs:complexType>
    <xs:all>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:all>
  </xs:complexType>
</xs:element>

စကားလုံး:အားလုံး <all> ညွှန်ကြားသူ အားဖြင့် အခြား minOccurs အား 0 သို့မဟုတ် 1 ဖြင့် အစားထိုးနိုင်ပြီး အားလုံး maxOccurs ညွှန်ကြားသူ အား 1 ဖြင့် အစားထိုးပါ၊ <minOccurs> နှင့် <maxOccurs> အား <minOccurs> နှင့် <maxOccurs> ကို ပြောကြားပါ。

Choice ညွှန်ကြားသူ

<choice> ညွှန်ကြားသူ အားဖြင့် အကိုးးရိုက် အကိုးးရိုက် ပေါ်လာနိုင်သော အကိုးးရိုက် အကိုးးရိုက် သို့မဟုတ် အခြား အကိုးးရိုက် အကိုးးရိုက် ပေါ်လာနိုင်သည်(သို့မဟုတ် တစ်ခု သို့မဟုတ် တစ်ခု)ဖြစ်သည်:

<xs:element name="person">
  <xs:complexType>
    <xs:choice>
      <xs:element name="employee" type="employee"/>
      <xs:element name="member" type="member"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

အကြံပေး:}အကိုးးရိုက် အကိုးးရိုက် အား အခြား ကြိမ် ကြိမ် ပေါ်လာနိုင်သည် ကို လိုခဲ့လျှင် <maxOccurs> (အခြား ပြောကြားချက်များကို ပြောကြားပါ) အား unbounded(အလွန် အခြား ကြိမ် ပေါ်လာနိုင်သည်) ဖြင့် အစားထိုးပါ。

Sequence ညွှန်ကြားသူ

<sequence> ညွှန်ကြားသူ အားဖြင့် လက်ရှိ အကိုးးရိုက် အကိုးးရိုက် အထူး အစီအစဉ် ဖြင့် ပေါ်လာနိုင်သည်:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Occurrence ညွှန်ကြားသူ

Occurrence ညွှန်ကြားသူ အားဖြင့် အကိုးးရိုက် ပေါ်လာနိုင်သော ပမာဏ ကို ကြည့်တွေ့နိုင်ပါသည်。

စကားလုံး:အားလုံး "Order" နှင့် "Group" ညွှန်ကြားသူ (any, all, choice, sequence, group name နှင့် group reference) အတွက် အားလုံး maxOccurs နှင့် minOccurs အနည်းဆုံး အရမ်း 1 ဖြစ်သည်。

maxOccurs ညွှန်ကြားသူ

<maxOccurs> ညွှန်ကြားသူ အားဖြင့် အကိုးးရိုက် အား ပေါ်လာနိုင်သော အမြတ်ဆုံး ကြိမ် ကို သတ်မှတ်နိုင်သည်:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="full_name" type="xs:string"/>
      <xs:element name="child_name" type="xs:string"> maxOccurs="10"}
    </xs:sequence>
  </xs:complexType>
</xs:element>

အထင်ရှားခြင်းများတွင် လက်ရှိ "child_name" အကိုးးရိုက် "person" အကိုးးရိုက် တွင် အနည်းဆုံး 1 ကြိမ် ပေါ်လာနိုင်သည်(အခြား minOccurs အနည်းဆုံး အရမ်း 1 ဖြစ်သည်) အမြတ်ဆုံး 10 ကြိမ် ပေါ်လာနိုင်သည်。

minOccurs ညွှန်ကြားသူ

<minOccurs> ညွှန်ကြားသူ အားဖြင့် အကိုးးရိုက် အား ပေါ်လာနိုင်သော အနည်းဆုံး ကြိမ် ကို သတ်မှတ်နိုင်သည်:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="full_name" type="xs:string"/>
      <xs:element name="child_name" type="xs:string">
      maxOccurs="10" minOccurs="0"}
    </xs:sequence>
  </xs:complexType>
</xs:element>

အထင်ရှားခြင်းများတွင် လက်ရှိ "child_name" အကိုးးရိုက် "person" အကိုးးရိုက် တွင် အနည်းဆုံး 0 ကြိမ် အမြတ်ဆုံး 10 ကြိမ် ပေါ်လာနိုင်သည် ဟု ထင်မြင်ရပါသည်。

အကြံပေး:}အသုံးပြုရန် အသုံးအဆောင်အသုံးစွဲမှု အကျဉ်းချုပ် မပြောင်းလဲသည် ကို အသုံးပြုရန် maxOccurs="unbounded" ဖော်ပြချက် အသုံးပြုပါ:

အမှတ်အသားတစ်ခု:

အမည် "Myfamily.xml" ဖိုင်အား:

<?xml version="1.0" encoding="ISO-8859-1"?>
<persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
xsi:noNamespaceSchemaLocation="family.xsd">
<person>
<full_name>Tony Smith</full_name>
<child_name>Cecilie</child_name>
</person>
<person>
<full_name>David Smith</full_name>
<child_name>Jogn</child_name>
<child_name>mike</child_name>
<child_name>kyle</child_name>
<child_name>mary</child_name>
</person>
<person>
<full_name>Michael Smith</full_name>
</person>
</persons>

ဤ XML ဖိုင် "persons" အဓိကအသုံးအဆောင်မှာ ရှိပြီး ဤ အဓိကအသုံးအဆောင်အတွင်းတွင် သူ "person" အသုံးအဆောင် ၃ ခု ကို အသုံးပြုထားသည်။ ခုံ "person" အသုံးအဆောင်တွင် ခုံ "full_name" အသုံးအဆောင် တစ်ခု ပါရှိပေသည် ပြီး ဤ အသုံးအဆောင်အတွင်း ခုံ "child_name" အသုံးအဆောင် ၅ ခု ထိ ပါရှိနိုင်သည်။

ဤ schema ဖိုင် "family.xsd" ကို:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
elementFormDefault="qualified">
<xs:element name="persons">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="person" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="full_name" type="xs:string"/>
            <xs:element name="child_name" type="xs:string">
            minOccurs="0" maxOccurs="5"}
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:element>
</xs:schema>

Group အစားအရင်း

Group အစားအရင်း သည် ချိတ်ဆက်ထားသော အရာတွေ အုပ်စု ကို ကြေညာပြီး ဖြစ်သည်:

အရာအုပ်စု

အရာအုပ်စု ကို group ဖော်ပြခြင်းဖြင့် ကြေညာပြီး ဖြစ်သည်:

<xs:group name="组名称">
  ...
</xs:group>

သင့် ဗီဇိုင်း ဖော်ပြခြင်း အတွက် သင့် ဗီဇိုင်း ဖော်ပြခြင်း အတွင်းရှိ အရာတွေကို အကောင်းမွန်စွာ ဖော်ပြပြီး ပြီးနောက် သူ့ ဗီဇိုင်း ဖော်ပြခြင်း တွင် သူ့ အသုံးပြုနိုင်ပါသည်:

<xs:group name="persongroup">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>

သင့် ဗီဇိုင်း ဖော်ပြခြင်း ပြီး ပြီးနောက် သူ့ လုပ်ဆောင်မှု တွင် သူ့ အသုံးပြုနိုင်ပါသည်:

<xs:group name="persongroup">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="birthday" type="xs:date"/>
  </xs:sequence>
</xs:group>
<xs:element name="person" type="personinfo"/>
<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:group ref="persongroup"/>
    <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

ဗီဇိုင်း အုပ်စု

ဗီဇိုင်း အုပ်စု ကို attributeGroup ဖော်ပြခြင်းဖြင့် ကြေညာပြီး ဖြစ်သည်:

<xs:attributeGroup name="组名称">
  ...
</xs:attributeGroup>

အောက်ရှိ အကြောင်းအရာသည် "personattrgroup" အမည်ရှိ ဗီဇိုင်း အုပ်စု ကို ကိုက်ညီးပြီး ဖြစ်သည်:

<xs:attributeGroup name="personattrgroup">
  <xs:attribute name="firstname" type="xs:string"/>
  <xs:attribute name="lastname" type="xs:string"/>
  <xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>

သင့် လုပ်ဆောင်သည် ပြီး အောင်ခဲ့ပြီးနောက် သူ့ လုပ်ဆောင်မှု တွင် သူ့ အသုံးပြုနိုင်ပါသည်၊ ပုံစံဖြင့်:

<xs:attributeGroup name="personattrgroup">
  <xs:attribute name="firstname" type="xs:string"/>
  <xs:attribute name="lastname" type="xs:string"/>
  <xs:attribute name="birthday" type="xs:date"/>
</xs:attributeGroup>
<xs:element name="person">
  <xs:complexType>
    <xs:attributeGroup ref="personattrgroup"/>
  </xs:complexType>
</xs:element>