- From: <noah_mendelsohn@us.ibm.com>
- Date: Thu, 17 May 2007 15:21:47 -0400
- To: "Mark Baker" <distobj@acm.org>
- Cc: "Marc de Graauw" <marc@marcdegraauw.com>, "Marc de Graauw" <mdegraau@xs4all.nl>, www-tag@w3.org
Mark Baker writes: > I think that your problem could be solved simply by minting a > new media type when you break backwards compatibility. I can see the advantages, but I think there are also disadvantages. First of all, certain languages go through many, many revisions that are at least in some ways incompatible. It's not clear to me that as a practical matter the media type system is administered to handle the repeated registrations that would follow from your suggestion, and I'm also not convinced that the syntax of media type identifiers is sufficiently flexible to do this well. Which leads to my 2nd point: compatibility is in many cases a matter of degree, and often applications want typing mechanisms that help with negotiating specific aspects of compatibility. So, in the somewhat different world of Java, one does indeed mint a new class name whenever one implements a new variant of a class definition (very roughly analagous to a media type in this story), but Java also provides the "interface" abstraction, by which a new class can say "I remain compatible with old conventions I1, I2, etc."). The closest we seem to get with media types is the application/xxxx+xml convention, where a new language can say "but I remain compatible with xml". That seems a bit limited. So, I think what's happening in practice is that people are minting and deploying new media types when, on balance, the disruption caused by publishing under the new type is deemed the lesser evil compared to any downsides of publishing the new content under the old media type (e.g. deploying HTML that provides a specific semantic for a tag that would have been ignored in a previous version of HTML). -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- "Mark Baker" <distobj@acm.org> Sent by: www-tag-request@w3.org 05/16/2007 11:16 PM To: "Marc de Graauw" <mdegraau@xs4all.nl> cc: "Marc de Graauw" <marc@marcdegraauw.com>, www-tag@w3.org, (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: Re: Media types and versioning On 5/16/07, Marc de Graauw <mdegraau@xs4all.nl> wrote: > Mark Baker: > > AFAICT, that's more or less what happens in the existing Web > > architecture. HTTP messages carrying a document also normally include > > a media type, which is essentially a name for a series of compatible > > versions (e.g. "text/html" as a shortcut for HTML 2 + 3.2 + 4.01 + 5 > > etc..). > > Yes, but the list is not explicit, so it is not possible to exclude > versions (you cannot say: do not process if your version is lower than > 4.01). That is not necessary for HTML, but for other languages (like > medication, which example I use in my XML.COM article) it often is, and > that is the mechanism I wanted to describe in my article. I think that your problem could be solved simply by minting a new media type when you break backwards compatibility. Mark.
Received on Thursday, 17 May 2007 21:04:26 UTC