ใน DTD เป็นองค์ประกอบที่มีการประกาศที่มีการประกาศ ELEMENT
ประกาศองค์ประกอบ
ใน DTD เป็นองค์ประกอบ XML มีการประกาศกับไวยากรณ์ต่อไปนี้:
<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>
องค์ประกอบที่ว่างเปล่า
องค์ประกอบที่ว่างเปล่ามีการประกาศกับหมวดหมู่คำหลักที่ว่างเปล่า
<!ELEMENT element-name EMPTY>
Example:
<!ELEMENT br EMPTY>
XML example:
<br />
องค์ประกอบกับข้อมูลแจงตัวอักษร
องค์ประกอบกับข้อมูลตัวอักษรแยกวิเคราะห์เพียง แต่มีการประกาศกับ PCDATA # ในวงเล็บ:
<!ELEMENT element-name (#PCDATA)>
Example:
<!ELEMENT from (#PCDATA)>
องค์ประกอบที่มีเนื้อหาใด ๆ
องค์ประกอบประกาศด้วยหมวดหมู่คำหลักใด ๆ สามารถมีการรวมกันของข้อมูลใด ๆ parsable:
<!ELEMENT element-name ANY>
Example:
<!ELEMENT note ANY>
องค์ประกอบที่มีเด็ก (sequences)
องค์ประกอบที่มีเด็กหนึ่งหรือมากกว่ามีการประกาศที่มีชื่อขององค์ประกอบเด็กในวงเล็บนี้:
<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>
Example:
<!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-name (child-name)>
Example:
<!ELEMENT note (message)>
ตัวอย่างข้างต้นบอกว่าเด็กองค์ประกอบ "message" จะต้องเกิดขึ้นครั้งเดียวและเพียงครั้งเดียวภายใน "note" องค์ประกอบ
ประกาศการเกิดขั้นต่ำหนึ่งในองค์ประกอบ
<!ELEMENT element-name (child-name+)>
Example:
<!ELEMENT note (message+)>
เครื่องหมาย + ในตัวอย่างข้างต้นบอกว่าเด็กองค์ประกอบ "message" จะต้องเกิดขึ้นหนึ่งครั้งหรือมากกว่าภายใน "note" องค์ประกอบ
ประกาศศูนย์หรือมากกว่าการปรากฏขึ้นขององค์ประกอบ
<!ELEMENT element-name (child-name*)>
Example:
<!ELEMENT note (message*)>
* การเข้าสู่ระบบในตัวอย่างข้างต้นบอกว่าเด็กองค์ประกอบ "message" สามารถเกิดขึ้นได้เป็นศูนย์หรือมากกว่าครั้งภายใน "note" องค์ประกอบ
ประกาศศูนย์หรือหนึ่งการปรากฏขึ้นขององค์ประกอบ
<!ELEMENT element-name (child-name?)>
Example:
<!ELEMENT note (message?)>
หรือไม่? ลงชื่อเข้าใช้ในตัวอย่างข้างต้นบอกว่าองค์ประกอบของเด็ก "message" สามารถเกิดขึ้นได้เป็นศูนย์หรือเพียงครั้งเดียวภายใน "note" องค์ประกอบ
ประกาศอย่างใดอย่างหนึ่ง / หรือเนื้อหา
<!ELEMENT note (to,from,header,(message|body))>
ตัวอย่างข้างต้นบอกว่า "note" องค์ประกอบที่จะต้องมี "to" องค์ประกอบที่ "from" องค์ประกอบที่เป็น "header" องค์ประกอบและทั้ง "message" หรือ "body" องค์ประกอบ
ประกาศเนื้อหาผสม
<!ELEMENT note (#PCDATA|to|from|header|message)*>
ตัวอย่างข้างต้นบอกว่า "note" องค์ประกอบสามารถมีศูนย์หรือมากกว่าการเกิดขึ้นของข้อมูลตัวอักษรแยกวิเคราะห์ "to" , "from" , "header" หรือ "message" องค์ประกอบ