DTD คืออะไร?
DTD เป็นเอกสารชนิดข้อกำหนด
DTD กำหนดโครงสร้างและองค์ประกอบทางกฎหมายและแอตทริบิวต์ของเอกสาร XML
ใช้ DTD ทำไม?
ด้วย DTD เป็นกลุ่มที่เป็นอิสระจากผู้คนสามารถเห็นด้วยกับ DTD มาตรฐานสำหรับการสับเปลี่ยนข้อมูล
แอพลิเคชันสามารถใช้ DTD เพื่อตรวจสอบว่าข้อมูล XML ที่ถูกต้อง
การประกาศภายใน DTD
หากมีการประกาศ DTD ภายในไฟล์ XML นั้นจะต้องถูกห่อภายใน <!DOCTYPE> คำนิยาม:
เอกสาร XML ที่มี DTD ภายใน
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
ดูไฟล์ XML » ในไฟล์ XML เลือก "view source" เพื่อดูการ DTD
ข้อกำหนดของ DTD ข้างต้นคือการตีความเช่นนี้
- !DOCTYPE note กำหนดว่าองค์ประกอบหลักของเอกสารนี้เป็นหมายเหตุ
- !ELEMENT note กำหนดว่าองค์ประกอบโน้ตต้องประกอบด้วยธาตุทั้งสี่: "to,from,heading,body"
- !ELEMENT to กำหนดองค์ประกอบที่จะเป็นชนิด "#PCDATA"
- !ELEMENT from กำหนดจากองค์ประกอบที่จะเป็นชนิด "#PCDATA"
- !ELEMENT heading กำหนดองค์ประกอบส่วนหัวจะเป็นประเภท "#PCDATA"
- !ELEMENT body กำหนดองค์ประกอบร่างกายที่จะเป็นชนิด "#PCDATA"
การประกาศ DTD ภายนอก
ถ้า DTD ถูกประกาศในแฟ้มภายนอก <!DOCTYPE> ความหมายต้องมีการอ้างอิงไปยังแฟ้ม DTD นี้:
เอกสาร XML ที่มีการอ้างอิงไปยัง DTD ภายนอก
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
ดูไฟล์ XML » และนี่ก็เป็นไฟล์ "note.dtd" ซึ่งมี DTD นี้:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>