Arbortext Architect might have some functionality that would help this, in that if you try to compile an XML doctype as SGML, it might start spitting out errors that you could fix one-at-a-time to eventually get you there. Even if you don't have or can't get Architect, you could probably just try renaming and compiling an xml doctype in Arbortext Editor and you might still get similar errors. If any of this works at all, sometimes the errors might be cryptic, so some SGML/XML knowledge would be useful in deciphering the error messages.