la dtd non fa altro che dire al browser cosa trova dopo.
quindi non esiste una dtd giusta e una sbagliata.
devi scegliere quella che hai usato.
hai usato html 2.0? usa la sua dtd.
hai usato html 4.1? cerchi e usi la sua dtd.
usi i frame? userai una dtd frameset.

Tu avrai usato un linguaggio per fare la pagina, cerchi la dtd relativa a questa pagina

http://www.w3.org/QA/2002/04/valid-dtd-list.html

e decidi se usare la strict (che accetta solo tag e attributi di quella dtd) o transictional (di passaggio dalla dtd precedente, quindi accetta anche quelli precedenti).
poi copi il codice e lo usi.

la dtd che ti hanno postato può essere giusta come può essere sbagliatissima, sei tu che sai come hai scritto la pagina...