XML contre SGML
XML signifie EXtensible Markup Language. Il est défini dans la spécification XML 1.0, qui est développée par le W3C (World Wide Web Consortium). XML fournit un moyen standard, qui est également simple, d'encoder des données et du texte de sorte que le contenu puisse être échangé entre le matériel du pilote, les systèmes d'exploitation et les applications avec peu d'intervention humaine. SGML (Standard Generalized Markup Language) est une norme ISO (Organisation internationale de normalisation) permettant de spécifier un langage de balisage de document ou un ensemble de balises. SGML n'est pas un langage de document mais une définition de type de document (DTD).
XML
XML est un langage de balisage utilisé pour transférer des données et du texte entre le matériel du pilote, les systèmes d'exploitation et les applications avec peu d'intervention humaine. XML fournit des balises, des attributs et des structures d'éléments qui peuvent être utilisés pour fournir des informations contextuelles. Ces informations de contexte peuvent être utilisées pour décoder la signification du contenu. Cela permet de développer des moteurs de recherche efficaces et d'effectuer une fouille de données sur les données. De plus, les bases de données relationnelles traditionnelles conviennent comme données XML car elles pourraient être organisées en lignes et en colonnes, mais XML offre moins de support pour les données au contenu riche telles que l'audio, la vidéo, les documents complexes, etc. Les bases de données XML stockent les données sous une forme structurée et hiérarchique. ce qui permet de traiter plus efficacement les requêtes. Les balises XML ne sont pas prédéfinies et les utilisateurs peuvent définir de nouvelles balises et structures de document. En outre, de nouveaux langages Internet tels que RSS, Atom, SOAP et XHTM ont été créés à l'aide de XML.
SGML
SGML est basé sur l'idée que même si un document peut être affiché avec des apparences différentes selon le support de sortie utilisé, il contient des éléments structurels et sémantiques qui ne changent pas en fonction de la façon dont il est affiché. Les documents basés sur SGML peuvent être créés sans se soucier de l'apparence du document qui peut changer au fil du temps, mais sans se soucier de la structure du document. De plus, le compilateur SGML peut interpréter n'importe quel document en utilisant sa DTD, donc ces documents offrent plus de portabilité. De plus, les documents basés sur SGML pourraient être facilement réadaptés à différents supports (par exemple, un document destiné à un support d'impression pourrait être réadapté pour un écran d'affichage).
Quelle est la différence entre XML et SGML ?
Alors que XML est un langage de balisage utilisé pour transférer des données et du texte entre le matériel du pilote, les systèmes d'exploitation et les applications, SGML est une norme ISO pour spécifier un langage de balisage de document ou un ensemble de balises. XML est en fait un langage de balisage basé sur SGML. Mais XML impose certaines restrictions qui ne sont pas dans SGML. Par exemple, XML impose les restrictions suivantes: les références d'entité doivent être fermées par un délimiteur REFC, les références à des entités de données externes dans le contenu ne sont pas autorisées, les références de caractères doivent être fermées par un délimiteur REFC, les références de caractères nommés ne sont pas autorisées, etc. De plus, certaines constructions telles que les balises de début non fermées, les balises de fin non fermées, les balises de début vides, les balises de fin vides qui sont autorisées dans SGML lorsque SHORTTAG vaut YES, ne sont pas autorisées dans XML. De plus, certaines déclarations SGML telles que DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT et EXPLICIT), etc. ne sont pas autorisées en XML.