For WYSISWG -- check out XML Mind XML Editor at
http://www.xmlmind.com/ Works for me in most cases (except for nested docs).
In case of Emacs, I've moved away from psgml onto nxml mode -- it feels lighter, albeit not all the nice hooks are in yet. It is based around RelaxNG, instead of DTDs.