The 3DM tool is a tool for performing 3-way merging and differencing of XML files. Unlike line-based tools, such as diff and diff3, 3DM is aware of the structure of the processed XML documents. 3DM is not limited to update/insert/delete operations, it also handles moves and copies of entire subtrees. 3DM is not reliant on edit histories; the only input needed are the XML files. The tool was implemented as a part of my master's thesis (2.0M pdf, updated 26/12/2001, 3.9M .ps.gz, updated 26/12/20011) , which is the currently recommended reading for those interested in detailed examples (chapter 2 and 10) and the algorithms (chapters 5-9).
These web pages will probably be updated to be more extensive if enough interest for the tool arises :)URL: http://www.cs.hut.fi/~ctl/3dm/