Thanks for your extensive answer.
What is not clear to me is how icons for application-specific documents are handled.
To use the example you refer to:
[Desktop Entry]
Version=1.0
Type=Application
Name=Foo Viewer
Comment=The best viewer for Foo objects available!
TryExec=fooview
Exec=fooview %F
Icon=fooview
MimeType=image/x-foo;
The desktop icon for the application is specifed by `Icon=fooview`. But where/how to
specify the icon for `image/x-foo` documents?