Permit insertion of atom:head elements in atom:entry elements in order to propagate feed metadata in entries that are copied from one feed to another. This is particularly important for generators and readers of aggregate or synthetic feeds and for cases, such as [WWW]"Atom over XMPP," where documents whose root element is atom:entry are passed.




An entry is initially created within the context of a specific "source" feed. In many cases, proper understanding or attribution of an entry relies on the feed metadata. However, entries are often copied out of their original source feeds or are passed as root elements without any enclosing feed. Thus, we need a mechanism to propagate feed metadata as a contained component of an entry.


Add the following to the definition of atom:entry:

4.?  The "atom:head" Element 

   The atom:head element acts as a container for metadata about the feed
   within which the entry was created.

   atom:entry elements MAY contain at most one atom:head element.

   If an atom:entry is copied into one feed from another feed, then the 
   atom:head entry of the source feed SHOULD be inserted into the atom:entry
   unless the entry, as copied, already contains an atom:head element. If
   the atom:entry already contains an atom:head, then that atom:head SHOULD be 
   copied without modification.

The following shows an example "Atom over XMPP" entry that has an atom:head inserted. In this case, the atom:head insertion is required since the entry shown was copied into the XMPP feed from another feed.

<iq type='set' 
     <pubsub xmlns=''>
       <publish node=''>
         <item id='70b2a83be71dfca04df91133d953fb22b41b4267'>
           <entry version='draft-ietf-atompub-format-01: do not deploy'
             <head not-signed>
               <title>Example Feed</title>
               <link rel="alternate" type="text/html" href=""/>
               <author><name>John Doe</name></author>
             <title>Atom-Powered Robots Run Amok</title>
             <link rel='alternate'



The behavior described here is similar to that which has been used by in creating synthetic feeds based on the results of discussions held at the Atom Community meeting in June at Sun. currently inserts "<ps:source-feed>" elements to acccomplish what would be accomplished by copying atom:head instead.

This extension will make it much easier to provide proper attribution for entries in protocols such as "Atom over XMPP".

see: [WWW]