DTD - ສະຖານນະພາບປ່ຽນແປງ

ໃນ DTD, ປະກອບສ່ວນອາດຖືກຖະແຫ�ງດ້ວຍການຖະແຫ�ງປະກອບສ່ວນ.

ຖະແຫຼງປະກອບສ່ວນ

ໃນ DTD, XML ປະກອບສ່ວນອາດຖືກຖະແຫຼງດ້ວຍການຖະແຫຼງປະກອບສ່ວນ. ການຖະແຫ�ງປະກອບສ່ວນມີວິທະຍາການດ້ວຍ:

<!ELEMENT ປະກອບສ່ວນຊື່ ວິທະຍາ>

ຫຼື

<!ELEMENT ປະກອບສ່ວນຊື່ (ຂອບສ່ວນ)>

ປະກອບສ່ວນທີ່ບໍ່ມີຂໍ້ມູນທີ່ຈະອອກ

ປະກອບສ່ວນທີ່ບໍ່ມີຂໍ້ມູນທີ່ຈະອອກ ୻ອກຈະຖືກຖະແຫ�ງໂດຍພວກກະພິບວິທະຍາ EMPTY:

<!ELEMENT ປະກອບສ່ວນຊື່ EMPTY>

例子:

<!ELEMENT br EMPTY>

ຕົວຢ່າງ XML:

<br />

ປະກອບສ່ວນທີ່ມີພຽງ PCDATA

ປະກອບສ່ວນທີ່ມີພຽງ PCDATA ອາດຖືກຖະແຫຼງດ້ວຍ #PCDATA ໃນກາງຄອບຄອງ:

<!ELEMENT ປະກອບສ່ວນຊື່ (#PCDATA)>

例子:

<!ELEMENT from (#PCDATA)>

ປະກອບສ່ວນທີ່ມີຂໍ້ມູນທັງໝົດ

ປະກອບສ່ວນທີ່ຖືກຖະແຫຼງໂດຍພວກກະພິບວິທະຍາ ANY ອາດມີການປະກອບສ່ວນທັງໝົດຂອງຂໍ້ມູນທີ່ສາມາດບາດດັນໄດ້:

<!ELEMENT ປະກອບສ່ວນຊື່ ANY>

例子:

<!ELEMENT note ANY>

ປະກອບສ່ວນທີ່ມີປະກອບສ່ວນ (ລຳດັບ)

ປະກອບສ່ວນທີ່ມີປະກອບສ່ວນ 1 ຫຼື ຫຼາຍກວ່າ ອາດຖືກຖະແຫຼງດ້ວຍຊື່ລູກປະກອບສ່ວນໃນກາງຄອບຄອງ:

<!ELEMENT ປະກອບສ່ວນຊື່ (ປະກອບສ່ວນຊື່ລູກ 1)>

ຫຼື

<!ELEMENT ປະກອບສ່ວນຊື່ (ປະກອບສ່ວນຊື່ລູກ 1,ປະກອບສ່ວນຊື່ລູກ 2,...)>

例子:

<!ELEMENT note (to,from,heading,body)>

ເມື່ອປະກອບສ່ວນລູກອາດອອກໃນທີ່ຕາມລຳດັບການຖະແຫຼງດ້ວຍຄຳຂັດແຍ່ງຄັ້ງດຽວ ປະກອບສ່ວນລູກຕ້ອງອາດອອກໃນທີ່ຕາມລຳດັບດຽວກັນໃນເອກະສານ. ໃນການຖະແຫຼງທີ່ເປັນສະບາຍ ປະກອບສ່ວນລູກຕ້ອງຖືກຖະແຫຼງ ແລະ ປະກອບສ່ວນລູກອາດມີປະກອບສ່ວນລູກ. "note" ການຖະແຫຼງທີ່ເປັນສະບາຍວ່າ:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to      (#PCDATA)>
<!ELEMENT from    (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body    (#PCDATA)>

ການຖະແຫຼງປະກອບສ່ວນທີ່ອາດອອກໃນຄັ້ງດຽວ

<!ELEMENT ປະກອບສ່ວນຊື່ (ປະກອບສ່ວນຊື່ລູກ)>

例子:

<!ELEMENT note (message)>

ຕົວຢ່າງຂື້ນກ່າວວ່າ: "message" ປະກອບສ່ວນຕ້ອງອາດອອກໃນຄັ້ງດຽວ ແລະ ຕ້ອງບໍ່ຈະອອກໃນ "note" ປະກອບສ່ວນດຽວ

ການຖະແຫຼງການປະກອບສ່ວນທີ່ອາດອອກໃນຄັ້ງດຽວ


例子:


上面的例子中的加号声明了:message 子元素必须在 "note" 元素内出现至少一次。

声明出现零次或多次的元素


例子:


上面的例子中的星号声明了:子元素 message 可在 "note" 元素内出现零次或多次。

声明出现零次或一次的元素


例子:


上面的例子中的问号声明了:子元素 message 可在 "note" 元素内出现零次或一次。

声明“非.../既...”类型的内容

例子:


上面的例子声明了:"note" 元素必须包含 "to" 元素、"from" 元素、"header" 元素,以及非 "message" 元素既 "body" 元素。

声明混合型的内容

例子:


上面的例子声明了:"note" 元素可包含出现零次或多次的 PCDATA、"to"、"from"、"header" 或者 "message"。