So James Clark (of expat, DSSSL, and probably many other things) has created a lovely new XML mode for GNU Emacs.
Anyone who knows me knows that I tend to waffle back and forth between loving and hating both vi and Emacs, but this, this is really really nice. If you do any amount of XML editing in Emacs, I suggest you check it out at once.