Diferencia entre SGML y XML

SGML vs XML

SGML (lenguaje de marcado generalizado estándar) es el estándar para codificar documentos en papel en un formato electrónico. Con la evolución de Internet, quedó claro que HTML ya no puede proporcionar la necesidad de contenido más dinámico, ya que ha alcanzado sus limitaciones. XML (Extensible Markup Language) es un lenguaje que se derivó de SGML y contiene un conjunto de funciones más limitado para simplificar el uso de los codificadores, ya que SGML es demasiado completo y complejo para el uso previsto. Dado que XML es simplemente un subconjunto de SGML, los analizadores SGML son capaces de leer y decodificar archivos XML válidos. Lo contrario no es necesariamente cierto, ya que los archivos SGML pueden tener características que el analizador XML no comprende.
Al ser un subconjunto, no habría ninguna característica en XML que no exista en SGML. Aquí hay una breve lista de lo que se ha eliminado.
Las siguientes declaraciones SGML ya no están permitidas en XML:

  • DATATAG
  • Omitir
  • RANGO
  • ENLAZAR
  • CONCURRIR
  • Subdoc
  • FORMAL

Las siguientes construcciones SGML ya no están permitidas en XML:

  • Etiquetas de inicio vacias
  • Etiquetas de extremo vacías
  • Etiquetas de inicio sin cerrar
  • Etiquetas finales sin cerrar

Especificaciones de atributos sin nombre
Los valores de atributo ingresados ​​directamente en la especificación de atributo no están permitidos y deben ingresarse en literales
Las siguientes declaraciones de entidad SGML ya no están permitidas en SGML

  • Entidades SDATA externas
  • Entidades SDATA internas
  • Entidades CDATA externas
  • Entidades CDATA internas
  • #DEFAULT entidades
  • Entidades PI
  • Entradas de texto entre corchetes

Ya no se le permite especificar atributos para entidades.
También se han realizado cambios en la forma en que los codificadores colocan comentarios en su código. Una declaración de comentario ya no puede tener más de un solo comentario. Una declaración de comentario vacío también ha sido rechazada. No se permite que un separador de parámetros contenga ningún comentario. Esto incluye cualquier declaración de marcado, excluyendo declaraciones de comentarios, por supuesto.
Resumen:
1.XML es un subconjunto de SGML
2.XML es más simple en comparación con SGML
3. Los documentos XML deben ser legibles con analizadores SGML, mientras que algunos SGML pueden producir errores en los analizadores XML
4.Una lista de declaraciones SGML ha sido eliminada en XML
5. Algunas construcciones que están permitidas en SGML ya no están permitidas en XML
6.Algunas entidades SGML ya no están permitidas en XML
7.Algunas prácticas de comentarios en SGML también han sido deshabilitadas en XML