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