Ok, now that a number of the other extensions I've been working on are
moving along, it's time to turn my attention to a couple of other ideas
I've been stewing on. One of which is link[rel="sponsored"] to indicate
sponsored links / advertisements within feeds.
<link rel="sponsored"
href="http://someone.is.paying.for.me.to.put.this.here" />
The reason for not using rel="related" here is to provide consumers a
clear distinction between links that are truly related to the entry vs.
links included as advertisements.
A feed, entry or source may contain any number of rel="sponsored" links.
Further, many links can be augmented with graphics and extended
descriptions, for this purpose, I am considering a couple of new
extension elements that would be children of atom:link
<link rel="sponsored" href="...">
<x:image type="">...</x:image>
<x:documentation type="text|html|xhtml">Some basic documentation
about the link</x:documentation>
</link>
The x:image element would specify the URI of an image file (aspect ratio
of 2:1) associated with the link. The type attribute specifies the
media type of the image.
The x:documentation element is an Atom text construct similar to
atom:summary. I would have just reused atom:summary but given that the
core spec does not expressly allow for atom:summary within atom:link, I
felt doing so would be problematic. The purpose of x:documentation is
to allow an extended, human-readable description of the link to be provided.
In another direction, I've thinking about how to allow links to express
specific information about the resource being linked so that either a)
modifications of the resource can be detected or b) specific versions of
the resource can be referenced.
<link rel="enclosure" href="..."
x:md5="{hash}"
x:etag="{entity tag}"
x:last-modified="{http date}" />
The values of each attribute corresponds to an equivalent HTTP header.
Lastly, a while back Eric Scheid and I discussed a bit about how
alternate locations for a link could be expressed (e.g. mirrors). He
was going to write up a draft, but I'm not sure about the status of that
effort. Here's what I'm thinking:
<link rel=enclosure" href"..." ...>
<x:alternate href="..." title="..." />
<x:alternate href="..." title="..." />
</link>
Each x:alternate identifies an alternative URL for the link resource.
The media type, length, hreflang, etc are all expected to be the same
for each alternate. The x:md5.x:etag, and x:last-modified attributes
from above could be used.
Thoughts? Gripes? Praise?
- James