Différence entre SGML et XML

SGML vs XML

SGML (Standard Generalized Markup Language) est la norme pour l'encodage de documents papier dans un format électronique. Avec l'évolution d'Internet, il est devenu évident que HTML n'était plus en mesure de fournir le besoin de contenu plus dynamique car il avait atteint ses limites. XML (Extensible Markup Language) est un langage dérivé de SGML. Il contient un ensemble de fonctionnalités plus limité afin de simplifier son utilisation par les codeurs, car SGML est trop complet et complexe pour l'utilisation envisagée. Puisque XML est simplement un sous-ensemble de SGML, les analyseurs syntaxiques SGML sont capables de lire et de décoder des fichiers XML valides. L'inverse n'est pas nécessairement vrai, car les fichiers SGML peuvent avoir des fonctionnalités que l'analyseur XML ne comprend pas..
Étant un sous-ensemble, il n'y aurait pas de fonctionnalité dans XML qui n'existe pas dans SGML. Voici une courte liste de ce qui a été supprimé.
Les déclarations SGML suivantes ne sont plus autorisées en XML:

  • DATATAG
  • OMITTAG
  • RANG
  • LIEN
  • CONCUR
  • SUBDOC
  • FORMEL

Les constructions SGML suivantes ne sont plus autorisées en XML:

  • Balises de démarrage vides
  • Étiquettes de fin vides
  • Balises de départ non fermées
  • Balises de fin non fermées

Spécifications d'attribut sans nom
Les valeurs d'attribut saisies directement dans la spécification d'attribut ne sont pas autorisées et doivent être saisies en littéraux
Les déclarations d'entité SGML suivantes ne sont plus autorisées dans SGML

  • Entités SDATA externes
  • Entités SDATA internes
  • Entités CDATA externes
  • Entités CDATA internes
  • Entités # DEFAULT
  • Entités PI
  • Entrées de texte entre crochets

Vous n'êtes plus autorisé à spécifier des attributs pour des entités.
Des modifications ont également été apportées à la manière dont les codeurs insèrent des commentaires dans leur code. Une déclaration de commentaire ne peut plus avoir plus d'un commentaire. Une déclaration de commentaire vide a également été refusée. Un séparateur de paramètre n'est pas autorisé à contenir des commentaires. Cela inclut toute déclaration de balisage, à l’exclusion des déclarations de commentaires.
Résumé:
1.XML est un sous-ensemble de SGML
2.XML est plus simple comparé à SGML
Les documents 3.XML doivent être lisibles avec les analyseurs SGML, tandis que certains SGML peuvent générer des erreurs dans les analyseurs XML.
4.Une liste de déclarations SGML a été supprimée en XML
5. Certaines constructions autorisées dans SGML ne sont plus autorisées dans XML
6. Certaines entités SGML ne sont plus autorisées dans XML
7. Certaines pratiques de commentaire dans SGML ont également été interdites dans XML