- From: Mark Nottingham <mnot@mnot.net>
- Date: Tue, 9 Dec 2008 23:18:38 +1100
- To: Roy T. Fielding <fielding@gbiv.com>
- Cc: "Drummond Reed" <drummond.reed@cordance.net>, "'HTTP Working Group'" <ietf-http-wg@w3.org>, "'Ian Hickson'" <ian@hixie.ch>
Hi Roy, That's an extraordinarily subtle distinction (and I still haven't thought through its impact if we act upon it). Is your preference still to keep rev out of the spec? I only hear Julian making an argument to keep rev, and it doesn't seem like an urgent one. On 08/12/2008, at 6:52 PM, Roy T. Fielding wrote: > > On Dec 7, 2008, at 8:59 PM, Drummond Reed wrote: > >>> On Dec 5, 2008, at 9:53 PM, Drummond Reed wrote: >>>> Some recent feedback on Link Header highlights a serious issue with >>>> that >>>> workaround. Even if HTML5 drops "rev", it doesn't change the >>>> semantics >>>> established in HTML4, RDFa, and other uses that "rel" and "rev" >>>> assert >>>> outbound and inbound links, respectively. >>> >>> On December 06, 2008 12:14 AM Roy T. Fielding wrote: >>> >>> Umm, no, they don't assert inbound links. The only deployed value >>> for rev (rev="Made") defines a link from this representation of a >>> resource to its maker. The only thing directional about it is the >>> relation name itself, which implies an out relation, but it is the >>> relation that is reversed by rev=name, not the link. In your words, >>> rev asserts an inbound relationship as an outbound link. >> >> Now I'm confused. Julian Reschke in his message quoted from the >> HTML4 spec >> <http://www.w3.org/TR/html4/struct/links.html#h-12.3.1>: >> >> ********** >> "12.3.1 Forward and reverse links >> >> The rel and rev attributes play complementary roles -- the rel >> attribute >> specifies a forward link and the rev attribute specifies a reverse >> link. >> >> Consider two documents A and B. >> >> Document A: <LINK href="docB" rel="foo"> >> >> Has exactly the same meaning as: >> >> Document B: <LINK href="docA" rev="foo"> >> >> Both attributes may be specified simultaneously." >> >> (Note the last sentence) >> *********** >> >> That matches my understanding of rel and rev - if resource A has a >> link to >> resource B (a link being "an arc of some kind connecting the two >> resource >> nodes"), a rel attribute on that link describes an arc from A to B, >> and a >> rev attribute on that link describes an arc from B to A. >> >> Do I have that wrong? > > Yes, that is wrong, though we can blame it entirely on the befuddled > HTML4. I did not participate in HTML4 and largely ignore what it says > (especially in regards to HTTP and URI). Contrast the above with the > definitions in RFC1866 (HTML2): > > REL > The REL attribute gives the relationship(s) described by > the hyperlink. The value is a whitespace separated list > of relationship names. The semantics of link > relationships are not specified in this document. > > REV > same as the REL attribute, but the semantics of the > relationship are in the reverse direction. A link from A > to B with REL="X" expresses the same relationship as a > link from B to A with REV="X". An anchor may have both > REL and REV attributes. > > Relationships are reversible. Links (and <a href>), OTOH, are not; > their purpose is to define an explicit link and there is no > implication > that the target has a corresponding explicit link even if the reverse > semantics are true. If you think about what hypertext means and what > a browser actually does with links, it should be clear that the HTML4 > definition is nonsense. > > ....Roy > > -- Mark Nottingham http://www.mnot.net/
Received on Tuesday, 9 December 2008 12:19:20 UTC