Rozdiel medzi SGML a XML

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é:

  • DATATAG
  • OMITTAG
  • RANK
  • LINK
  • zhodovať sa
  • SUBDOC
  • SLÁVNOSTNÉ

Nasledujúce konštrukty SGML už nie sú povolené v XML:

  • Prázdne štartovacie značky
  • Prázdne koncové značky
  • Neuzavreté štartovacie značky
  • Neuzavreté koncové značky

Š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é

  • Externé entity SDATA
  • Interné entity SDATA
  • Externé entity CDATA
  • Interné entity CDATA
  • #DEFAULT entity
  • Subjekty PI
  • Zadávanie textu v zátvorkách

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