Razlika med XML in SGML

XML proti SGML

XML pomeni Extensible Markup Language. Opredeljen je v specifikaciji XML 1.0, ki jo je razvil W3C (World Wide Web Consortium). XML ponuja standardni način, ki je preprost tudi za kodiranje podatkov in besedila, tako da se lahko vsebina izmenja v strojni opremi gonilnikov, operacijskih sistemih in aplikacijah z malo človeškega posredovanja. SGML (Standard Generalilized Markup Language) je standard ISO (Mednarodna organizacija za standardizacijo) za določitev jezika označevanja dokumenta ali nabora oznak. SGML ni jezik dokumenta, ampak definicija vrste dokumenta (DTD).

XML

XML je označevalni jezik, ki se uporablja za prenos podatkov in besedila med strojno opremo gonilnika, operacijske sisteme in aplikacije z malo človeškega posredovanja. XML ponuja oznake, atribute in strukture elementov, ki jih lahko uporabimo za zagotavljanje informacij o kontekstu. Te kontekstne informacije se lahko uporabijo za dekodiranje pomena vsebine. To omogoča razvoj učinkovitih iskalnikov in izvajanje podatkovnega rudarjenja podatkov. Poleg tega so tradicionalne relacijske baze podatkov primerne kot XML podatki, ker jih je mogoče organizirati v vrstice in stolpce, vendar XML nudi manj podpore za podatke z bogato vsebino, kot so avdio, video, zapleteni dokumenti itd. XML baze podatkov shranjujejo podatke v strukturirani, hierarhični obliki kar omogoča učinkovitejše obdelavo poizvedb. Oznake XML niso vnaprej določene in uporabniki lahko določijo nove oznake in strukture dokumentov. Prav tako so bili z uporabo XML ustvarjeni novi internetni jeziki, kot so RSS, Atom, SOAP in XHTM.

SGML

SGML temelji na ideji, da čeprav je dokument mogoče prikazati z različnimi pojavnostmi, odvisno od uporabljenega izhodnega medija, vsebuje nekaj strukturnih in pomenskih elementov, ki se ne spreminjajo glede na to, kako je prikazan. Dokumente, ki temeljijo na SGML, je mogoče ustvariti brez pomislekov glede videza dokumenta, ki se lahko spreminja nadure, vendar glede strukture dokumenta. Nadalje lahko prevajalnik SGML razlaga kateri koli dokument s pomočjo DTD, zato ti dokumenti omogočajo večjo prenosljivost. Tudi dokumente, ki temeljijo na SGML, je mogoče enostavno ponovno prilagoditi različnim medijem (na primer dokument, namenjen tiskalnemu mediju, bi bilo mogoče ponovno prilagoditi za prikazni zaslon).

Kakšna je razlika med XML in SGML?

Medtem ko je XML označevalni jezik, ki se uporablja za prenos podatkov in besedila med strojno opremo gonilnika, operacijske sisteme in aplikacije, je SGML standard ISO za določanje jezika označevanja dokumenta ali nabora oznak. XML je pravzaprav označevalni jezik, ki temelji na SGML. Toda XML nalaga nekatere omejitve, ki niso v SGML. Na primer, XML nalaga naslednje omejitve: reference referenc morajo biti zaprte z ločevalnikom REFC, sklici na zunanje podatkovne entitete v vsebini niso dovoljeni, sklici znakov morajo biti zaprti z ločevalnikom REFC, imenovani sklici znakov niso dovoljeni itd. nekatere konstrukcije, kot so neprti zagonski oznaki, nezaprte končne oznake, prazne začetne oznake, prazne končne oznake, ki so v SGML dovoljene, kadar je SHORTTAG DA, v XML niso dovoljene. Poleg tega nekatere deklaracije SGML, kot so DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT in EXPLICIT), itd niso dovoljene v XML.