Te explicamos la Diferencia entre SGML y XML con ejemplos y definiciones. Conoce todos los datos para distinguirlos fácilmente.

¿Cuál es la Diferencia entre SGML y XML?
SGML (Standard Generalized Markup Language) es la norma para codificar documentos en papel en un formato electrónico. Con la evolución de Internet, quedó claro que HTML ya no es capaz de satisfacer la necesidad de contenidos más dinámicos, pues ha alcanzado sus limitaciones. XML (Extensible Markup Language) es un lenguaje derivado de SGML que contiene un conjunto de características más limitado para simplificar su uso a los programadores, ya que SGML es demasiado amplio y complejo para el uso previsto. Dado que XML no es más que un subconjunto de SGML, los analizadores SGML son capaces de leer y descodificar archivos XML válidos. Sin embargo, lo contrario no es necesariamente cierto, ya que los archivos SGML pueden tener características que el analizador XML no entienda.
Al ser un subconjunto, no habría ninguna característica en XML que no existiera en SGML. He aquí una breve lista de lo que se ha eliminado.
Las siguientes declaraciones SGML ya no están permitidas en XML:
-DATATAG
-OMITTAG
-RANK
-ENLACE
-CONCUR
-SUBDOC
-FORMAL
Las siguientes construcciones SGML ya no están permitidas en XML:
-Etiquetas de inicio vacías
-Etiquetas finales vacías
-Etiquetas de inicio no cerradas
-Etiquetas finales no cerradas
Especificaciones de atributos sin nombre
Los valores de atributo introducidos directamente en la especificación de atributos no están permitidos y deben introducirse en literales
Las siguientes declaraciones de entidad SGML ya no están permitidas en SGML
-Entidades SDATA externas
-Entidades SDATA internas
-Entidades externas CDATA
-Entidades CDATA internas
-#DEFAULT entidades
-Entidades de IP
-Entradas de texto entre corchetes
Ya no es posible especificar atributos para las entidades.
También se han introducido cambios en la forma en que los programadores introducen comentarios en su código. Una declaración de comentario ya no puede tener más de un comentario. Tampoco se permite una declaración de comentario vacía. Los separadores de parámetros no pueden contener comentarios. Esto incluye cualquier declaración de marcado, excluyendo las declaraciones de comentario, por supuesto.
Resumen:
1.XML es un subconjunto de SGML
2.XML es más sencillo que SGML
3.Los documentos XML deben poder leerse con analizadores SGML, mientras que algunos SGML pueden producir errores en los analizadores XML.
4.Se ha eliminado una lista de declaraciones SGML en XML
5.Algunas construcciones permitidas en SGML ya no lo están en XML
6.Algunas entidades SGML ya no están permitidas en XML
7.Algunas prácticas de comentario en SGML también se han desautorizado en XML
