XML DTD
เอกสาร XML ที่มีไวยากรณ์ที่ถูกต้องเรียกว่า "Well Formed"
เอกสาร XML ที่ตรวจสอบกับ DTD มีทั้ง "รูปแบบที่ดี" และ "ถูกต้อง"
DTD คืออะไร?
DTD ย่อมาจาก Document Type Definition
DTD กำหนดโครงสร้างและองค์ประกอบทางกฎหมายและแอตทริบิวต์ของเอกสาร XML
เอกสาร XML ที่ถูกต้อง
เอกสาร XML ที่ "ถูกต้อง" คือ "มีรูปแบบที่ดี" และเป็นไปตามกฎของ DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
การประกาศ DOCTYPE ด้านบนมีการอ้างอิงถึงไฟล์ DTD เนื้อหาของไฟล์ DTD แสดงและอธิบายไว้ด้านล่าง
XML DTD
วัตถุประสงค์ของ DTD คือการกำหนดโครงสร้างและองค์ประกอบทางกฎหมายและคุณลักษณะของเอกสาร XML:
หมายเหตุ.dtd:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
DTD ด้านบนถูกตีความดังนี้:
- !DOCTYPE note - กำหนดว่าองค์ประกอบรูทของเอกสารคือ note
- !ELEMENT note - กำหนดว่าองค์ประกอบโน้ตต้องมีองค์ประกอบ: "to, from, heading, body"
- !ELEMENT to - กำหนดองค์ประกอบ to ให้เป็นประเภท "#PCDATA"
- !ELEMENT from - กำหนดองค์ประกอบจากให้เป็นประเภท "#PCDATA"
- !ELEMENT ส่วนหัว - กำหนดองค์ประกอบส่วนหัวให้เป็นประเภท "#PCDATA"
- !ELEMENT body - กำหนดองค์ประกอบเนื้อหาให้เป็นประเภท "#PCDATA"
เคล็ดลับ: #PCDATA หมายถึงข้อมูลอักขระที่แยกวิเคราะห์ได้
การใช้ DTD สำหรับการประกาศนิติบุคคล
การประกาศ DOCTYPE ยังสามารถใช้เพื่อกำหนดอักขระพิเศษหรือสตริงที่ใช้ในเอกสาร:
ตัวอย่าง
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
ลองด้วยตัวคุณเอง »
เคล็ดลับ:เอนทิตีมีสามส่วน: เริ่มต้นด้วยเครื่องหมายและ (&) จากนั้นมาชื่อเอนทิตี และสิ้นสุดด้วยเครื่องหมายอัฒภาค (;)
เมื่อใดควรใช้ DTD
ด้วย DTD กลุ่มคนที่เป็นอิสระสามารถตกลงที่จะใช้ DTD มาตรฐานสำหรับการแลกเปลี่ยนข้อมูล
ด้วย DTD คุณสามารถตรวจสอบว่าข้อมูลที่คุณได้รับจากโลกภายนอกนั้นถูกต้อง
คุณยังสามารถใช้ DTD เพื่อตรวจสอบข้อมูลของคุณเองได้
หากคุณต้องการเรียน DTD โปรดอ่าน บทช่วย สอน DTDของ เรา
เมื่อไม่ใช้ DTD?
XML ไม่ต้องการ DTD
เมื่อคุณกำลังทดลองกับ XML หรือเมื่อคุณทำงานกับไฟล์ XML ขนาดเล็ก การสร้าง DTD อาจทำให้เสียเวลา
หากคุณพัฒนาแอปพลิเคชัน ให้รอจนกว่าข้อกำหนดจะเสถียรก่อนที่คุณจะเพิ่ม DTD มิฉะนั้น ซอฟต์แวร์ของคุณอาจหยุดทำงานเนื่องจากข้อผิดพลาดในการตรวจสอบความถูกต้อง