XML significa lenguaje de marcado extensible. Está definido en la especificación XML 1.0, desarrollada por el W3C (World Wide Web Consortium). XML proporciona una forma estándar, que también es simple, de codificar datos y texto. SGML (Lenguaje de marcado generalizado estándar) es un estándar ISO (Organización internacional de estandarización) para especificar un lenguaje de marcado de documentos o un conjunto de etiquetas. SGML no es un lenguaje de documento sino una Definición de tipo de documento (DTD).
XML proporciona etiquetas, atributos y estructuras de elementos que se pueden usar para proporcionar información de contexto. Esta información de contexto se puede utilizar para decodificar el significado del contenido. Las bases de datos XML almacenan datos en una forma jerárquica estructurada lo que permite que las consultas se procesen de manera más eficiente.
SGML se basa en la idea de que, aunque un documento se puede mostrar con diferentes aspectos dependiendo del medio de salida utilizado, contiene algunos elementos estructurales y semánticos que no cambian con referencia a cómo se muestra. Además, el compilador SGML puede interpretar cualquier documento usando su DTD, por lo tanto, estos documentos proporcionan más portabilidad.
Si bien XML es un lenguaje de marcado que se utiliza para transferir datos y texto, 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. Además, algunas construcciones como etiquetas de inicio no cerradas, etiquetas de finalización no cerradas, etiquetas de inicio vacías, etiquetas de finalización vacías que están permitidas en SGML no están permitidas en XML.