Subject: The "src" attribute of atom:content

From: "Tse Shing Chi \(Franklin/Whale\)" <[email-masked]>
Date: Sun, 19 Nov 2006 22:46:45 +0800

I recently tried to make a feed acting as a linking page. I am impressed by the "src" attribute of atom:content. Then I made a feed entry as follow.

<entry>
  <title>Example Title</title>
  <id>http://www.example.org/</id>
  <content type="text/html" src="http://www.example.org/" />
  <published>2006-11-19T13:05:00Z</published>
  <updated>2006-11-19T13:05:00Z</updated>
</entry>

Unfortunately, numbers of feed aggregators will not follow the src attribute probably due to security reasons. While I want to provide alternate text, I cannot find a way to do so since the specification of Atom mentioned, 'If the "src" attribute is present, atom:content MUST be empty.' As a result, I use atom:summary.

<entry>
  <title>Example Title</title>
  <id>http://www.example.org/</id>
<link rel=""
  <summary type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Please proceed to <a href="http://www.example.org/">http://www.example.org/</a> for contents.</p>
    </div>
  </summary>
  <content type="text/html" src="http://www.example.org/" />
  <published>2006-11-19T13:05:00Z</published>
  <updated>2006-11-19T13:05:00Z</updated>
</entry>

However, it is actually an abuse of atom:summary because the "atom:summary" element is a Text construct that conveys a short summary, abstract, or excerpt of an entry.

More unfortunately, feed aggregators will not consider this entry is linking to http://www.example.org/ even though the content is external.

As a result, atom:link is added.

<entry>
  <title>Example Title</title>
  <id>http://www.example.org/</id>
  <link rel="alternate" type="text/html" href="http://www.example.org/" />
  <summary type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Please proceed to <a href="http://www.example.org/">http://www.example.org/</a> for contents.</p>
    </div>
  </summary>
  <content type="text/html" src="http://www.example.org/" />
  <published>2006-11-19T13:05:00Z</published>
  <updated>2006-11-19T13:05:00Z</updated>
</entry>

I did not imagine how complicated the situation is. And after doing so many things, <content type="text/html" src="http://www.example.org/" /> is proved to be useless. However, I do hope that it is useful. The followings are my thoughts.

1. When the "src" attribute of atom:content is present, it includes the meaning of having an alternate link to the same URI inside "src".

2. atom:content SHOULD NOT be empty. I think that atom:content is something like xhtml:object. Alternate contents should be put inside the element.

For examples:

<content type="text/html" src="http://www.example.org/">
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Please proceed to <a href="http://www.example.org/">http://www.example.org/</a> for contents.</p>
    </div>
  </content>
</content>

Or

<content type="text/html" src="http://www.example.org/" alternatetype="xhtml">
  <div xmlns="http://www.w3.org/1999/xhtml">
    <p>Please proceed to <a href="http://www.example.org/">http://www.example.org/</a> for contents.</p>
  </div>
</content>

I do think providing alternate content is important.

Franklin Tse