XML vs SGML
XML bermaksud Bahasa Markah yang Boleh Diperluas. Ini ditentukan 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 kandungannya dapat ditukar di seluruh perkakasan pemandu, sistem operasi dan aplikasi dengan sedikit campur tangan manusia. SGML (Standard Generalized Markup Language) adalah standard ISO (International Organisation for Standardization) untuk menentukan bahasa markup dokumen atau sekumpulan tag. SGML bukan bahasa dokumen tetapi Definisi Jenis Dokumen (DTD).
XML
XML adalah bahasa markup yang digunakan untuk memindahkan data dan teks antara perkakasan pemacu, sistem operasi dan aplikasi dengan sedikit campur tangan manusia. XML menyediakan teg, atribut dan struktur elemen yang dapat digunakan untuk memberikan maklumat konteks. Maklumat konteks ini dapat digunakan untuk menyahkod makna kandungan. Ini memungkinkan untuk mengembangkan enjin carian yang cekap dan melakukan perlombongan data pada data. Tambahan pula, pangkalan data hubungan tradisional sesuai sebagai data XML kerana dapat disusun dalam baris dan lajur tetapi XML kurang memberikan sokongan untuk data dengan kandungan yang kaya seperti audio, video, dokumen kompleks, dll. Pangkalan data XML menyimpan data dalam bentuk hierarki yang terstruktur yang membolehkan pertanyaan diproses dengan lebih berkesan. 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 bahawa walaupun dokumen dapat ditampilkan dengan penampilan yang berbeza-beza bergantung pada media keluaran yang digunakan, ia mengandungi beberapa elemen struktur dan semantik yang tidak berubah dengan merujuk kepada bagaimana ia dipaparkan. Dokumen berdasarkan SGML dapat dibuat tanpa menyangkut tentang penampilan dokumen yang dapat berubah lembur, tetapi mengenai struktur dokumen. Selanjutnya, penyusun SGML dapat menafsirkan sebarang dokumen menggunakan DTDnya, oleh itu dokumen-dokumen ini memberikan lebih banyak kemudahan. Juga, dokumen berdasarkan SGML dapat dengan mudah disesuaikan kembali ke media yang berbeda (misalnya, dokumen yang dimaksudkan untuk media cetak dapat dibaca kembali untuk layar tampilan).
Apakah perbezaan antara XML dan SGML?
Walaupun XML adalah bahasa markup yang digunakan untuk memindahkan data dan teks antara perkakasan pemacu, sistem operasi dan aplikasi, SGML adalah standard ISO untuk menentukan bahasa markup dokumen atau sekumpulan tag. XML sebenarnya adalah bahasa markup yang berdasarkan SGML. Tetapi XML mengenakan beberapa sekatan yang tidak terdapat dalam SGML. Sebagai contoh, XML mengenakan sekatan berikut: rujukan entiti mesti ditutup dengan pembatas REFC, rujukan ke entiti data luaran dalam kandungan tidak dibenarkan, rujukan watak mesti ditutup dengan pembatas REFC, rujukan watak bernama tidak dibenarkan, dan lain-lain. beberapa konstruk seperti tag permulaan yang tidak ditutup, tag akhir yang tidak ditutup, tag permulaan kosong, tag akhir kosong yang dibenarkan dalam SGML ketika SHORTTAG YA, tidak dibenarkan dalam XML. Selain itu, beberapa pernyataan SGML seperti DATATAG, OMITTAG, RANK,LINK (SIMPLE, IMPLICIT dan EXPLICIT), dsb. Tidak dibenarkan dalam XML.