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 les données et le texte de telle 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 (International Organization for Standardization) 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 de contexte. 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 exploration de données sur les données. En outre, les bases de données relationnelles traditionnelles conviennent en tant que données XML car elles peuvent être organisées en lignes et en colonnes, mais XML fournit moins de support pour les données avec un contenu riche tel que l'audio, la vidéo, des documents complexes, etc. Les bases de données XML stockent les données sous une forme structurée et hiérarchique qui permet aux requêtes d'être traitées plus efficacement. Les balises XML ne sont pas prédéfinies et les utilisateurs peuvent définir de nouvelles balises et structures de document. De plus, 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 avec le temps, mais 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é. En outre, 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 permettant de 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 avec 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 avec un délimiteur REFC, les références de caractères nommées ne sont pas autorisées, etc. 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 est OUI, 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és en XML.