Hi
The simplest way to achieve what you want is to make the third-party data source your main data source (as you are not utilising any other databases), that way the third party data can publish into the form. Then do not submit the data back to the database but rather on email as an XML file. It will sit in their outbox until networked at which point the .XML file is submitted via email.
If you choose not to do this then the user could click 'Save' or 'Save As' to create an output .XML file, this however would contain no routing. Furthermore, you can write code before the save operation and after the save operation by going into Form Options, 'Open and Save' and then tick 'save using custom code'
I hope this helps
Adam (Cardiff)