DTD - Ikhtisar

Deklarasi Tipe Dokumen XML, umumnya dikenal sebagai DTD, adalah cara untuk mendeskripsikan bahasa XML dengan tepat. DTD memeriksa validitas struktur dan kosakata dokumen XML terhadap aturan tata bahasa dari bahasa XML yang sesuai.

Dokumen XML dapat didefinisikan sebagai -

  • Well-formed- Jika dokumen XML mematuhi semua aturan umum XML seperti tag harus bertingkat dengan benar, tag pembuka dan penutup harus seimbang, dan tag kosong harus diakhiri dengan '/>', maka ini disebut sebagai format yang baik .

    ATAU

  • Valid- Dokumen XML dikatakan valid jika tidak hanya dalam format yang baik , tetapi juga sesuai dengan DTD yang tersedia yang menentukan tag mana yang digunakannya, atribut apa yang dapat dimuat oleh tag tersebut, dan tag mana yang dapat muncul di dalam tag lain, di antara properti lainnya .

Diagram berikut menunjukkan bahwa DTD digunakan untuk menyusun dokumen XML -

Jenis

DTD dapat diklasifikasikan berdasarkan deklarasinya dalam dokumen XML, seperti -

  • DTD internal

  • DTD Eksternal

Ketika DTD dideklarasikan di dalam file, itu dipanggil Internal DTD dan jika dideklarasikan dalam file terpisah maka disebut External DTD.

Kita akan mempelajari lebih lanjut tentang ini di bab Sintaks DTD

fitur

Berikut adalah beberapa poin penting yang dijelaskan oleh DTD -

  • elemen yang bisa muncul dalam dokumen XML.

  • urutan kemunculannya.

  • elemen opsional dan wajib.

  • atribut elemen dan apakah itu opsional atau wajib.

  • apakah atribut dapat memiliki nilai default.

Keuntungan menggunakan DTD

  • Documentation- Anda dapat menentukan format Anda sendiri untuk file XML. Melihat dokumen ini, pengguna / pengembang dapat memahami struktur datanya.

  • Validation - Ini memberikan cara untuk memeriksa validitas file XML dengan memeriksa apakah elemen muncul dalam urutan yang benar, elemen dan atribut wajib sudah ada, elemen dan atribut belum dimasukkan dengan cara yang salah, dan sebagainya.

Kerugian menggunakan DTD

  • Itu tidak mendukung ruang nama. Namespace adalah mekanisme di mana nama elemen dan atribut dapat ditetapkan ke grup. Namun, dalam ruang nama DTD harus didefinisikan dalam DTD, yang melanggar tujuan penggunaan ruang nama.

  • Ini hanya mendukung tipe data string teks.

  • Itu tidak berorientasi objek. Oleh karena itu, konsep warisan tidak dapat diterapkan di DTD.

  • Kemungkinan terbatas untuk mengekspresikan kardinalitas elemen.