Um documento SGML pode ser dividido em três camadas: estrutura, conteúdo e estilo. Apesar de separar os três, o SGML lida principalmente com as interrelações entre estrutura e conteúdo num documento.
No coração de uma aplicação SGML está um arquivo chamado de DTD ou Definição do Tipo de Documento (Document Type Definition, em inglês). O DTD descreve a estrutura de um documento e é bem parecido com um banco de dados que descreve os tipos de de informação que guarda e a relação entre os campos que possui. Um DTD disponibiliza uma base para os elementos (capítulos, títulos de capítulos, seções e tópicos) que constituem um documento.
Um DTD também especifica regras para a relação entre os diversos elementos, por exemplo: um título de capítulo deve ser o primeiro elemento ao se iniciar um novo capítulo; ou cada lista deve conter um mínimo de dois ítens. Essas regras, definidas pelo DTD, asseguram que o documento tenha uma estrutura consistente e lógica. Um DTD acompanha um documento sempre. Uma "instância do documento" é um documento cujo conteúdo foi marcado de acordo com um DTD específico.
O conteúdo de um documento é a própria informação contida pelo mesmo. O conteúdo inclui títulos, parágrafos, listas, tabelas, gráficos e áudio.
O método de identificação da posição do conteúdo em um DTD é chamado de tagging.
A criação de um documento em SGML envolve a inserção de tags ao redor do conteúdo. Essas marcações indicam o início e o fim de uma determinada parte da estrutura. No exemplo a seguir, <par> indica o início de um parágrafo e </par> indica o seu final:
<par>
Conteúdo é a informação por si mesma.
</par>
Os elementos podem ser aninhados no interior de outros elementos fazendo com que se tenha o resultado desejado. A estrutura de um documento específico é revelada pelo aninhamento de suas marcações:
<section><subhead>Conteúdo</subhead>
<par>Conteúdo é a informação por si mesma.</par></section>
Felizmente, os seres humanos não precisam lidar com a digitação manual de todas essas marcações e com a posterior checagem para se ter certeza de que todas as marcações necessárias estão presentes. Algumas ferramentas para autoria em SGML possibilitam a entrada das marcações com cliques em menus que apresentam apenas as opções válidas naquele momento.
Esses programas baseiam-se em um módulo chamado parser que cuida para que o documento siga as regras definidas no DTD (O parser também é responsável por verificar que o DTD por si mesmo seja coerente).
O padrão SGML não se preocupa com a criação de estilos. Essa preocupação deu origem a diversos outros sistemas como o CALS, DSSSL ou o FOSI. Apenas como nota, a ISO aprovou em 1996 o DSSSL como padrão a ser usado junto com o SGML.