Valide um arquivo XML em um arquivo DTD local com Java

Como posso validar um arquivo XML em um DTD armazenado localmente como um arquivo? O arquivo XML não possui nenhuma declaração DOCTYPE (ou pode ter uma declaração que deve ser substituída). Eu dei uma olhadaesta discussão mas além do fato de que eles estão usando o .NET eu duvido que esta seja uma boa solução.

Qualquer entrada apreciada!