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 sehingga konten dapat dipertukarkan antar perangkat keras driver, sistem operasi dan aplikasi dengan sedikit campur tangan manusia. SGML (Standard Generalized Markup Language) adalah standar ISO (Organisasi Internasional untuk Standardisasi) untuk menentukan bahasa markup dokumen atau serangkaian tag. SGML bukanlah 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 penggalian data pada data. Selain itu, database relasional tradisional cocok sebagai data XML karena dapat diatur dalam baris dan kolom, tetapi XML kurang mendukung data dengan konten yang kaya seperti audio, video, dokumen kompleks, dll. Database XML menyimpan data dalam bentuk terstruktur dan hierarki yang memungkinkan kueri diproses lebih efisien. Tag XML tidak ditentukan sebelumnya dan pengguna dapat menentukan tag dan struktur dokumen baru. Selain itu, bahasa internet baru seperti RSS, Atom, SOAP, dan XHTM dibuat menggunakan XML.
SGML
SGML didasarkan pada gagasan bahwa meskipun suatu dokumen dapat ditampilkan dengan tampilan yang berbeda tergantung pada media keluaran yang digunakan, ia mengandung beberapa elemen struktural dan semantik yang tidak berubah dengan mengacu pada bagaimana ia ditampilkan. Dokumen berbasis SGML dapat dibuat tanpa mempedulikan tampilan dokumen yang dapat berubah sewaktu-waktu, namun lebih memperhatikan struktur dokumen. Selanjutnya, kompiler SGML dapat menginterpretasikan dokumen apapun menggunakan DTD-nya, oleh karena itu dokumen-dokumen ini lebih mudah dibawa. Selain itu, dokumen berbasis SGML dapat dengan mudah diadaptasi ulang ke media yang berbeda (misalnya, dokumen yang ditujukan untuk media cetak dapat diadaptasi kembali 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 sekumpulan tag. XML sebenarnya adalah bahasa markup yang didasarkan pada SGML. Tapi XML memberlakukan beberapa batasan yang tidak ada di 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 bernama tidak diizinkan, dll. Selanjutnya, beberapa konstruksi seperti tag awal tidak tertutup, tag akhir tidak tertutup, tag awal kosong, tag akhir kosong yang diizinkan di SGML saat SHORTTAG YA, tidak diperbolehkan dalam XML. Selain itu, beberapa deklarasi SGML seperti DATATAG, OMITTAG, RANK,LINK (SIMPLE, IMPLICIT dan EXPLICIT), dll. Tidak diperbolehkan dalam XML.