Fwd: [link draft] Changing the model for links

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