SGML (Standard Generalized Markup Language) é um padrão para como especificar uma linguagem de marcação de documentos ou conjunto de tags. Tal especificação é por si só uma definição do tipo de documento (DTD). SGML não é em si mesma uma linguagem de documento, mas uma descrição de como especificar uma. É metadata.
SGML é baseado na idéia de que os documentos têm elementos estruturais e outros elementos semânticos que podem ser descritos sem referência a como tais elementos devem ser exibidos. A exibição real de tal documento pode variar, dependendo do meio de saída e das preferências de estilo. Algumas vantagens dos documentos baseados em SGML são:
- Podem ser criados pensando em termos de estrutura do documento em vez de características de aparência (que podem mudar com o tempo).
- Serão mais portáteis porque um compilador SGML pode interpretar qualquer documento por referência à sua definição de tipo de documento (DTD).
- Documentos originalmente destinados à mídia impressa podem ser facilmente readaptados para outras mídias, como a tela de exibição do computador.
A linguagem que este navegador web usa, Hypertext Markup Language (HTML), é um exemplo de uma linguagem baseada em SGML. Existe uma definição do tipo de documento para HTML (e ler a especificação HTML é efetivamente ler uma versão expandida da definição do tipo de documento). No atual ambiente de rede distribuído, muitos documentos estão sendo descritos com a Extensible Markup Language (XML), que é uma linguagem de descrição de dados (e um documento pode ser visto como uma coleção de dados) que usa princípios SGML.
SGML é um pouco baseada em linguagens de marcação generalizadas desenvolvidas anteriormente na IBM, incluindo General Markup Language (GML) e ISIL.