Diferença entre SGML e XML

SGML vs XML

SGML (Standard Generalized Markup Language) é o padrão para codificar documentos em papel em formato eletrônico. Com a evolução da Internet, ficou claro que o HTML não é mais capaz de fornecer a necessidade de conteúdo mais dinâmico, pois atingiu suas limitações. XML (Extensible Markup Language) é uma linguagem derivada do SGML e contém um conjunto de recursos mais limitados para simplificar o uso dos codificadores, pois o SGML é muito abrangente e complexo para o uso pretendido. Como XML é simplesmente um subconjunto de SGML, os analisadores de SGML são capazes de ler e decodificar arquivos XML válidos. O inverso não é necessariamente verdadeiro, pois os arquivos SGML podem ter recursos que o analisador XML não entende.
Sendo um subconjunto, não haveria recurso no XML que não exista no SGML. Aqui está uma pequena lista do que foi removido.
As seguintes declarações SGML não são mais permitidas no XML:

  • DATATAG
  • OMITTAG
  • CLASSIFICAÇÃO
  • LIGAÇÃO
  • CONCORDAR
  • SUBDOC
  • FORMAL

As seguintes construções SGML não são mais permitidas no XML:

  • Tags de início vazias
  • Tags finais vazias
  • Tags de início não fechadas
  • Tags finais não fechadas

Especificações de atributo sem nome
Valores de atributo inseridos diretamente na especificação de atributo não são permitidos e devem ser inseridos em literais
As seguintes declarações de entidade SGML não são mais permitidas no SGML

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

Você não tem mais permissão para especificar atributos para entidades.
Também foram feitas alterações na maneira como os codificadores colocam comentários em seu código. Uma declaração de comentário não pode mais ter mais de um único comentário. Uma declaração de comentário vazia também não foi permitida. Um separador de parâmetros não é permitido para conter qualquer comentário. Isso inclui qualquer declaração de marcação, excluindo declarações de comentários, é claro.
Resumo:
1.XML é um subconjunto de SGML
2.XML é mais simples em comparação com SGML
Os documentos 3.XML devem ser legíveis com analisadores SGML, enquanto alguns SGML podem produzir erros nos analisadores XML
4. Uma lista de declarações SGML foi removida no XML
5.Algumas construções permitidas no SGML não são mais permitidas no XML
6.Algumas entidades SGML não são mais permitidas em XML
7.Algumas práticas de comentários no SGML também não foram permitidas no XML