Razlika med SGML in XML

SGML proti XML

SGML (standardni splošni označni jezik) je standard za kodiranje papirnatih dokumentov v elektronski obliki. Z razvojem interneta je postalo jasno, da HTML ne more več zagotoviti potrebe po bolj dinamični vsebini, saj je dosegel svoje omejitve. XML (Extensible Markup Language) je jezik, ki je bil izpeljan iz SGML in vsebuje bolj omejen nabor funkcij, da bi bilo koderjem poenostavljena uporaba, saj je SGML preveč obsežen in zapleten za predvideno uporabo. Ker je XML preprosto podmnožica SGML, so SGML razčlenjevalci sposobni brati in dekodirati veljavne datoteke XML. Obratno ni nujno res, čeprav imajo datoteke SGML funkcije, ki jih razčlenjevalec XML ne razume.
Ker je podmnožica, v XML ne bi bilo nobene funkcije, ki ne obstaja v SGML. Tu je kratek seznam tega, kar je bilo odstranjeno.
Naslednje izjave SGML niso več dovoljene v XML:

  • DATATAG
  • OMITTAG
  • RANK
  • POVEZAVA
  • CONCUR
  • SUBDOC
  • OBRAZEC

Naslednji konstrukti SGML niso več dovoljeni v XML:

  • Prazne začetne oznake
  • Prazne končne oznake
  • Nepriključene začetne oznake
  • Neodprte končne oznake

Specifikacije lastnosti brez imena
Neposredno vnesene vrednosti atributa v specifikaciji atributa niso dovoljene in jih je treba vnašati v dobe
Naslednje izjave entitet SGML niso več dovoljene v SGML

  • Zunanji subjekti SDATA
  • Notranje entitete SDATA
  • Zunanji subjekti CDATA
  • Notranje entitete CDATA
  • #DEFAULT entitet
  • Entitete PI
  • Označeni besedilni vnosi

Ni več dovoljeno določiti atributov za entitete.
Spremembe so bile spremenjene tudi v načinu, kako kodirniki dodajo komentarje v svojo kodo. V deklaraciji komentarjev ni več dovoljeno imeti več kot en sam komentar. Tudi prazna izjava o komentarju ni bila dovoljena. Ločevalnik parametrov ne sme vsebovati nobenih komentarjev. To vključuje kakršno koli deklaracijo o markiranju, razen deklaracij komentarjev.
Povzetek:
1.XML je podvrsta SGML
2.XML je v primerjavi s SGML preprostejši
3.XML dokumenti morajo biti berljivi s parserji SGML, medtem ko lahko nekateri SGML povzročijo napake v razčlenjevalcih XML
4. Seznam XML deklaracij je bil odstranjen v XML
5. Nekateri konstrukti, ki so dovoljeni v SGML, niso več dovoljeni v XML
6. Nekateri subjekti SGML niso več dovoljeni v XML
7. Nekatere prakse komentarjev v SGML so bile v XML prepovedane