DTD does not know about namespaces and checks against "prefix:local-name".
E.g. the xhtml dtd will not accept this:
<h:html xmlns:h="http://www.w3.org/1999/xhtml"/>
If you want to change prefixes, use XML Schema or Relax NG.