The behavior I have observed is that the file-fragment's name is appended with .filepart until the transfer is complete, at which time the .filepart is removed and the destination file has its final name. This may only occur for files larger that 2k (if I remember correctly, the default minimum size for allowing transfer resumes). So for example, xmlfile20070517.xml would be saved at the destination as xmlfile20070517.xml.filepart until the transfer was complete, then renamed to xmlfile20070517.xml. XML files are probably in some cases smaller than 2k, so it's possible your monitoring script could grab the incomplete file. The easiest workaround, I imagine, would be to have the monitoring application wait X seconds after detecting a new file before beginning to process it. (You would naturally choose X to be large enough to allow the transfer to complete in whatever worst-case scenario you imagine.)
OpenSSH doesn't do this to my knowledge, but other SSH servers offer "trigger" functionality that will perform an action on logout, or after the transfer of a file completes.
OpenSSH doesn't do this to my knowledge, but other SSH servers offer "trigger" functionality that will perform an action on logout, or after the transfer of a file completes.