Eu usei historicamente o modo PSGML para editar HTML, e ele funciona admiravelmente bem. Ele tem um analisador interno, mas é um pouco limitado: você pode configurá-lo para usar um analisador SGML externo para análise e validação mais completas. Instalação e configuração é um pouco complicado, mas o manual do usuário é razoavelmente bem escrito e cobre o que você precisa para configurar os vários pedaços que você precisa (Emacs + os arquivos ELISP do modo PSGML + a declaração SGML apropriada, DTDs, entidade arquivos + o analisador SGML que você deseja usar).