SGML vs XML
SGML (standardni generalizirani jezik za označavanje) je standard za kodiranje papirnatih dokumenata u elektronički format. S razvojem interneta postalo je jasno da HTML više nije u stanju pružiti potrebu za dinamičnijim sadržajem jer je dosegao svoja ograničenja. XML (Extensible Markup Language) jezik je koji je izveden iz SGML-a i sadrži ograničeniji skup značajki da bi se koderima pojednostavilo korištenje jer je SGML previše opsežan i složen za namjeravanu upotrebu. Budući da je XML jednostavno podskup SGML-a, SGML analizatori mogu čitati i dekodirati važeće XML datoteke. Obrnuto nije nužno istina iako SGML datoteke mogu imati značajke koje XML parser ne razumije.
Budući da je podskup, u XML-u ne postoji značajka koja ne postoji u SGML-u. Evo kratkog popisa onoga što je uklonjeno.
Sljedeće SGML deklaracije više nisu dopuštene u XML-u:
Sljedeći SGML konstrukti više nisu dopušteni u XML-u:
Specifikacije svojstava bez imena
Izravno unesene vrijednosti atributa u specifikaciji atributa nisu dopuštene i treba ih unijeti u literale
Sljedeće deklaracije SGML entiteta više nisu dopuštene u SGML-u
Više vam nije dopušteno određivanje atributa za entitete.
Promjene su također napravljene u načinu na koji koderi stavljaju komentare u svoj kod. U izjavi za komentar više nije dopušteno imati više od jednog komentara. Prazna izjava komentara također je onemogućena. Razdjeljivač parametara ne smije sadržavati komentare. To uključuje i svaku deklaraciju o markupu, naravno isključujući izjave komentara.
Sažetak:
1.XML je podskup SGML-a
2.XML je jednostavniji u usporedbi sa SGML-om
3.XML dokumenti trebaju biti čitljivi sa SGML parserima, dok neki SGML mogu stvoriti pogreške u XML parserima
4. Popis deklaracija SGML-a uklonjen je u XML-u
5. Neke konstrukcije koje su dopuštene u SGML-u više nisu dopuštene u XML-u
6. Neki XML entiteti više nisu dopušteni u XML-u
7. Neke prakse komentara u SGML-u također su onemogućene u XML-u