XML Schema complexType ປະກອບ
ການອະທິບາຍ ແລະ ການນໍາໃຊ້
complexType ປະກອບສະບັບປະເພດຂັ້ນສູງ. ປະເພດ complexType ປະກອບມີປະກອບອື່ນໆ ແລະ/ຫຼື ອາຊີບ.
ຂໍ້ມູນປະກອບ
ຄວາມຈະມີ | ບໍ່ມີຄວາມຄວບຄຸມໃນແບບ; ໃນປະກອບຈະປະກອບໄດ້ຄັ້ງດຽວ. |
ປະກອບພູມ | element、redefine、schema |
ຂັ້ນຕົວ | annotation、simpleContent、complexContent、group、all、choice、sequence、attribute、attributeGroup、anyAttribute |
ການນຳໃຊ້
<complexType id=ID name=NCName abstract=true|false mixed=true|false block=(#all|list of (extension|restriction)) final=(#all|list of (extension|restriction)) any attributes > (annotation?,(simpleContent|complexContent|((group|all| choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?)))) </complexType>
(? ສະນັບປະກອບທີ່ມີໃນ complexType, ສາມາດປະກອບໄດ້ບໍ່ມີຫຼືຄັ້ງດຽວ.)
ປະກອບ
id
ຄຳວ່າງ. ການຕັດສິນ ID ສະບາຍສະເພາະຂອງປະກອບ.
name
ຄຳວ່າງ. ການຕັດສິນຊື່ຂອງປະກອບ.
abstract
ຄຳວ່າງ. ການຕັດສິນວ່າຈະອະນຸຍາດທີ່ຈະໃຊ້ຮູບແບບຄວາມຍາວໃນເອກະສານຄົນ. ຖ້າຄູ່ມືມີຄວາມຍາວເປັນ true, ເຫລົ່ານັ້ນຈະບໍ່ສາມາດໃຊ້ຮູບແບບຄວາມຍາວໂດຍກົງ, ແຕ່ຈະຕ້ອງໃຊ້ຮູບແບບຄວາມຍາວທີ່ມີການຂະຫຍາຍຈາກຮູບແບບຄວາມຍາວນັ້ນ. ຄູ່ມືມີຄວາມຍາວເປັນ false.
mixed
ຄຳວ່າງ. ການຕັດສິນວ່າຈະອະນຸຍາດຂໍ້ມູນຄວາມນັບສະໄຫມທີ່ຈະປະກອບໃນລະຫວ່າງຫຼັກສົມຂອງຮູບແບບຄວາມຍາວ. ຄູ່ມືມີຄວາມຍາວເປັນ false.
- ຖ້າປະກອບ simpleContent ເປັນຫຼັກສົມ, ຂໍ້ມູນ mixed ຈະບໍ່ອະນຸຍາດ.
- ຖ້າປະກອບ complexContent ເປັນຫຼັກສົມ, ຂໍ້ມູນ mixed ສາມາດຖືກການດັດແກ້ຈາກຂໍ້ມູນ mixed ຂອງ complexContent.
block
ຄຳວ່າງ. ການຫຼີກລ່ຽງທີ່ຈະໃຊ້ຮູບແບບຂະຫຍາຍຄວາມຍາວທີ່ມີຮູບແບບຂະຫຍາຍສະເພາະ. ຄູ່ມືກໍຈະເປັນ #all ຫຼືລາຍການທີ່ກວມເອົາ extension ຫຼື restriction:
- ການຂະຫຍາຍ - ການຫຼີກລ່ຽງທີ່ຈະໃຊ້ຮູບແບບຂະຫຍາຍຄວາມຍາວເພື່ອແທນຮູບແບບຄວາມຍາວນັ້ນ。
- ການຄວບຄຸມ - ການຫຼີກລ່ຽງທີ່ຈະໃຊ້ຮູບແບບຂອງການຂະຫຍາຍຄວາມຍາວເພື່ອແທນຮູບແບບຄວາມຍາວນັ້ນ。
- #all - ປ້ອງກັນທຸກປະເພດ complexType ທີ່ລຸກພາສາຈາກສາຍສິນຄ້າ complexType
final
ທົດສະນະ. ປ້ອງກັນການລຸກພາສາຈາກສາຍສິນຄ້າ complexType ໃນນະໂຍບາຍທີ່ກໍານົດ. ຄູ່ມູນສາມາດກວມ #all ຫຼືລາຍຊື່ບັນດາປະເພດທີ່ເປັນສາຍສິນຄ້າ extension ຫຼື restriction
- extension - ປ້ອງກັນການລຸກພາສາຜ່ານການລຸກພາສາ
- restriction - ປ້ອງກັນການລຸກພາສາຜ່ານການລຸກພາສາ
- #all - ປ້ອງກັນທຸກການລຸກພາສາ
any attributes
ທົດສະນະ. ຄິດເຫມືອນິຍົມຂອງບັນດາປະເພດທີ່ບໍ່ມີນອກສັນວັດສະນະ
ຄວາມສຳຄັນ
ຄູ່ມູນ 1
ບົດສະຫຼຸບນີ້ມີບັນດາປະເພດປະເພດ "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:sequence> </xs:complexType> </xs:element>
ຄູ່ມູນ 2
ບົດສະຫຼຸບນີ້ມີບັນດາປະເພດ "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: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>
ໃນຄັນກ່າວການທີ່ກ່າວຫານັ້ນ, ບັນດາ "employee" ສະແດງນັ້ນຕ້ອງທີ່ຈະກວມເອົາບັນດາເງິນຕາທີ່ກ່າວຫານັ້ນໃນທຳມະດາ: "firstname", "lastname", "address", "city" ແລະ "country".