XML vs SGML
XML signifie un langage de balisage extensible. Il est défini dans le XML 1.0 Spécification, qui est développée par le W3C (World Wide Web Consortium). XML fournit un moyen standard, qui est également simple, pour coder les données et le texte de telle sorte que le contenu puisse être échangé sur 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 pour la normalisation) pour spécifier un langage de balisage de document ou un ensemble de balises. SGML n'est pas une langue 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ées 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 l'exploration 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 colonnes, mais XML fournit moins de prise en charge des données avec un contenu riche tel que l'audio, la vidéo, les documents complexes, etc. Les bases de données XML stockent les données dans une forme hiérarchique structurée qui permet de traiter les requêtes plus efficacement. Les balises XML ne sont pas prédéfinies et les utilisateurs peuvent définir de nouvelles balises et structures de documents. De plus, de nouvelles 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 en fonction du support de sortie utilisé, il contient des éléments structurels et sémantiques qui ne changent pas en référence à la façon dont il est affiché. Des documents basés sur SGML peuvent être créés sans préoccuper l'apparence du document qui peut changer les heures supplémentaires, mais concernant la structure du document. De plus, le compilateur SGML peut interpréter tout document à l'aide de son DTD, donc ces documents fournissent plus de portabilité. De plus, les documents basés sur SGML pourraient être facilement réadaptés à différents supports (par exemple, le document destiné à l'impression pourrait être lu pour un écran d'affichage).
Quelle est la différence entre XML et SGML?
Alors que XML est un langage de balisage qui est utilisé pour transférer les données et le 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 en 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 aux entités de données externes dans le contenu ne sont pas autorisées, les références de caractère doivent être fermées avec un délimiteur REFC, les références de caractères nommées ne sont pas autorisées, etc. En outre, certaines constructions telles que les marques de démarrage non clôturées, les éluent-étincelles non clôturées, les marais de démarrage vides, les étaux d'extrémité vides autorisés dans le SGML lorsque le shorttag est oui, ne sont pas autorisés dans XML. De plus, certaines déclarations SGML telles que Datatag, Omittag, Rank, Link (Simple, Implicit et Explicit), etc. ne sont pas autorisés dans XML.