UserPreferences

PaceEntryOrigin


Abstract

Supply "/atom:feed/atom:entry" with an "atom:origin" element indicating the original feed the entry came from.

Status

Accepted

Rationale

Provide the ability for client tools and other Atom processors to determine the origin feed of a given entry.

Proposal

Add to the [WWW]Atom Syndication Format 0.3 pre-draft document the following text:

4.13.10 The "atom:origin" element's content conveys the original feed for the entry (the feed where the entry was initially published). If the orginating feed is an Atom format one, then this content MUST be the same as that of the "/atom:feed/atom:link/@href" attribute where the "/atom:feed/atom:link/@rel='alternate'" (a Link construct that conveys a URI associated with the feed). The URI reference of atom:origin MUST NOT be changed. An atom:entry MAY contain an atom:origin element, but MUST NOT contain more than one.

Example, where the entry is in its origin feed:

<atom:feed 
   version="0.3" 
   xmlns:atom="http://purl.org/atom/ns#" 
   xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
  <atom:title/>
  <atom:link rel="alternate" type="text/html" href="http://www.example.org/feed/" />
  <atom:modified/>
  <atom:tagline/>
  <atom:id/>
  <atom:generator />
  <atom:copyright/>
  <atom:entry>
    <atom:title/>
    <atom:link/>
    <atom:modified/>
    <atom:issued/>
    <atom:id/>
    <atom:created/>
    <atom:summary/>
    <atom:author>
      <atom:name/>
      <atom:url/>
      <atom:email/>
    </atom:author>
    <atom:content />  
    <atom:origin>http://www.example.org/feed/</atom:origin>
  </atom:entry>
</feed>

Example, heavily elided, of a "composite feed" where the entries are not in their origin feed:

<atom:feed 
   version="0.3" 
   xmlns:atom="http://purl.org/atom/ns#" 
   xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
  <atom:title/>
  <atom:link rel="alternate" type="text/html" href="http://www.example.org/composite-feed/" />
  <atom:modified/>
  <atom:tagline/>
  <atom:id/>
  <atom:generator />
  <atom:copyright/>
  <atom:entry> 
    ...
    <atom:origin>http://www.a.org/feed/a/</atom:origin>
  </atom:entry>
  <atom:entry>
    ...
    <atom:origin>http://www.b.org/feed/b/</atom:origin>
  </atom:entry>
  <atom:entry>
    ...
    <atom:origin>http://www.c.org/feed/c/</atom:origin>
  </atom:entry>
  <atom:entry>
    ...
    <atom:origin>http://www.d.org/feed/d/</atom:origin>
  </atom:entry>
</feed>

Impacts

schema; validation; possibly entry processing.

Notes

The element name origin was choosen to avoid namespaces (namespaces are lossy with respect to document structure)

See also: [WWW]http://www.dehora.net/journal/2004/06/atomrss_relating_entries_and_feeds.html

See also: [WWW]http://imc.org/atom-syntax/mail-archive/msg04136.html

Another option would be to place origin as an attribute of entry thus

<atom:entry origin="...">

And:

<atom:origin href="..." />

Yet another is to prefer the link idiom with a new @rel enumeration 'origin':

<link href="http://www.example.org/feed/" rel="origin" title="" type="" />

for the latter see also the 'source' enumeration in LinkTagMeaning.

Discussion

Please engage in discussion on the atom-syntax list.


CategoryProposals