XML frente a SGML
XML son las siglas de EXtensible Markup Language. Está definido en la especificación XML 1.0, que es desarrollada por el W3C (World Wide Web Consortium). XML proporciona una forma estándar, que también es sencilla, de codificar datos y texto de modo que el contenido pueda intercambiarse entre el hardware del controlador, los sistemas operativos y las aplicaciones con poca intervención humana. SGML (Lenguaje de marcado generalizado estándar) es un estándar ISO (Organización internacional de normalización) para especificar un lenguaje de marcado de documentos o un conjunto de etiquetas. SGML no es un lenguaje de documentos, sino una definición de tipo de documento (DTD).
XML
XML es un lenguaje de marcado que se utiliza para transferir datos y texto entre el hardware del controlador, los sistemas operativos y las aplicaciones con poca intervención humana. XML proporciona etiquetas, atributos y estructuras de elementos que se pueden utilizar para proporcionar información de contexto. Esta información de contexto se puede utilizar para decodificar el significado del contenido. Esto hace posible desarrollar motores de búsqueda eficientes y realizar minería de datos en los datos. Además, las bases de datos relacionales tradicionales son adecuadas como datos XML porque podrían organizarse en filas y columnas, pero XML proporciona menos soporte para datos con contenido rico como audio, video, documentos complejos, etc. Las bases de datos XML almacenan datos en una forma estructurada y jerárquica. lo que permite procesar las consultas de manera más eficiente. Las etiquetas XML no están predefinidas y los usuarios pueden definir nuevas etiquetas y estructuras de documentos. Además, se crearon nuevos lenguajes de Internet como RSS, Atom, SOAP y XHTM utilizando XML.
SGML
SGML se basa en la idea de que, aunque un documento puede mostrarse con diferentes apariencias según el medio de salida utilizado, contiene algunos elementos estructurales y semánticos que no cambian con respecto a cómo se muestra. Los documentos basados en SGML se pueden crear sin preocuparse por la apariencia del documento, que puede cambiar con el tiempo, pero sin preocuparse por la estructura del documento. Además, el compilador SGML puede interpretar cualquier documento usando su DTD, por lo tanto, estos documentos proporcionan más portabilidad. Además, los documentos basados en SGML podrían readaptarse fácilmente a diferentes medios (por ejemplo, un documento destinado a un medio de impresión podría readaptarse para una pantalla de visualización).
¿Cuál es la diferencia entre XML y SGML?
Si bien XML es un lenguaje de marcado que se utiliza para transferir datos y texto entre el hardware del controlador, los sistemas operativos y las aplicaciones, SGML es un estándar ISO para especificar un lenguaje de marcado de documentos o un conjunto de etiquetas. XML es en realidad un lenguaje de marcado que se basa en SGML. Pero XML impone algunas restricciones que no están en SGML. Por ejemplo, XML impone las siguientes restricciones: las referencias a entidades deben cerrarse con un delimitador REFC, las referencias a entidades de datos externas en el contenido no están permitidas, las referencias de caracteres deben cerrarse con un delimitador REFC, las referencias a caracteres con nombre no están permitidas, etc. Además, Algunas construcciones, como etiquetas de inicio no cerradas, etiquetas de finalización no cerradas, etiquetas de inicio vacías, etiquetas de fin vacías que están permitidas en SGML cuando SHORTTAG es YES, no están permitidas en XML. Además, algunas declaraciones SGML como DATATAG, OMITTAG, RANK,LINK (SIMPLE, IMPLICIT y EXPLICIT), etc.no están permitidos en XML.