XML vs SGML
XML adalah singkatan dari EXtensible Markup Language. Ini didefinisikan dalam spesifikasi XML 1.0, yang dikembangkan oleh W3C (World Wide Web Consortium). XML menyediakan cara standar, yang juga sederhana, untuk menyandikan data dan teks sedemikian rupa sehingga konten dapat dipertukarkan di seluruh perangkat keras driver, sistem operasi dan aplikasi dengan sedikit intervensi manusia. SGML (Standard Generalized Markup Language) adalah standar ISO (International Organization for Standardization) untuk menentukan bahasa markup dokumen atau serangkaian tag. SGML bukan bahasa dokumen tetapi Document Type Definition (DTD).
XML
XML adalah bahasa markup yang digunakan untuk mentransfer data dan teks antara perangkat keras driver, sistem operasi dan aplikasi dengan sedikit campur tangan manusia. XML menyediakan tag, atribut, dan struktur elemen yang dapat digunakan untuk memberikan informasi konteks. Informasi konteks ini dapat digunakan untuk memecahkan kode makna konten. Ini memungkinkan untuk mengembangkan mesin pencari yang efisien dan melakukan penambangan data pada data. Selain itu, basis data relasional tradisional cocok sebagai data XML karena dapat diatur dalam baris dan kolom tetapi XML kurang memberikan dukungan untuk data dengan konten yang kaya seperti audio, video, dokumen kompleks, dll. Database XML menyimpan data dalam bentuk hierarki terstruktur dan terstruktur. yang memungkinkan kueri diproses lebih efisien. Tag XML tidak ditentukan sebelumnya dan pengguna dapat menentukan tag baru dan struktur dokumen. Juga, bahasa internet baru seperti RSS, Atom, SOAP, dan XHTM dibuat menggunakan XML.
SGML
SGML didasarkan pada gagasan bahwa meskipun sebuah dokumen dapat ditampilkan dengan penampilan yang berbeda tergantung pada media keluaran yang digunakan, SGML berisi beberapa elemen struktural dan semantik yang tidak berubah dengan merujuk pada bagaimana ia ditampilkan. Dokumen berbasis SGML dapat dibuat tanpa mempedulikan tentang penampilan dokumen yang dapat berubah dari waktu ke waktu, tetapi tentang struktur dokumen. Lebih lanjut, kompiler SGML dapat menafsirkan dokumen apa pun menggunakan DTD-nya, oleh karena itu dokumen-dokumen ini memberikan portabilitas lebih. Selain itu, dokumen berdasarkan SGML dapat dengan mudah disesuaikan kembali ke media yang berbeda (misalnya, dokumen yang ditujukan untuk media cetak dapat diadaptasi ulang untuk tampilan layar).
Apa perbedaan antara XML dan SGML?
Sementara XML adalah bahasa markup yang digunakan untuk mentransfer data dan teks antara perangkat keras driver, sistem operasi dan aplikasi, SGML adalah standar ISO untuk menentukan bahasa markup dokumen atau satu set tag. XML sebenarnya adalah bahasa markup yang didasarkan pada SGML. Tetapi XML memberlakukan beberapa batasan yang tidak ada dalam SGML. Misalnya, XML memberlakukan batasan berikut: referensi entitas harus ditutup dengan pembatas REFC, referensi ke entitas data eksternal dalam konten tidak diperbolehkan, referensi karakter harus ditutup dengan pembatas REFC, referensi karakter yang bernama tidak diperbolehkan, dll. Selanjutnya, beberapa konstruksi seperti tag awal tidak tertutup, tag akhir tidak tertutup, tag awal kosong, tag akhir kosong yang diizinkan dalam SGML ketika SHORTTAG adalah YA, tidak diizinkan dalam XML. Selain itu, beberapa deklarasi SGML seperti DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT dan EXPLICIT), dll. Tidak diperbolehkan dalam XML.