- From: Thomas Broyer <t.broyer@gmail.com>
- Date: Thu, 7 Dec 2006 09:31:32 +0100
[CC'ing the WHATWG list] 2006/12/7, Jan Algermissen: > > Seriously: how many feed readers are out there that base the decision > wheter something is subscribeable on the type attribute of a link > rather then on the link type? Every one? Oh, they also look at the rel="alternate", but I'm pretty sure they won't "process" the link if the 'type' attribute is absent, and they don't "process" it if it's present with a value different from the Atom or RSS media type. > As an analogy: HTML browsers look for stylesheets where it says > > <link rel="stylesheet" type="text/css" href="/style.css" /> > > and not > > <link rel="alternate" type="text/css" href="/style.css" /> > > Eh? Let's take two files, index.html and style.css. Now, let's describe the relationship between them. What is style.css wrt index.html? a stylesheet that browsers should use to present index.html. What is index.html wrt style.css? a page that uses style.css as a stylesheet. The relation really *is* "stylesheet" (when taken from the page to the stylesheet), whether it is written in CSS, XSLT->XSL-FO, DSSSL, etc. Now, let's take a "blog entry page" and the "blog feed" and try to describe the relationship between them. What is the blog entry page wrt the blog feed? a resource that is being or has been linked from the feed as one of its "items". If you see a feed as a set of entries not restricted to the limited set exposed by its representations, the entry is still part of the feed. What is the blog feed wrt the blog entry page? a feed (set of entries, bla bla bla) which is linking or has been linking to the entry page as one of its "items". The relation in this case is "feed" (when taken from the entry page to the feed; note that rel="feed" here is *not* the same as the one from the current HTML5 draft). What's clear is that it is not "alternate", as used today for feed autodiscovery. This rel="feed" is IMO useful because that's what people are generally looking at when they want to "subscribe to a site" and are not already looking at an "HTML feed": where's the feed which contains this item? Last example, in two parts: Let's start with Mozillazine's homepage and its Atom0.3 feed; they are clearly rel="alternate" representations of the same thing: a feed (set of entries, bla bla bla). The HTML version also contains sidebars with additional information, but they're not part of the "main content". Now, let's take, say the Mozilla.org homepage. It is linking to Mozillazine and its feed. I don't know how we could describe the relationship between Mozilla.org and Mozillazine and that's not the point here, so let's call it "X". If Mozilla.org is linking to Mozillazine using rel="X" and given that Mozillazine's homepage and Atom0.3 feed are alternates; Mozilla.org should also be linking to Mozillazine's Atom0.3 feed using rel="X" (which it does in an <a> in the <body> of the page, where actually it uses no rel="" at all). So why the hell is it using rel="alternate"? (in a <link> in the <head> section). As Mozillazine's Atom0.3 feed is an alternate representation of the Mozillazine's homepage, does it mean that Mozilla.org and Mozillazine also are rel="alternate"? I'd say no, however that's what rel="alternate" implies (it has been re-enforced in HTML5 that rel="alternate" is transitive). If rel="" on <a> and <area> had a default value (let's say rel="related"), then this value could be used in the required rel="" attribute of <link> when linking to feeds which are neither rel="alternate" or rel="feed" (with the definition given above, *not* the one from HTML5): <link rel="related" href="http://www.mozilazine.org/atom.xml" type="application/atom+xml" title="Mozillazine News"> My last point: if the rel="feed" as described above seems useless, then I'm not opposed to having a rel="feed" "marker" as defined in the current HTML5 draft, with an addition: that this "feed" marker be "combinable" with any link rel: rel="feed alternate", rel="feed up", rel="feed index", etc. (and at the condition that it is explicitely defined as a "marker" and not as a relationship; rel="prefetch" and rel="nofollow" would also need this distinction). -- Thomas Broyer
Received on Thursday, 7 December 2006 00:31:32 UTC