Perbezaan Antara SGML dan XML

SGML vs XML

SGML (Standard Generalized Markup Language) adalah standard untuk pengekodan dokumen kertas ke format elektronik. Dengan evolusi internet, menjadi jelas bahawa HTML tidak lagi dapat memberikan keperluan untuk kandungan yang lebih dinamik kerana ia telah mencapai batasannya. XML (Extensible Markup Language) adalah bahasa yang berasal dari SGML dan mengandungi set ciri yang lebih terhad untuk menjadikannya lebih mudah bagi coder untuk digunakan kerana SGML terlalu komprehensif dan kompleks untuk kegunaan yang dimaksudkan. Oleh kerana XML hanyalah subset dari SGML, parser SGML mampu membaca dan menyahkod fail XML yang sah. Sebaliknya tidak semestinya benar walaupun sebagai fail SGML mungkin mempunyai ciri-ciri yang parser XML tidak faham.
Sebagai subset, tidak akan ada ciri dalam XML yang tidak wujud dalam SGML. Berikut adalah senarai ringkas mengenai apa yang telah dikeluarkan.
Deklarasi SGML berikut tidak lagi dibenarkan dalam XML:

  • DATATAG
  • OMITTAG
  • RANK
  • LINK
  • SETUJU
  • SUBDOC
  • RASMI

Pembinaan SGML berikut tidak lagi dibenarkan dalam XML:

  • Tanda permulaan kosong
  • Tag akhir kosong
  • Tag permulaan yang tidak dilampirkan
  • Tag akhir tidak terkandung

Spesifikasi sifat tanpa nama
Nilai atribut yang dimasukkan secara terus dalam spesifikasi atribut tidak dibenarkan dan harus dimasukkan dalam literal
Perisytiharan entiti SGML berikut tidak lagi dibenarkan dalam SGML

  • Entiti SDATA luaran
  • Entiti SDATA dalaman
  • Entiti CDATA luaran
  • Entiti CDATA dalaman
  • Entiti #DEFAULT
  • Entiti PI
  • Penyertaan teks kurungan

Anda tidak lagi dibenarkan menentukan sifat untuk entiti.
Perubahan juga telah dibuat dengan cara coders meletakkan komen ke dalam kod mereka. Pengisytiharan komen tidak lagi dibenarkan untuk mempunyai lebih daripada satu komen. Pengisytiharan komen kosong juga telah tidak dibenarkan. Pemisah parameter tidak dibenarkan mengandungi sebarang komen. Ini termasuk mana-mana perisytiharan markup, tidak termasuk pengumuman komen, sudah tentu.
Ringkasan:
1.XML adalah subset dari SGML
2.XML adalah lebih mudah berbanding dengan SGML
3.XML dokumen harus dibaca dengan parser SGML sementara beberapa SGML mungkin menghasilkan ralat dalam XML parsers
4.A senarai perisytiharan SGML telah dikeluarkan dalam XML
5. Beberapa pembinaan yang dibenarkan dalam SGML tidak lagi dibenarkan dalam XML
6. Entiti SGML yang lain tidak lagi dibenarkan dalam XML
7. Beberapa amalan komen di SGML juga telah tidak dibenarkan dalam XML