[uf-discuss] Next/Prev [was Rationale for providing hAtom instead of
Atom/RSS feeds]
Toby A Inkster
mail at tobyinkster.co.uk
Thu May 29 12:41:56 PDT 2008
André Luís wrote:
> Still, do you see any way of tieing two hFeeds on separate pages
> together? Any way at all?
The best way that I can come up with involves a slight extension to
hAtom. The current hAtom spec only covers a subset of the full Atom
spec. In particular, to cover feed consolidation, you'd want to
implement in hAtom an equivalent to the <id> element in Atom. Because
class="id" or rel="id" look a bit confusing (confusion with the "id"
attribute) I'd suggest:
rel="feed-id"
rel="entry-id"
rel="entry-id" isn't really needed for this task, but if you're in a
situation where the same entry could appear on several pages, then it
may be useful.
The feed <id> assigns a unique ID (in the form of a URI) to a feed.
If two hAtom feeds have the same ID, it should be safe to assume that
they're different HTML representations of the same underlying logical
feed. Going back to my original examples, this could become:
<html>
<title>Page 1</title>
<link rel="next" rev="prev" href="page-2">
<link rel="feed-id"
href="urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6">
<body>
<div class="hentry">
<h1 class="entry-title">Entry 1</h1>
<p class="entry-content">Content.</p>
</div>
</body>
</html>
<html>
<title>Page 2</title>
<link rel="prev" rev="next" href="page-1">
<link rel="feed-id"
href="urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6">
<body>
<div class="hentry">
<h1 class="entry-title">Entry 2</h1>
<p class="entry-content">Content.</p>
</div>
</body>
</html>
OK, that solves part of the problem - a way of determining if two
hAtom pages represent the same underlying feed. However, given that
these pages may be on "opposite sides of the Internet", to
consolidate the feed we need a way of finding them. For this, I'd
suggest using rel="meta", an existing rel value which is used to link
to additional metadata. Because rel="meta" is often used to link to
RDF files, it may be helpful to RDF parsers to explicitly include the
"type" attribute.
Adding all this to the mix gives us:
<html>
<title>Page 1</title>
<link href="page-1" rel="feed-id">
<link href="page-2" rel="next meta"
type="text/html">
<body>
<div class="hentry">
<h1 class="entry-title">Entry 1</h1>
<p class="entry-content">Content.</p>
</div>
</body>
</html>
<html>
<title>Page 2</title>
<link href="page-1" rel="feed-id prev meta"
type="text/html">
<body>
<div class="hentry">
<h1 class="entry-title">Entry 2</h1>
<p class="entry-content">Content.</p>
</div>
</body>
</html>
What do other people think?
--
Toby A Inkster
<mailto:mail at tobyinkster.co.uk>
<http://tobyinkster.co.uk>
More information about the microformats-discuss
mailing list