JXMLPad is a java (cross-platfom) component for editing XML. It supports real time error, tree/text synchro and location. Syntax completion is context-sensitive (on location) for DTD, Schema and RelaxNG. Smart parsing will validate your document only if a DTD or Schema is detected. A lot of standard XML actions are provided (formatting, commenting, searching nodes...)