UserPreferences

SuperSimpleFeedFormat


SuperSimpleFeedFormat

Status: proposal

Description: This document proposes the primary recommended profile of the Atom feed format currently described [WWW]here.

Principle Differences:

Principle Benefits:

The entry element of a feed would have the format defined below.

SimpleFeedFormat is essentially the same proposal, but with a few additional elements of information to allow a client to create a human readable list of items without actually fetching those items.

ParticleWave is a proposal that suggests that the linked-to entry doesn't need to be an AtomEntry, but could, or should, be an X/HTML, plain text, or other per-item appropriate media-type.

'entry' Element

This element contains one attribute, named etag, which is optional. If present, the etag attribute contains an opaque string which MUST change each time the associated AtomEntry document is updated. This value could be the same as would be seen in the etag HTTP header of the associated AtomEntry document, the value of the entry's modified timestamp, a version-specific URL, a revision counter, etc. Clients SHOULD support this attribute, but are not required to. Similarly, servers SHOULD support this attribute, but are not required to. If both client and server support the attribute, then it MUST be honored before the etag of the AtomEntry document itself.

The element also contains two required elements, named id and link.

'id' Element

The id element contains an opaque string, it's value being the same as the value of the id element in the AtomEntry document. This value MUST not change for the lifetime of the entry. This value MUST be globally unique. This element can be used to:

'link' Element

The link element contains a URL pointing to the associated AtomEntry document. In order to retrieve information such as title, the update timestamp, and the content, the AtomEntry document must be fetched separately from the feed.

Example

This example includes extra fields as described in SimpleFeedFormat, per [WWW]IRC discussion, and uses the X/HTML form of <link> per the [WWW]proposed -08 API changes.

<?xml version="1.0" encoding="iso-8859-1"?>
<feed version="0.2" xmlns="http://purl.org/atom/ns#">
  <link rel="next" type='application/x.atom+xml'
     title="Next 20 Entries" href="http://.."/>
  <link rel="prev" type='application/x.atom+xml'
     title="Previous 20 Entries" href="http://.."/>
  <link type='application/x.atom+xml'
     title="Last 20 Comments" href="http://.."/>
  <link type="application/x.atom+xml" rel='service.post'
     title="Create a new post on intertwingly.net" href=".."/>

  <entry>
    <id>/blog/1630</id>
    <link rel="alternate" type="text/html" href="1630.html" />
    <link type="application/x.atom+xml" rel="service.edit"
       href="/blog/1630.atomapi" />
    <title>One year ago today...</title>
    <issued>2003-10-29T20:52:57-05:00</issued>
    <modified>2003-10-29T20:52:57-05:00</modified>
  </entry>

  <entry>
    <id>/blog/1628</id>
    <link rel="alternate" type="text/html" href="1628.html" />
    <link type="application/x.atom+xml" rel="service.edit"
       href="/blog/1628.atomapi" />
    <title>Is &lt;content&gt; required on a POST?</title>
    <issued>2003-10-29T05:24:12-05:00</issued>
    <modified>2003-10-29T05:24:12-05:00</modified>
  </entry>
</feed>

[SeanPalmer] This is starting to look like a mutation of XHTML. Murray Altheim and I published a draft to allow <meta> elements anywhere within an XHTML document called [WWW]Augmented Metadata in XHTML which could be a good foundation for SuperSimpleFeedFormat. It may have to be extended to allow <link>, but here's a quick example nontheless:

<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://purl.org/atom/ns#">
  <link rel="schema.ATOM" href="http://purl.org/atom/ns#" />
  <link rel="next" type="application/x.atom+xml"
     title="Next 20 Entries" href="http://.." />
  <link rel="prev" type="application/x.atom+xml"
     title="Previous 20 Entries" href="http://.." />
  <link type="application/x.atom+xml"
     title="Last 20 Comments" href="http://.." />
  <link type="application/x.atom+xml" rel="service.post"
     title="Create a new post on intertwingly.net" href=".." />
</head>
<body>
<h1>intertwingly.net</h1>
<div>
   <h2><a rel="alternate" type="text/html" href="1630.html">
     One year ago today...</a></h2>
   <meta name="ATOM.type" content="entry" />
   <meta name="ATOM.id" content="/blog/1630" />
   <link type="application/x.atom+xml" rel="service.edit"
       href="/blog/1630.atomapi" />
   <meta name="ATOM.issued" content="2003-10-29T20:52:57-05:00" />
   <meta name="ATOM.modified" content="2003-10-29T20:52:57-05:00" />
</div>

<div>
   <h2><a rel="alternate" type="text/html" href="1628.html">
      Is &lt;content&gt; required on a POST?</a></h2>
   <meta name="ATOM.type" content="entry" />
   <meta name="ATOM.id" content="/blog/1628" />
   <link type="application/x.atom+xml" rel="service.edit"
       href="/blog/1628.atomapi" />
   <meta name="ATOM.issued" content="2003-10-29T05:24:12-05:00" />
   <meta name="ATOM.modified" content="2003-10-29T05:24:12-05:00" />
</div>
</body>
</html>

Benefits? Can be read by browsers fairly natively, deals with lang issues and everything else that XHTML has taken care of over the years.


Contributors: SeairthJacobs, KenMacLeod

CategoryArchitecture, CategorySyntax, CategoryApi