I use web tools for all my XML editing needs (which, frankly, are many). One feature that I really love is the way that code complete works based on the current contents of the document. If I’ve embedded a <description> element inside a <resource> element, the next time I’m in a <resource> element and hit CTRL-space, one of the options is <description>. All this without a DTD or schema defined. How cool is that?