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)) ປະສົມປະກອບ > (annotation?,(simpleContent|complexContent|((group|all| choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?)))) </complexType>
(? ສັນຍາລະບາຍໃນ complexType, ຫຼັກສັດສາມາດອອກມາບໍ່ມີຫຼືມີໜຶ່ງຄັ້ງ.)
ປະສົມປະກອບ
id
ຄວາມຄິດ. ພົບບໍ່ມີຄວາມຄິດສັນຍາລະບາຍວ່າຈະອະນຸຍາດ ID ສະບາຍການຂອງຫຼັກສັດ.
name
ຄວາມຄິດ. ພົບບໍ່ມີຄວາມຄິດສັນຍາລະບາຍວ່າຈະອະນຸຍາດຊື່ຂອງຫຼັກສັດ.
abstract
ຄວາມຄິດ. ພົບບໍ່ມີຄວາມຄິດສັນຍາລະບາຍວ່າຈະອະນຸຍາດປະເພດ complexType ທີ່ສາມາດນຳໃຊ້ໃນເອກະສານທີ່ກໍານົດ. ຖ້າຄູ່ມືດັ່ງກ່າວ true, ເງິນອັນຕະລາຍບໍ່ສາມາດນຳໃຊ້ complexType ຕາມທີ່ກໍານົດ, ແຕ່ຕ້ອງໃຊ້ complexType ທີ່ລົງນຳມາຈາກ complexType. ຄູ່ມືດັ່ງກ່າວ false.
mixed
ຄວາມຄິດ. ພົບບໍ່ມີຄວາມຄິດສັນຍາລະບາຍວ່າຈະອະນຸຍາດຄວາມຄິດຊາວຄັອດພາຍໃນຫຼັກສັດຂອງປະເພດ complexType. ຄູ່ມືດັ່ງກ່າວມີຄູ່ມືດັ່ງກ່າວ false.
- ຖ້າ simpleContent ສະກັບຫຼັກສັດ, ບໍ່ອະນຸຍາດຄູ່ມື mixed.
- ຖ້າ complexContent ສະກັບຫຼັກສັດ, ຄູ່ມື mixed ສາມາດຖືກຫຼຸດອອກໂດຍຄູ່ມື mixed ຂອງ complexContent.
block
ຄວາມຄິດ. ປ້ອງກັນປະເພດ complexType ທີ່ລົງນຳມາຈາກປະເພດທີ່ກໍານົດ. ຄູ່ມືດັ່ງກ່າວສາມາດກວມ #all ຫຼືລາຍການ, ລາຍການນີ້ແມ່ນສະມາຊິດຂອງ extension ຫຼື restriction:
- extension - ປ້ອງກັນທຸກປະເພດ complexType ທີ່ລົງນຳມາຈາກ complexType ວາງຂໍ້ຂະຫຍາຍ.
- restriction - ປ້ອງກັນທຸກປະເພດ complexType ທີ່ລົງນຳມາຈາກ complexType ວາງຂໍ້ຈຳກັດ.
- #all - ປ້ອງກັນທຸກປະເພດ complexType ທີ່ລົງນຳມາຈາກ complexType.
final
ຄວາມຄິດ. ປ້ອງກັນຈາກການລົງນຳມາຈາກປະເພດ complexType ທີ່ກໍານົດ. ຄູ່ມືດັ່ງກ່າວສາມາດກວມ #all ຫຼືລາຍການ, ລາຍການນີ້ແມ່ນສະມາຊິກຂອງ extension ຫຼື restriction.
- extension - ປ້ອງກັນທຸກການຂະຫຍາຍຜ່ານການຂະຫຍາຍ.
- restriction - ປ້ອງກັນທຸກການຂະຫຍາຍຜ່ານການກັບກັນ.
- #all - ປ້ອງກັນທຸກການຂະຫຍາຍ (ການຂະຫຍາຍແລະການກັບກັນ).
ປະສົມປະກອບ
ອາດ. ກໍານົດຂອງປະສົມປະກອບອື່ນໆທີ່ມີອາກາດບໍ່ແບບຂອງສານ.
ຄວາມລວມ
ບັນທັດ 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" ທີ່ຂະຫຍາຍຕົວຈາກຮູບແບບ "personinfo" ໂດຍນຳໃຊ້ສາມປ່ຽນແປງ (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"。