Notations and MIME types

John Cowan cowan at locke.ccil.org
Thu Dec 3 19:12:14 GMT 1998


W. Eliot Kimber scripsit:

> Unless I've misunderstood something, a MIME type is still an indirection to
> the definition of that MIME type. I.e., "text/xml" is a pointer to the RFC
> that establishes that MIME type.

That's true, but it's not a *flexible* pointer.  Neither you nor IETF
is free to change the binding of "text/xml"; if XML changes, a new
MIME type (which includes the parameters as well as the type/subtype
information) must be registered.

MIME parameters, BTW, are essentially a method of registering related
MIME types en masse: e.g. registering "text/plain" with a "charset"
parameter essentially registers "text/plain;charset=us-ascii",
"text/plain;charset=utf-8" and so on for all the charsets in the
charset registry.

> But then a problem is: where do I go to
> figure out what RFC a given MIME type maps to?

IANA keeps that information in the MIME-type registry.

> What if the MIME type is an
> "x-*" MIME type, what do I do then?

Nothing.  This is the moral equivalent of a notation with a
"file://" system identifier.

> Note that the external ID for a
> notation could, in theory be a MIME type:
> 
> <!NOTATION xml SYSTEM "urn:mime:text/xml" >

Indeed.
 
> It's clear that I need to write a paper
> clearly outlining what notations are for and how they are best put to use.

Exactly.
 
> Perhaps part of the problem is that in the Web world we have tended to
> remove the need for such a generalized mechanism by hard-coding knowledge
> of the semantics of everything?  But you can't do that forever, and MIME
> only seems to make the problem worse

Not worse, perhaps not sufficiently better.

> by requiring that all interchangable
> types be registered before they can be used. Notations don't require that
> because the external ID of a notation can be anything (including MIME types
> or their RFC documents).

One advantage of MIME types over notations is that they contain
declarative information.  Unless your program is AI-complete, the
only thing you can do with the external ID of a notation is try to
use a local table ("mailcap", the Win32 registry) to find an engine
to process the data, and communications with that engine are crude:
you typically can only request it to render the data in some default
manner.

A MIME-aware system can take more intelligent action even if it does
not have a local resource for processing a specific MIME type, due
to the structuring provided by MIME-type syntax.  A MIME object of
type "text/plain;charset="8859-8-e" can be rendered as ASCII
plain text, with loss of information, even if the charset
"8859-5-e" is unknown locally.  A corresponding notation N1 defined
by the external ID "urn:rfc:rfc1555#8859-5-e" leaves a similarly
equipped notation-aware processor completely clueless.

-- 
John Cowan	http://www.ccil.org/~cowan		cowan at ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list