Atom (標準)
用於網絡閱源的可擴展標記語言
Atom是一對彼此相關的標準。Atom供稿格式(Atom Syndication Format)是用於網站消息來源,基於XML的文檔格式;而Atom出版協定(Atom Publishing Protocol,簡稱AtomPub或APP)是用於新增及修改網路資源,基於HTTP的協議。
副檔名 |
.atom、.xml |
---|---|
網路媒體型式 |
application/atom+xml |
開發者 | Internet Engineering Task Force |
首次發布 | RFC 4287 2005年12月 |
格式類型 | 網路資訊聚合 |
作為容器 | 網站及其相關元資料的更新(消息來源) |
延伸自 | XML |
自由格式? | 是 |
網站 | www |
它借鑑了各種版本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" />
參見
編輯- 消息來源(饋送)
外部連結
編輯- (英文)IETF Atom Publishing Format and Protocol working group (atompub)
- (英文)Atom Wiki(頁面存檔備份,存於網際網路檔案館)
- (英文)AtomEnabled.org - Atom計劃的非官方支持網站
- (英文)The great syndication wars(頁面存檔備份,存於網際網路檔案館)
- (英文)Why we need Echo(頁面存檔備份,存於網際網路檔案館)
- (英文)Should Atom Use RDF?(頁面存檔備份,存於網際網路檔案館)