Various modes exist to edit XML. See also: XmlParser.
The simplest mode to edit XML with is sgml-mode. It comes with Emacs.
It is no longer the default. To use it add the following to your InitFile.
(defalias 'xml-mode 'sgml-mode "Use `sgml-mode' instead of nXML's `xml-mode'.")
The biggest and greatest SGML mode will handle XML as well. See PsgmlMode.
psgmlx is a preconfigured set of popular elisp packages used for authoring SGML/XML and related documents with FSF/GNU Emacs.
NxmlMode was the next big thing in XML editing with Emacs. As of 2009-09-18 it became the default XML mode.
Tim Bray says:
“XML-poly is an XML parser on Emacs. Unlike the former xml.el, XML-poly treats XML names as symbols, of course it can distinguish them by their XML namespace URI.”
This package provides a simple indentation engine for XML. It is intended for use in situations where the full power of PsgmlMode (DTD parsing, syntax checking) is not required. xml-lite is designed to be used in conjunction with the default sgml-mode, to provide a lightweight XML-editing environment.
xml-lite.el has been merged with sgml-mode.el in Emacs CVS, and will be part of 22.1 when it is released.
The ultimate XML editing environment by PaulKinnucan. It enables you to use Emacs and a browser to create, transform, and display XML documents. The XAE requires Java.
A simple call to sgml-validate can also allow you to validate using a local application (e.g. xmllint) as indicated by this thread: http://lists.oasis-open.org/archives/docbook-apps/200211/msg00373.html.