The diff format is more or less the de facto standard for representing differences between texts and is widely used by programmers to distribute source code changes. Most version control systems can output diffs, and diffs are used to discuss proposed changes to text (e.g. source code) since they are very powerful in illustrating the changes.
However, I would often like to simply comment on a text without changing it, and would like a data format which can represent annotations to text in a way that is as powerful as diff is for changes. A typical use case would be a code review where I want to comment on the code but not (yet) propose any changes. Another use case would be to annotate an article with my own thoughts and reminders. In Word, I can annotate text by marking it and creating a comment balloon beside the text. But Word is cumbersome in other ways – I would like to have just the annotations in a separate file and keep the originals as they are.
What data formats exist that can represent annotations to text in a way that is as exact as a diff is for changes?
I'm not looking for general answers like "XML". I'm looking for formats that explicitly represent annotations to text. (Perhaps no such format exists except the application-specific formats of certain programs like Word.)