MIME subclasses

Jonathan Blandford jrb at redhat.com
Fri Oct 3 22:15:04 EEST 2003

David Faure <dfaure at trolltech.com> writes:

> As I said previously: mimetype inheritance is needed, with a much more 
> flexible model than "image/gif is an image".

Right.  mime-types are inherently inflexible, and we all spend a lot of
time and energy dealing with their shortcomings.  It sucks, but is the
universe of categorization that we're handed.[1]
> Examples:
> - many mimetypes are actually specializations of text/plain
>  (and not all are called text/*. For instance application/x-perl etc.)
> - OpenOffice files and KOffice files are specializations of application/x-zip
> (this allows to offer a zip utility for office documents)
> - (implicitely) all mimetypes except inode/* are specializations of application/octet-stream
> (saying this allows to bind them all to an hex editor at the bottom of the offers list)
> - text/xml is a specialization of SGML (if sgml tools apply to xml)
> - text/docbook is a specialization of XML (yes, I know that text/docbook is not the
> standard name, but you get the idea)
> etc. etc.

My problem with this isn't the fact that we need a way to see multiple
facets of a file, but it's that we're applying the inheritance to the
type.  Perhaps a system where we returned a multiple mime-types
depending on what attributes the file has makes more sense.  As a
counter example to the ones you gave:

- gnumeric files can be optionally zipped up.  That means that in one
  case, the file could inherit from text/xml and text/plain, and in the
  other it could inherit from application/x-zip.  Encoding this in the
  mime-type doesn't make sense unless we hyper-specialize
  (application/x-gnumeric and application/x-gnumeric-zipped).  In this
  case, it's a totally artificial construct, and won't really scale for
  other attributes a particular file might have (such as encryption).

> I'm sorry, but if the XDG spec doesn't allow KDE to model mimetype inheritance,
> I don't see how KDE could switch to it at some point. This is something we
> already model and use, so we definitely need it in whichever replacement we
> adopt. If other apps/environments ignore the inheritance, it shouldn't be a big
> problem.

Do you use inheritance right now in KDE?  Perhaps it would be useful to
see what your inheritance tree looks like.

> This being said, I'm not a bit surprised by the RDF idea - but I know little
> about RDF.

Me too. (-:  I'm willing to defer to anyone with more RDF knowledge or
experience here.


[1] Unless we want to ditch all mime altogether and come up with a
system more appropriate for the desktop

More information about the xdg mailing list