You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
2.2 KiB
35 lines
2.2 KiB
TODO: servicetypes
|
|
TODO: mimetypes
|
|
|
|
Service type inheritance (X-TDE-Derived)
|
|
========================================
|
|
X-TDE-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-TDE-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-TDE-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-TDE-IsAlso was introduced for. X-TDE-IsAlso kind of "works the other way" than X-TDE-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-TDE-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-TDE-PatternsAccuracy can be set. The value to X-TDE-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.
|