I think referencing the old message by content is not a good idea. First, there might have been another message with the exact same content. Second, it is unnecessary traffic. I'd recommend something like this:
<message id="bad"> <body>wrong message</body> </message> <message id="good"> <body>corrected message</body> <replaces id="bad"/> </message> This will also be backwards-compatible with clients that don't support it and the overhead is so minimal that you might even skip checking for that feature. -- Jonathan
