Diferença Entre XML e SGML
XML vs SGML
XML significa linguagem de marcação extensiva. É definido na especificação XML 1. 0, que é desenvolvida pelo W3C (World Wide Web Consortium). O XML fornece uma maneira padrão, que também é simples, codificar dados e texto, de modo que o conteúdo possa ser trocado em hardware, sistemas operacionais e aplicativos com pouca intervenção humana. O SGML (Standard Generalized Markup Language) é um padrão ISO (International Organization for Standardization) para especificar uma linguagem de marcação de documento ou um conjunto de tags. O SGML não é um idioma de documento, mas uma definição de tipo de documento (DTD).
XML
XML é uma linguagem de marcação que é usada para transferir dados e texto entre hardware de driver, sistemas operacionais e aplicativos com pouca intervenção humana. O XML fornece tags, atributos e estruturas de elementos que podem ser usados para fornecer informações de contexto. Esta informação de contexto pode ser usada para decodificar o significado do conteúdo. Isso torna possível desenvolver mecanismos de pesquisa eficientes e executar a mineração de dados nos dados. Além disso, os bancos de dados relacionais tradicionais são adequados como dados XML, pois podem ser organizados em linhas e colunas, mas XML fornece menos suporte para dados com conteúdo rico, como áudio, vídeo, documentos complexos, etc. Os bancos de dados XML armazenam dados de forma estruturada e hierárquica que permite que as consultas sejam processadas de forma mais eficiente. As tags XML não são predefinidas e os usuários podem definir novas tags e estruturas de documentos. Além disso, novas linguagens de internet, como RSS, Atom, SOAP e XHTM foram criadas usando XML.
SGML
O SGML baseia-se na ideia de que, mesmo que um documento possa ser exibido com diferentes aparências dependendo do meio de saída utilizado, ele contém alguns elementos estruturais e semânticos que não mudam com referência para como ele é exibido. Os documentos baseados em SGML podem ser criados sem informações sobre a aparência do documento, que pode mudar as horas extras, mas sobre a estrutura do documento. Além disso, o compilador SGML pode interpretar qualquer documento usando sua DTD, portanto, esses documentos fornecem mais portabilidade. Além disso, os documentos baseados no SGML podem ser facilmente adaptados a diferentes mídias (por exemplo, o documento destinado ao meio de impressão pode ser readaptado para uma tela de exibição).
Qual a diferença entre XML e SGML?
Enquanto o XML é uma linguagem de marcação que é usada para transferir dados e texto entre o hardware do driver, sistemas operacionais e aplicativos, o SGML é um padrão ISO para especificar uma linguagem de marcação de documento ou um conjunto de tags. O XML é realmente uma linguagem de marcação baseada no SGML. Mas o XML impõe algumas restrições que não estão no SGML. Por exemplo, XML impõe as seguintes restrições: as referências de entidade devem ser fechadas com um delimitador do REFC, não são permitidas referências a entidades de dados externas em conteúdo, as referências de caracteres devem ser fechadas com um delimitador de REFC, as referências de personagens não são permitidas, etc.Além disso, algumas construções, como marcas de início não fechadas, tags de extremidade não fechadas, tags de início vazias, tags de extremidade vazias que são permitidas no SGML quando SHORTTAG é SIM, não são permitidas em XML. Além disso, algumas declarações SGML, como DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT e EXPLICIT), etc. não são permitidas em XML.