Я думаю, что проблема с MSXML 6 заключается в том, что по умолчанию он не допускает DTD и не загружает их (или любые внешние ресурсы в целом).Поэтому, чтобы избежать сообщения о проверке, вам нужно установить оба (я использую синтаксис JScript, пожалуйста, настройте ваш язык по выбору):
xmlTransformedResult.resolveExternals = true;
xmlTraansformedResult.setProperty('ProhibitDTD', false);
Тогда я думаю, что вы не получите ошибку проверки.По крайней мере, до тех пор, пока W3C будет обслуживать файлы DTD XHTML, я думаю, что когда вы делаете это программно много, вы можете получить ошибки, но это не зависит от MSXML, это просто политика W3C, чтобы избежать слишком большого трафика наих серверы все выбирают такие DTD.