กวดวิชา DTD
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 เลือก "ดูแหล่งที่มา" เพื่อดู DTD
DTD ด้านบนถูกตีความดังนี้:
- !DOCTYPE note กำหนดว่าองค์ประกอบ root ของเอกสารนี้คือ note
- !ELEMENT note กำหนดว่าองค์ประกอบโน้ตต้องมีสี่องค์ประกอบ: "to,from,heading,body"
- !ELEMENT เพื่อ กำหนดองค์ประกอบ to ให้เป็นประเภท "#PCDATA"
- !ELEMENT จาก กำหนดองค์ประกอบจากให้เป็นประเภท "#PCDATA"
- !ELEMENT ส่วนหัวกำหนดองค์ประกอบส่วนหัวให้เป็นประเภท "#PCDATA"
- !ELEMENT bodyกำหนดองค์ประกอบ 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)>