Re: ISSUE-27: rel-ownership - Chairs Solicit Proposals

Mark Nottingham, Wed, 30 Dec 2009 10:08:23 +1100:
> Leif,
> 
> There is a much longer history to @rev, it's not as clear-cut as you 
> imply. See discussion in my previous message to Toby.

I am very happy that you think it is clear cut. I indeed wanted to 
provide a clear and concise message about what HTML 4 says. But it took 
a decent amount of close reading (documented below!) to arrive arrive 
that conclusion - it was not based on a pre-made idea. What I said 
turned out to - I think - disagree with Toby's conclusions, but I hope 
we wil find common language in the end.

My text below in fact shows that HTML 4 says exactly what Roy blames 
HTML 4 for not saying. Roy has ignored what HTML 4 says for the wrong 
reasons. HTML 4 uses confusing language which is prone to be 
misinterpretated, but is still congruent with the preceding much longer 
history. 

> Based on the 
> extensive discussions we've already had over the more than three 
> years that this draft has been around (never mind earlier 
> discussions), I very much doubt we're going to find consensus on what 
> 'rev' means.

I will try to document what the positions.

> The currently thinking in the link draft is to get out of the 
> business of saying what 'rev' is. If you have (or anyone else has) a 
> text proposal to do that, I'm all ears; I'm also amenable to taking 
> out all mention of 'rev', if there's no way to avoid confusion when 
> mentioning it.

I hope I can come come up with something - at best together with some 
of the others ...

Cheers,
Leif Halvard Silli

> Cheers,
> 
> 
> On 17/12/2009, at 4:08 AM, Leif Halvard Silli wrote:
> 
>> Toby Inkster, Wed, 16 Dec 2009 12:23:17 +0000:
>>>> http://www.mnot.net/drafts/draft-nottingham-http-link-header-07.txt
>>>> 
>> 
http://www.mnot.net/drafts/draft-nottingham-http-link-header-07-from-6.diff.html 
>>> 
>>> Your new explanation on @rev in HTML4 states:
>>> 
>>>> some hold that rev reverses	
>>>> the direction of the link, while others that it reverses the	
>>>> semantics of the relation itself
>> 
>> Firstly: This description only creates more confusion. For example, the 
>> readers will wonder (as I do): What's the difference between reversing 
>> the link and reversing the semantics of the relation itself? 
>> 
>> Secondly: It misinforms. @rev doesn't "reverse" anymore than @rel 
>> "relates". Neither @rev nor @rel affect the direction of the link. Both 
>> @rel and @rev only _informs_. @rel informs about the relationship that 
>> "the source resource" has to "the destination resource". While @rev 
>> does the opposite: it inform about what kind of relationship "the 
>> destination resource" has to "the source resource".
>> 
>> In HTML 4.01, source, destination and direction is the first thing that 
>> is explained about links in general: [1]
>> 
>> ]]
>> A link has two ends -- called anchors -- and a direction. The link 
>> starts at the "source" anchor and points to the "destination" anchor, 
>> which may be any Web resource (e.g., an image, a video clip, a sound 
>> bite, a program, an HTML document, an element within an HTML document, 
>> etc.).
>> [[
>> 
>> And about the anchor element it is said: [2] 
>> 
>> ]]
>> 2.	The name attribute names the anchor so that it may be the 
>> destination of zero or more links (see also anchors with id).
>> 3.	The href attribute makes this anchor the source anchor of exactly 
>> one link.
>> [[
>> 
>> The HTML 5 draft shows very little interest in anything related to 
>> direction w.r.t. links. E.g. it fails to say that an anchor with a 
>> @name or @id can be the destination anchor of link. And also, it 
>> doesn't include @rev.
>> 
>> Thus, the literal meaning of @rev - reverse - plays on the important 
>> concept in HTML 4, that each link as a source anchor and a destination 
>> anchor.
>> 
>> Now, if we apply @rev to anchor tag, such as in the following example,
>> 
>> <a href="albumpage" rev="image" name="image-1" id="image-1">
>> 	<img src="image" alt="description" />
>> </a>
>> 
>> then this does not change the fact that it is the anchor's @name/@id 
>> which represents the  "destination anchor" or that it is the anchor's 
>> @href which creates a "source anchor". 
>> 
>> What @rev does is that it informs about what kind of relationship the 
>> destination resource of the a@href has to the source resource of the 
>> a@name.
>> 
>>> The HTML 4.01 Recommendation defines @rel as:
>>> 
>>> 	"the relationship from the current document to
>>> 	 the anchor specified by the href attribute"
>>> 	<http://www.w3.org/TR/html4/struct/links.html#adef-rel>
>>> 
>>> And @rev as:
>>> 
>>> 	"a reverse link from the anchor specified by the
>>> 	 href attribute to the current document"
>>> 	<http://www.w3.org/TR/html4/struct/links.html#adef-rev>
>> 
>> Note the use of the word "relationship" about @rel, and "reverse link" 
>> about @rev. In isolation this could make it seem as if @rel defines 
>> semantics ("relationship") while @rev defines "a reverse link", which 
>> supposedly is something other than a relationship.
>> 
>> However, HTML 4 also says: [3]
>> 
>> ]]
>> The rel and rev attributes play complementary roles -- the rel 
>> attribute specifies a forward link and the rev attribute specifies a 
>> reverse link.
>> [[
>> 
>> Since @rel and @rev can be used simultaneously in the same <link> or 
>> <a>, then "specifies" should of course not be interpreted to mean 
>> "relate" or "reverse" or "create" or any other thing that could make 
>> anyone think that @rev affects the link in any way.
>> 
>> I think the above could have been reworded to say that "the rel 
>> attribute specifies the link relationship forwards, while the rev 
>> attribute specifies the link relationship in the reverse direction".
>> 
>> The point is: @rel and @rev does the same thing, except in opposite 
>> direction. They do not change anything, however. They only add 
>> information. 
>> 
>>> Further it illustrates this with an example [ I replaced with a 
>>> full quote:]
>> 
>> ]]
>> Document A:       <LINK href="docB" rel="foo">
>> Has exactly the same meaning as:
>> Document B:       <LINK href="docA" rev="foo">
>> [[
>> 
>> Again, the text speaks about "meaning". It is simplest to see with a 
>> real example, such as "next":
>> 
>> Document A:       <LINK href="docB" rel="next">
>> Has exactly the same meaning as:
>> Document B:       <LINK href="docA" rev="next">
>> 
>> When it is said that they both have "the same meaning", then it is 
>> meant that they both speak about the same oneway relationship between 
>> Document A and Document B - more correctly: from A to B. None of them 
>> informs about whether Document B has a reciprocal relationship to 
>> Document A. Document B could in theory appear in another web site - 
>> another context - than Document A. It could be without any link to 
>> Document A, except for the link that Document A itself "feels" that i 
>> has to Document B.
>> 
>>> The earlier 4.0 Recommendation has word-for-word identical definitions
>>> and examples. 3.2 is similar <http://www.w3.org/TR/REC-html32#link>.
>>> 
>>> I don't doubt that some people are confused by @rev. (If you look hard
>>> enough, you can find people confused about almost anything.) But given
>>> that all the relevant recommendations are quite clear in stating that
>>> @rev reverses the *direction* of the link, it seems disingenuous to
>>> present them as two equally valid interpretations of the definition of
>>> @rev.
>> 
>> I, again, take exception to the claims that whether @rel or @rev 
>> changes whether the direction or the semantics. What they both do is 
>> that they _inform_ about the semantics of the link. It is just a fact 
>> of life that a link has a direction, and that semantic information is 
>> applied to either the source-to-destination relationship (@rel). Or to 
>> the destination-to-source relationship. The use of @rev or @rel informs 
>> about the direction the semantics is applied.
>> 
>>> I'd suggest changing the wording to something like:
>>> 
>>> 	while rev is defined to reverse the direction of
>>> 	the link, some have implemented it as if it reversed
>>> 	the semantics of the link type
>> 
>> I don't know who has implemented this. I would like to see it so I can 
>> understand what is meant.
>> 
>> A more relevant rewording could be:
>> 
>>   While rev is defined to inform about the reverse relationship of the 
>> link".
>> 
>> However, I think much more info need to be added, yes, indeed that the 
>> @rev specification of HTML 4 should be included and, eventually, 
>> clarified. Who needs to know that some are confused?
>> 
>>> Though, that having been said, although I've seen a handful of examples
>>> where people have mistakenly used @rev instead of @rel, either through
>>> ignorance or the slip of a finger, I can't remember seeing any which
>>> *rely* on the mistaken interpretation of it reversing the semantics of
>>> the link type. For example, I've never seen a page which used, say,
>>> rel="author" to link to the author and rev="author" to link to people
>>> who did not contribute to the document.
>> 
>> +1 
>> 
>> [1] http://www.w3.org/TR/html4/struct/links.html#h-12.1
>> [2] http://www.w3.org/TR/html4/struct/links.html#h-12.2
>> [3] http://www.w3.org/TR/html4/struct/links.html#h-12.3.1
>> -- 
>> leif halvard silli
> 
> 
> --
> Mark Nottingham     http://www.mnot.net/
> 
> 

Received on Wednesday, 30 December 2009 00:01:11 UTC