Section Artikel
DTD adalah Definisi Jenis Dokumen.
DTD mendefinisikan struktur dan elemen hukum serta atribut dokumen XML.
Dengan DTD, sekelompok orang independen dapat menyetujui DTD standar untuk bertukar data.
Aplikasi dapat menggunakan DTD untuk memverifikasi bahwa data XML valid.
Jika DTD dideklarasikan di dalam file XML, itu harus dibungkus di dalam definisi :
Dokumen XML dengan DTD internal :
<?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>
DTD di atas diinterpretasikan seperti ini:
!DOCTYPE note mendefinisikan bahwa elemen root dari dokumen ini adalah note
!ELEMENT note mendefinisikan bahwa elemen note harus mengandung empat elemen: “to, from, heading, body”
!ELEMENT to mendefinisikan elemen to berjenis “#PCDATA”
!ELEMENT from mendefinisikan elemen from menjadi berjenis “#PCDATA”
!ELEMENT heading mendefinisikan elemen heading menjadi jenis “#PCDATA”
!ELEMENT body mendefinisikan elemen body dengan tipe “#PCDATA”
Jika DTD dideklarasikan dalam file eksternal, definisi <!DOCTYPE> harus berisi referensi ke file DTD:
Dokumen XML dengan referensi ke DTD eksternal
File XML :
<?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>
Dan inilah file “note.dtd”, yang berisi DTD:
note.dtd :
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Output :