From ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kio/DESIGN.mimetypes | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 kio/DESIGN.mimetypes (limited to 'kio/DESIGN.mimetypes') diff --git a/kio/DESIGN.mimetypes b/kio/DESIGN.mimetypes new file mode 100644 index 000000000..ffec64f44 --- /dev/null +++ b/kio/DESIGN.mimetypes @@ -0,0 +1,34 @@ +TODO: servicetypes +TODO: mimetypes + +Service type inheritance (X-KDE-Derived) +======================================== +X-KDE-Derived is for service types. ST1 derives from ST2 means ST1 is more specific than ST2. +If a service implements ST1, it also implements ST2, but not the other way round. + +For instance, KoDocument derives from KParts/ReadWritePart, which derives from KParts/ReadOnlyPart, +so KWord's part (which implements KoDocument) can be used as a readonly viewer for KWord files +in Konqueror (which looks for a KParts/ReadOnlyPart). + +Mimetype "inheritance" +====================== +We need a mechanism to also say that "text/xml is a special case of text/plain", +or "text/docbook is a kind of text/sgml", or "application/x-smb-workgroup is a kind +of inode/directory", etc. See below. + +Why mimetype "inheritance" doesn't use X-KDE-Derived +==================================================== +The confusing thing is that we said "a mimetype is a servicetype". But that's not exactly correct. +As Waldo noted, "the ability to open a mimetype" is what's a servicetype. +So if text/xml said X-KDE-Derived=text/plain (i.e. ST1=text/xml, ST2=text/plain), +then an application opening text/xml (ST1) could also open text/plain (ST2) - which is not necessarily true. + +We want the other way round: to be able to open special kinds of text/plain in a plain text editor. +This is what X-KDE-IsAlso was introduced for. X-KDE-IsAlso kind of "works the other way" than X-KDE-Derived. +If M1 is a special kind of M2 (mimetypes), then "the ability to open M2" derives from "the ability to open M1" +So we say in text/xml: X-KDE-IsAlso=text/plain, and applications that can open text/plain can also open text/xml. + +Pattern Accuracy +====================== +In some cases of inheritance several mimetypes shares the same extension (with the primary case being Ogg Multimedia files). +This has been solved sofar by matching the extension to most generic mimetype. To indicate that the mimetype can be refined further, the flag X-KDE-PatternsAccuracy can be set. The value to X-KDE-PatternsAccuracy is a number between 0-100, with 100 being the default if not set. Any values below 100 is interpreted as the possibility of further mimetype refinement. -- cgit v1.2.1