Atom (標準)

用於網絡閱源的可擴展標記語言

Atom是一對彼此相關的標準。Atom供稿格式(Atom Syndication Format)是用於網站消息來源,基於XML的文檔格式;而Atom出版協定(Atom Publishing Protocol,簡稱AtomPub或APP)是用於新增及修改網路資源,基於HTTP的協議。

Atom
副檔名
.atom、.xml
網路媒體型式
application/atom+xml
開發者Internet Engineering Task Force
首次發布RFC 4287
2005年12月,​18年前​(2005-12
格式類型網路資訊聚合英語Web syndication
作為容器網站及其相關元資料的更新(消息來源
延伸自XML
自由格式
網站www.ietf.org/rfc/rfc4287.txt

它借鑑了各種版本RSS的使用經驗,被許多的聚合工具廣泛使用在發布和使用上。Atom供稿格式設計作為RSS的替代品;而Atom出版協定用來取代現有的多種發布方式(如Blogger API和LiveJournal XML-RPC Client/Server Protocol)。Google提供的多種服務正在使用Atom。Google Data API(GData)亦基於Atom。

Atom是IETF的「建議標準」,Atom供稿格式列為RFC 4287頁面存檔備份,存於網際網路檔案館),而Atom出版協定列為RFC 5023頁面存檔備份,存於網際網路檔案館)。

歷史

編輯

Atom曾命名為「Echo」。

Atom與RSS 2.0的比較

編輯

當初發展Atom的動機在於廣泛應用RSS 2.0時所遇到的問題。為了降低開發支持Web聚合應用的難度,下面列出Atom 1.0所克服的RSS 2.0幾個主要問題(源自[1]頁面存檔備份,存於網際網路檔案館)):

  • RSS 2.0可能包含文本或經過編碼的HTML內容,同時卻沒有提供明確的區分辦法;相比之下,Atom則提供了明確的標籤(也就是typed)。
  • RSS 2.0的description標籤可以包含全文或摘要(儘管該標籤的英文含義為描述或摘要)。Atom則分別提供了summary和content標籤,用以區分摘要和內容,同時Atom允許在summary中添加非文本內容。
  • RSS 2.0存在多種非標準形式的應用,而Atom具有統一的標準,這便於內容的聚合和發現。
  • Atom有符合XML標準的命名空間,RSS 2.0卻沒有。
  • Atom通過XML內置的xml:base標籤來指示相對地址(URI),RSS 2.0則無相應的機制區分相對地址和絕對地址。
  • Atom通過XML內置的xml:lang,而RSS採用自己的language標籤。
  • Atom強制為每個條目設定唯一的ID,這將便於內容的跟蹤和更新。
  • Atom 1.0允許條目單獨成為文檔,RSS 2.0則只支持完整的種子文檔,這可能產生不必要的複雜性和帶寬消耗。
  • Atom按照RFC 3339頁面存檔備份,存於網際網路檔案館)標準(ISO 8601標準的一個子集)表示時間 ,而RSS 2.0中沒有指定統一的時間格式。
  • Atom 1.0具有在IANA註冊了的MIME類型,而RSS 2.0所使用的application/rss+xml並未註冊。
  • Atom 1.0標準包括一個XML schema,RSS 2.0卻沒有。
  • Atom是IETF組織標準化程序下的一個開放的發展中標準,RSS 2.0則不屬於任何標準化組織,而且它不是開放版權的。

示例

編輯

一個Atom文檔:

<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Example Feed</title>
	<subtitle>A subtitle.</subtitle>
	<link href="http://example.org/feed/" rel="self" />
	<link href="http://example.org/" />
	<id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
	<updated>2003-12-13T18:30:02Z</updated>
	<author>
		<name>John Doe</name>
		<email>johndoe@example.com</email>
	</author>
	
	<entry>
		<title>Atom-Powered Robots Run Amok</title>
		<link href="http://example.org/2003/12/13/atom03" />
		<link rel="alternate" type="text/html" href="http://example.org/2003/12/13/atom03.html"/>
		<link rel="edit" href="http://example.org/2003/12/13/atom03/edit"/>
		<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
		<updated>2003-12-13T18:30:02Z</updated>
		<summary>Some text.</summary>
	</entry>

</feed>

包含於XHTML

編輯

下列標籤會被插入XHTML文檔的頭部以提供ATOM源的連結。

<link href="atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed" />

參見

編輯

外部連結

編輯