SGML verzus XML
SGML (Standard Generalized Markup Language) je štandard pre kódovanie papierových dokumentov do elektronického formátu. S vývojom internetu vyšlo najavo, že HTML už nie je schopné zabezpečiť dynamickejší obsah, pretože dosiahol svoje obmedzenia. XML (Extensible Markup Language) je jazyk, ktorý bol odvodený od SGML a obsahuje obmedzenejšiu sadu funkcií, aby sa uľahčilo použitie pre kodéry, pretože SGML je príliš komplexný a komplexný pre zamýšľané použitie. Pretože XML je jednoducho podmnožinou SGML, analyzátory SGML sú schopné čítať a dekódovať platné súbory XML. Opak nemusí byť nevyhnutne pravdou, aj keď súbory SGML môžu mať vlastnosti, ktorým syntaktický analyzátor XML nerozumie.
Ako podskupina by v XML neexistovala žiadna funkcia, ktorá v SGML neexistuje. Tu je krátky zoznam odstránených položiek.
Nasledujúce vyhlásenia SGML už nie sú v XML povolené:
Nasledujúce konštrukty SGML už nie sú povolené v XML:
Špecifikácie atribútov bez názvu
Priamo zadané hodnoty atribútov v špecifikácii atribútov nie sú povolené a mali by sa uvádzať v literáloch
Nasledujúce vyhlásenia entity SGML v SGML už nie sú povolené
Už nemôžete určovať atribúty pre entity.
Boli tiež vykonané zmeny v spôsobe, akým kódovatelia vkladajú komentáre do svojho kódu. Vyhlásenie o komentári už nemá viac ako jeden komentár. Zakázané bolo aj vyhlásenie prázdneho komentára. Oddeľovač parametrov je zakázaný, aby obsahoval akýkoľvek komentár. Toto samozrejme zahŕňa akékoľvek vyhlásenie o značke, s výnimkou vyhlásení o komentároch.
Zhrnutie:
1.XML je podmnožinou SGML
2.XML je v porovnaní s SGML jednoduchšie
3.XML dokumenty by mali byť čitateľné s analyzátormi SGML, zatiaľ čo niektoré SGML môžu spôsobiť chyby v analyzátoroch XML
4. Zoznam deklarácií SGML bol odstránený v XML
5. Niektoré konštrukty, ktoré sú povolené v SGML, už nie sú povolené v XML
6. Niektoré entity SGML už nie sú povolené v XML
7.V XML boli zakázané aj niektoré postupy pripomienkovania v SGML