Panduan DTD

Definisi Tipe Dokumen (DTD) dapat menentukan modul penggubah dokumen XML yang sah. Ini menggunakan sekumpulan elemen yang sah untuk mendefiniskan struktur dokumen.

DTD dapat dideklarasikan secara baris-baris dalam dokumen XML, atau sebagai referensi eksternal.

Pernyataan DOCTYPE dalam

Jika DTD disertai dalam berkas asal XML Anda, itu seharusnya disegel dalam pernyataan DOCTYPE berikut ini:

!DOCTYPE root-element [deklarasi elemen]>

Contoh dokumen XML dengan DTD (buka dengan IE5 serta versi yang lebih tinggi, dan pilih Lihat Kode Sumber):

<?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>George</to>
  <from>John</from>
  <heading>Peringatan</heading>
  <body>Ingatkan pertemuan!</body>
</note>

Buka berkas XML ini di browser Anda dan pilih perintah "Lihat Kode Sumber".

Penjelasan DTD di atas seperti berikut:

!DOCTYPE note (baris ke-2) definisi dokumen ini adalah note dokumen tipe.

!ELEMENT note (baris ke-3) definisi note Element memiliki empat element: "to,from,heading,body"

!ELEMENT to (baris ke-4) definisi to Element bertipe "#PCDATA"

!ELEMENT from (baris ke-5) definisi from Element bertipe "#PCDATA"

!ELEMENT heading (baris ke-6) definisi heading Element bertipe "#PCDATA"

!ELEMENT body (baris ke-7) definisi body Element bertipe "#PCDATA"

Deklarasi dokumen eksternal

Jika DTD berada di luar berkas sumber XML, maka ia seharusnya disegel dalam definisi DOCTYPE di bawah cara berikut:

!DOCTYPE root-element SYSTEM "filename"

Dokumen XML ini sama dengan dokumen XML di atas, tetapi memiliki DTD eksternal: (Buka dengan IE5dan pilih perintah "Lihat Kode Sumber".)

<?xml version="1.0"?>
!DOCTYPE note SYSTEM "note.dtd"
<note>
<to>George</to>
<from>John</from>
<heading>Peringatan</heading>
<body>Ingatkan pertemuan!</body>
</note>

Ini adalah berkas "note.dtd" yang mengandung DTD:

!ELEMENT note (to,from,heading,body)
!ELEMENT to (#PCDATA)
!ELEMENT from (#PCDATA)
!ELEMENT heading (#PCDATA)
!ELEMENT body (#PCDATA)

为什么使用 DTD?

通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。

通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。

而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。

您还可以使用 DTD 来验证您自己的数据。