t.broyer at gmail.com
Thu Dec 7 00:31:32 PST 2006
[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?
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" />
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
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).
More information about the whatwg