Differenza tra SGML e XML

SGML vs XML

SGML (Standard Generalized Markup Language) è lo standard per la codifica di documenti cartacei in formato elettronico. Con l'evoluzione di Internet, è diventato chiaro che l'HTML non è più in grado di fornire la necessità di contenuti più dinamici in quanto ha raggiunto i suoi limiti. XML (Extensible Markup Language) è un linguaggio derivato da SGML e contiene un set di funzionalità più limitato per rendere più semplice l'uso dei coder in quanto SGML è troppo completo e complesso per l'uso previsto. Poiché XML è semplicemente un sottoinsieme di SGML, i parser SGML sono in grado di leggere e decodificare file XML validi. Il contrario non è necessariamente vero anche se i file SGML potrebbero avere caratteristiche che il parser XML non capisce.
Essendo un sottoinsieme, non ci sarebbe alcuna caratteristica in XML che non esiste in SGML. Ecco una breve lista di ciò che è stato rimosso.
Le seguenti dichiarazioni SGML non sono più consentite in XML:

  • Datatag
  • OMITTAG
  • RANGO
  • LINK
  • CONCUR
  • SubDoc
  • FORMALE

I seguenti costrutti SGML non sono più consentiti in XML:

  • Empty start tags
  • Empty end tags
  • Tag di apertura non chiusi
  • Tag di chiusura non chiusi

Specifiche degli attributi senza nome
I valori degli attributi immessi direttamente nella specifica dell'attributo non sono consentiti e devono essere inseriti in letterali
Le seguenti dichiarazioni di entità SGML non sono più consentite in SGML

  • Entità SDATA esterne
  • Entità SDATA interne
  • Entità CDATA esterne
  • Entità CDATA interne
  • #DEFAULT entità
  • Entità PI
  • Voci di testo con bracketing

Non è più consentito specificare attributi per le entità.
Sono state apportate modifiche anche nel modo in cui i programmatori inseriscono commenti nel loro codice. Una dichiarazione di commento non è più consentita per avere più di un singolo commento. Una dichiarazione di commento vuota è stata anche respinta. Un separatore di parametri non consente di contenere alcun commento. Ciò include qualsiasi dichiarazione di markup, escluse le dichiarazioni di commento, ovviamente.
Sommario:
1.XML è un sottoinsieme di SGML
2.XML è più semplice rispetto a SGML
I documenti 3.XML dovrebbero essere leggibili con i parser SGML mentre alcuni SGML potrebbero produrre errori nei parser XML
4. Un elenco di dichiarazioni SGML è stato rimosso in XML
5. Alcuni costrutti consentiti in SGML non sono più consentiti in XML
6. Alcune entità SGML non sono più consentite in XML
7. Alcune pratiche di commento in SGML sono state anche vietate in XML