I created a macro at one point using Macro Express that parsed the XML information from the copy thought function and printed the thought name and attached notes. I think after the 5x upgrade it stopped working and I haven't gone back and updated it.
I also started looking at creating another Macro to automatically create thoughts based on a prompt field (mainly for quick entry).
I found that the hardest part would be referring attachments (for example web pages) to the thought, as they are joined by an identifier (I believe the original thought GUID). This would have required me to assign a GUID at the creation point, and I didn't want to take the time to figure out how to create a random character generator with a macro.
Another issue was the linking it to another thought. There are two identifiers (A and B) in addition to the GUID. I'm not sure if I took the time to see if they reconciled to the two thought GUIDs they linked to.
You have already found it, but the xml definition file for the format is available at:
Edit: The link will not work by clicking it directly from here. Paste it directly into your browser and it will download the definition file.
Java SE 6