DTD XML
- 上一页 Pengesahan XML
- 下一页 Schema XML
语法正确的 XML 文档被称为“格式良好”。
根据 DTD 验证的 XML 文档,既是“格式良好”的,又是“有效”的。
什么是 DTD?
DTD 代表文档类型定义(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>Ingatan</heading> <body>Ingatkan perjumpaan!</body> </note>
上面的 DOCTYPE 声明包含对 DTD 文件的引用。下面展示并解释了 DTD 文件的内容。
DTD XML
DTD 的目的是定义 XML 文档的结构,以及合法的元素和属性:
Note.dtd:
!DOCTYPE note [ !ELEMENT note (to,from,heading,body) <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]>
Pengertian untuk DTD di atas adalah seperti berikut:
!DOCTYPE note - Mewakili root elemen dokumen adalah note !ELEMENT note - Memerlukan elemen note untuk mengandungi elemen berikut: "to, from, heading, body" !ELEMENT to - Mewakili elemen to sebagai jenis "#PCDATA" !ELEMENT from - Mewakili elemen from sebagai jenis "#PCDATA" !ELEMENT heading - Mewakili elemen heading sebagai jenis "#PCDATA" !ELEMENT body - Mewakili elemen body sebagai jenis "#PCDATA"
Peringatan:#PCDATA bermaksud data aksara yang dapat dihaluskan (parseable character data).
Pengisytiharaan entiti dengan DTD
Pengisytiharaan DTD boleh digunakan untuk menentukan aksara khas atau string yang digunakan dalam dokumen:
Contoh
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE note [ <!ENTITY nbsp "ꀊout;> <!ENTITY writer "Writer: Bill Gates."> <!ENTITY copyright "Copyright: CodeW3C.com."> ]> <note> <to>George</to> <from>John</from> <heading>Ingatan</heading> <body>Ingatkan perjumpaan!</body> <footer>&writer; ©right;</footer> </note>
Peringatan:Entiti terdiri daripada tiga bahagian: bermula dengan simbol tanda pertukaran (&), diikuti dengan nama entiti, dan ditutup dengan tanda titik koma (;).
Ketika hendak menggunakan DTD?
Dengan DTD, kumpulan bebas boleh mencapai persetujuan mengenai piawaian pertukaran data.
Dengan DTD, anda boleh mengesahkan sama ada data yang diterima daripada luar adalah sah.
Anda boleh menggunakan DTD untuk mengesahkan data anda sendiri.
如果您希望学习 DTD,请阅读我们的 DTD 教程。
何时不使用 DTD?
对于 XML,DTD 不是必需的。
如果您正在测试 XML,或使用的是很小的 XML 文件时,创建 DTD 可能是在浪费时间。
如果您正在开发应用程序,请等到规范稳定后再添加 DTD。否则,您的软件可能会因验证错误而停止工作。
- 上一页 Pengesahan XML
- 下一页 Schema XML