It has (or will have) all the features you are requesting:
1) be open source
3) Edit XML
4) Supports context-sensitive addition, although contextual completion is simplistic but still useful
6) supports real-time XSLT formatting in the browser so you type in the XML editor and you see the XSLT-formated output (XHTML) immediately
Additionally, we use ShareJS (http://sharejs.org/) so that it is usable by several people at the same time (like Google Doc).
It is currently used to edit fairly long TEI documents, such as all the yearly reports of our institution (INRIA), up to about 200k characters.
Stay tuned, we will release it in a few months.