- From: Mark Nottingham <mnot@mnot.net>
- Date: Wed, 8 Apr 2009 09:21:34 +1000
- To: "www-tag@w3.org WG" <www-tag@w3.org>
Begin forwarded message: > Resent-From: ietf-http-wg@w3.org > From: Mark Nottingham <mnot@mnot.net> > Date: 8 April 2009 9:10:58 AM > To: HTTP Working Group <ietf-http-wg@w3.org> > Cc: Ian Hickson <ian@hixie.ch> > Subject: [link draft] Changing the model for links > Archived-At: <http://www.w3.org/mid/C1CD0848-13F0-4FCF-91FF-52126622C3B8@mnot.net > > > > I've been discussing the link draft with Ian Hickson, who points out > that in HTML4, there's a difference between > > <link rel="stylesheet" href="a"/> > <link rel="stylesheet alternate" href="a"/> > > and > > <link rel="stylesheet alternate" href="a/> > > (see <http://www.w3.org/TR/html401/present/styles.html#specifying-external > > for the background of why these are different) > > In the current link draft, there isn't any way to express the > difference between these; the underlying model is > > [ context ] ---[ relation type ]---> [ target ] > > where 'relation type' is singular. > > To accommodate this use, the model would need to be something like > > [ context ] ---[ list of relation types ]---> [ target ] > > noting that there may be more than one list of relation types > between any context and target. > > Personally, I think that it would be only in pathological cases that > it would be necessary to know the difference between the two (i.e., > real world Web pages will not point to a URI as both a stylesheet > and as an alternate for themselves, so it's safe to say that even > the first example above means that "a" is an alternate stylesheet). > > However, it is important for Link to interoperate well with HTML4. > Also, the HTML5 folks plan to use this model for other purposes > (e.g., "up up" to indicate a parent of a parent). > > The practical impact of making this change is that serialisations of > links won't be able to collapse multiple relation types between two > URIs into one link; they'll have to be separate to allow this > interpretation. > > So, for example, if you have link types ['w', 'x', 'y z'] between A > and B, it will have to be serialised as > > Link: <B>; rel="w" > Link: <B>; rel="x" > Link: <B>; rel="y z" > > in HTTP headers, NOT > > Link: <B>; rel="w x y z" > > because that's ambiguous. > > The alternative is to say that the 'stylesheet alternate' > combination isn't specific to how it's serialised, but is tied to > the occurrence of the links. I.e., when both relations are present > in links between the same resources, these special semantics take > affect. However, this does seem to directly conflict with the HTML4 > language (see link above), so I don't think doing so is viable. > > Comments? > > -- > Mark Nottingham http://www.mnot.net/ > > -- Mark Nottingham http://www.mnot.net/
Received on Tuesday, 7 April 2009 23:22:11 UTC