SGML (Standard Generalized Markup Language) è uno standard per come specificare un linguaggio di markup del documento o un set di tag. Tale specifica è essa stessa una definizione del tipo di documento (DTD). SGML non è di per sé un linguaggio per documenti, ma una descrizione di come specificarne uno. Sono metadati.
SGML si basa sull'idea che i documenti abbiano elementi strutturali e altri elementi semantici che possono essere descritti senza riferimento a come tali elementi dovrebbero essere visualizzati. La visualizzazione effettiva di un documento di questo tipo può variare a seconda del supporto di output e delle preferenze di stile. Alcuni vantaggi dei documenti basati su SGML sono:
- Possono essere creati pensando in termini di struttura del documento piuttosto che di caratteristiche dell'aspetto (che possono cambiare nel tempo).
- Saranno più portabili perché un compilatore SGML può interpretare qualsiasi documento in riferimento alla sua definizione del tipo di documento (DTD).
- I documenti originariamente destinati al supporto di stampa possono essere facilmente riadattati per altri supporti, come lo schermo del computer.
Il linguaggio utilizzato da questo browser Web, Hypertext Markup Language (HTML), è un esempio di linguaggio basato su SGML. Esiste una definizione del tipo di documento per HTML (e leggere la specifica HTML è effettivamente leggere una versione espansa della definizione del tipo di documento). Nell'ambiente di rete distribuito odierno, molti documenti vengono descritti con l'Extensible Markup Language (XML) che è un linguaggio di descrizione dei dati (e un documento può essere visto come una raccolta di dati) che utilizza i principi SGML.
SGML si basa in qualche modo sui precedenti linguaggi di markup generalizzati sviluppati presso IBM, inclusi General Markup Language (GML) e ISIL.