XML DTD

เอกสาร XML ที่มีบรรยายรายละเอียดถูกต้องเรียกว่า "มีรูปแบบที่ดี"

เอกสาร XML ที่ตรวจสอบตาม DTD นั้นทั้งเป็นไปตามรูปแบบที่ดีและมีประสิทธิภาพ

DTD คืออะไร?

DTD ตั้งแต่รหัสว่า Document Type Definition (Document Type Definition)

DTD กำหนดโครงสร้างของเอกสาร XML และประกาศสมาชิกและคุณสมบัติที่ถูกต้อง

เอกสาร XML ที่มีประสิทธิภาพ

เอกสาร XML ที่ "มีประสิทธิภาพ" คือเอกสารที่ "มีรูปแบบที่ดี" และยังต้องเป็นไปตามกฎของ DTD:

<?xml version="1.0" encoding="UTF-8"?>
!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

คำแสดง DOCTYPE ด้านบนมีการอ้างถึงไฟล์ DTD ด้านล่างนี้และอธิบายเนื้อหาของไฟล์ DTD

XML DTD

DTD มีวัตถุประสงค์ในการกำหนดโครงสร้างของเอกสาร XML และประกาศสมาชิกและคุณสมบัติที่ถูกต้อง:

Note.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 - กำหนดว่าตัวอักษรประกอบ note ต้องมีรูปแบบที่ต้องมีองค์ประกอบต่อไปนี้: "to, from, heading, body"
!ELEMENT to - กำหนดว่าตัวอักษรประกอบ to ต้องมีชนิด #PCDATA
!ELEMENT from - กำหนดว่าตัวอักษรประกอบ from ต้องมีชนิด #PCDATA
!ELEMENT heading - กำหนดว่าตัวอักษรประกอบ heading ต้องมีชนิด #PCDATA
!ELEMENT body - กำหนดว่าตัวอักษรประกอบ body ต้องมีชนิด #PCDATA

คำเตือน:#PCDATA หมายถึงข้อมูลตัวอักษรที่สามารถประมวลผลได้ (parseable character data)

ประกาศตัวเลขประกอบด้วย DTD

DOCTYPE ประกาศยังสามารถใช้ในการกำหนดอักษรหรือข้อความพิเศษที่ใช้ในเอกสาร

ตัวอย่าง

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp " ">
<!ENTITY writer "Writer: Bill Gates.">
<!ENTITY copyright "Copyright: CodeW3C.com.">
]>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
<footer>&writer; ©right;</footer>
</note>

คำเตือน:ตัวเลขประกอบประกอบด้วยสามส่วน: ตั้งต้นด้วยเครื่องหมาย & ตามด้วยชื่อตัวเลขประกอบ และสิ้นสุดด้วยเครื่องหมาย ;

เมื่อใดคุณจะใช้ DTD?

ด้วย DTD กลุ่มที่เป็นอิสระสามารถตกลงกันเกี่ยวกับมาตรฐานการแลกเปลี่ยนข้อมูล

ด้วย DTD คุณสามารถตรวจสอบว่าข้อมูลที่รับมาจากภายนอกนั้นมีประสิทธิภาพหรือไม่

คุณยังสามารถใช้ DTD ในการตรวจสอบข้อมูลของคุณด้วย

如果您希望學習 DTD,請閱讀我們的 DTD 教程

何時不使用 DTD?

對於 XML,DTD 不是必需的。

如果您正在測試 XML,或使用的是很小的 XML 文件時,創建 DTD 可能是在浪費時間。

如果您正在開發應用程序,請等到規範穩定後再添加 DTD。否則,您的軟件可能會因驗證錯誤而停止工作。