tutorial pengembangan web terbaru
 

DTD Tutorial


Apa yang dimaksud dengan DTD?

Sebuah DTD adalah Document Type Definition.

Sebuah DTD mendefinisikan struktur dan unsur-unsur hukum dan atribut dari dokumen XML.


Mengapa Gunakan DTD?

Dengan DTD, kelompok independen dari orang dapat setuju pada DTD standar untuk interchanging data.

Sebuah aplikasi dapat menggunakan DTD untuk memverifikasi bahwa data XML valid.


Sebuah Deklarasi internal DTD

Jika DTD dinyatakan dalam file XML, itu harus dibungkus dalam <!DOCTYPE> Definisi:

Dokumen XML dengan DTD internal yang

<?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>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
Lihat file XML »

Dalam file XML, pilih "view source" untuk melihat DTD.

DTD di atas ditafsirkan seperti ini:

  • !DOCTYPE note mendefinisikan bahwa elemen root dari dokumen ini adalah catatan
  • !ELEMENT note mendefinisikan bahwa unsur catatan harus mengandung empat unsur: "to,from,heading,body"
  • !ELEMENT to mendefinisikan untuk elemen menjadi tipe "#PCDATA"
  • !ELEMENT from mendefinisikan dari unsur menjadi tipe "#PCDATA"
  • !ELEMENT heading mendefinisikan elemen heading menjadi tipe "#PCDATA"
  • !ELEMENT body mendefinisikan elemen body menjadi tipe "#PCDATA"

Sebuah Deklarasi DTD Eksternal

Jika DTD dinyatakan dalam sebuah file eksternal, <!DOCTYPE> definisi harus berisi referensi ke file DTD:

dokumen XML dengan referensi ke sebuah DTD eksternal

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>
Lihat file XML »

Dan di sini adalah file "note.dtd" , yang berisi DTD yang:

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