Entretanto, para ser um pouco mais restritos, devemos esclarecer que o Doctype é o próprio de documentos XML e SGML, e portanto, as linguagens HTML ou XHTML são uns simples herdeiros de algo que já se vinha utilizando.
Temos que esclarecer também que DTD significa Definition Type Document e é uma declaração em uma metalinguagem para definir outra linguagem. Dito de outra maneira, o DTD marca as regras para a definição de linguagens como o HTML. Podemos conhecer mais o que é um DTD no artigo do manual de XML de CriarWeb.com: DTD e XML Schema.
Assim, voltando atrás, poderíamos dizer que os documentos HTML ou XHTML estão escritos em uma linguagem e com o Doctype especificamos esta linguagem e a versão da mesma. Os navegadores lerão esta declaração de doctype e interpretarão a página atendendo às regras definidas nessa linguagem.
De modo que a utilização da etiqueta é necessária se desejamos cumprir um padrão de HTML ou XHTML, para especificar que versão ou linguagem utilizamos e que o browser identifique a página conforme tal padrão.
O DOCTYPE tem uma forma como segue:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
O doctype deve se incluir na primeira linha do código HTML da página.
Por explicar de alguma maneira esta etiqueta, que parece meio complicada, diz que é um DOCTYPE de um documento HTML e nos dá dois dados adicionais. Com o texto "-//W3C//DTD XHTML 1.0 Transitional//EN" indicamos que este documento se tem que validar com a especificação de XHTML 1.0 e que o tipo de documento é Transitional. Por outra parte, http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd é a URL do DTD que serve para validar o código HTML da página.
O tipo de documento, que havíamos assinalado como Transitional no doctype expressado antes, quer dizer que o documento utiliza um leque mais amplo de etiquetas HTML e atributos, inclusive alguns que possam ter ficado obsoletos. Há outros dois tipos de documentos. Por um lado, temos strict, que indica que o código é HTML ou XHTML estrito, sem incluir atributos e etiquetas em desuso. O outro tipo de documento que falta é o frameset, que se utiliza quando estamos realizando uma declaração de frames ou frameset.
Portanto, dependendo de nossa página e do código que utilizarmos, teremos que declarar um ou outro doctype. Existem diversos Doctype que abrangem uma grande gama de possibilidades, configurando distintas versões de HTML ou XHTML e distintos tipos de documento, strict, transitional ou frameset. Este artigo de criarweb .com se completa agora com uma lista de alguns destes doctype mais utilizados atualmente:
Doctype XHTML 1.0 strict
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Doctype XHTML 1.0 transitional
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Doctype XHTML 1.0 frameset
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Doctype HTML 4.01 strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Doctype HTML 4.01 transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Doctype HTML 4.01 frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">