Il markup è qualunque mezzo sia utilizzato per rendere esplicita una particolare interpretazione di un testo.
Il markup può assolvere diversi ruoli a seconda del sistema di elaborazione del testo:
Lo Standard Generalized Markup Language non è un linguaggio di markup ma uno standard per definire linguaggi di markup.
I linguaggi SGML devono possedere certe caratteristiche:
Un documento SGML è sempre composto da tre parti: dichiarazione SGML (specifica valori fondamentali come il set di caratteri usati, se omessa viene usata la dichiarazione di default), dichiarazione di documento (DOCTYPE, definisce le caratteristiche del documento) e l’istanza del documento (il documento vero e proprio).
Un documento SGML contiene i seguenti componenti: