* [CODE(XMLe)@en[atom:entry]] 要素 (Atom 1.0)

[17] [[Atom 1.0]] の [DFN[[CODE(XMLe)@en[atom:entry]] [[要素]]]]は、
個々の[[エントリー]]を表します。この[[要素]]は[[エントリー]]に関連付けられている[[メタデータ]]と[[データ]]の[[包含子]]の役割を果たします。
[SRC@en[[[Atom 1.0]] 4.1.2.]]

[18] 
:[[局所名]]:[CODE(XMLe)@en[[[entry]]]]
(「[[entry]]」 (「[[エントリー]]」) より)
:文脈:[CODE(XMLe)@en[[[atom:feed]]]] の[[子要素]]として、
[[Atomエントリー文書]]の[[根要素]]として
:[[内容モデル]]:後述
:[[DOM界面]]:[CODE(DOMi)@en[[[AtomEntryElement]]]]
:[[属性]]:

** 仕様書

-[13] [CITE@en[RFC 4287 - The Atom Syndication Format]]
-- <http://tools.ietf.org/html/rfc4287#section-4.1.1>
-- '''<http://tools.ietf.org/html/rfc4287#section-4.1.2>'''
-[8] [CITE@en[RFC 5023 - The Atom Publishing Protocol]] ([TIME[2008-11-20 18:52:14 +09:00]] 版) <http://tools.ietf.org/html/rfc5023#section-10>

** 文脈

[19] この[[要素]]は [CODE(XMLe)@en[[[atom:feed]]]] [[要素]]の[[子要素]]として用いることができます
[SRC@en[[[Atom 1.0]] 4.1.2.]]。[[フィード]]に含まれる[[エントリー]]を表します。

[20] この[[要素]]は [[Atomエントリー文書]]の[[根要素]]として用いることができます
[SRC@en[[[Atom 1.0]] 4.1.2.]]。

** 内容

[31] 次の[[要素]]を[[内容]]に含められます。

[FIG(middle list)[
- [CODE(XMLe)@en[[[atom:author]]]] (0〜∞、条件付必須)
- [CODE(XMLe)@en[[[atom:category]]]] (0〜∞)
- [CODE(XMLe)@en[[[atom:contributor]]]] (0〜∞)
- [CODE(XMLe)@en[[[atom:content]]]] (0〜1)
- [CODE(XMLe)@en[app:[[control]]]] (0..1)
- [CODE(XMLe)@en[app:[[edited]]]] (0..1)
- [CODE(XMLe)@en[[[atom:id]]]] (1)
-[9]  [CODE(XMLe)@en[[[atom:link]]]] (0〜∞、追加制約あり)
- [CODE(XMLe)@en[[[atom:published]]]] (0〜1)
- [CODE(XMLe)@en[[[atom:rights]]]] (0〜1)
- [CODE(XMLe)@en[[[atom:source]]]] (0〜1)
- [CODE(XMLe)@en[[[atom:summary]]]] (0〜1、条件付必須)
- [CODE(XMLe)@en[[[atom:title]]]] (1)
- [CODE(XMLe)@en[[[atom:updated]]]] (1)
- [CODE(XMLe)@en[[[thr:in-reply-to]]]] (0〜∞)
- [CODE(XMLe)@en[[[thr:total]]]] (0〜1)
- [[XML署名]]の[[要素]] ([[Atom文書]]の項を参照)
]FIG]

;; 必須の条件については、それぞれの項を参照。

[16] [[RFC 4287]] 4.1.1.1. は、過去の経験から[[文章]]的な内容を含む[[フィード]]の方が含まない[[フィード]]よりも有用であり、[[応用]]によっては最低でもある程度の[[文章]]が含まれていないと動作が予測できなくなるものもあるとした上で、次のように助言しています。
- [[空]]でない [CODE(XMLe)@en[[[atom:title]]]] を含めること
- [[空]]でない [CODE(XMLe)@en[[[atom:content]]]] を含めること (この[[要素]]を使う場合)
- [[空]]でない [CODE(XMLe)@en[[[atom:summary]]]] を含めること
([CODE(XMLe)@en[[[atom:content]]]] を含めない場合)

[11] [[集成文書]]の [CODE(XMLe)@en[atom:[[entry]]]] [[要素]]は
[CODE(XMLe)@en[app:[[edited]]]] [[要素]]を含む[['''べきです''']]。

[27] [CODE(XML)@en[[[alternate]]]] の項も参照してください。

[29] [[Atom Threading Extensions]] の2つの[[要素]]については、それぞれの項を参照してください。

[33] 次のものが使われることもあります。
[FIG(list short)[
- [CODE(XMLe)@en[dc:subject]]
- [CODE(XMLe)@en[media:thumbnail]]
- [CODE(XMLe)@en[gd:extendedProperty]]
- [CODE(XMLe)@en[activity:verb]]
- [CODE(XMLe)@en[activity:object]]
- [CODE(XMLe)@en[re:rank]]
- [CODE(XMLe)@en[hatena:formatted-content]]
- [CODE(XMLe)@en[hatena:syntax]]
- [CODE(XMLe)@en[snf:relatedLink]]
- [CODE(XMLe)@en[snf:advertisement]]
- [CODE(XMLe)@en[snf:analytics]]
- [CODE(XMLe)@en[mastodon:scope]]
- [CODE(XMLe)@en[cbl:*]]
- [CODE(XMLe)@en[cblNtf:*]]
- [CODE(XMLe)@en[cblGrp:*]]
- [CODE(XMLe)@en[cblSch:*]]
- [CODE(XMLe)@en[cblChat:*]]
- [CODE(XMLe)@en[cblTsk:*]]
- [CODE(XMLe)@en[sx:*]]
- [CODE[hatenablog:custom-url]]
]FIG]

*** 順序

[21] [[Atom 1.0]] 仕様書は [CODE(XMLe)@en[[[atom:entry]]]] の[[子要素]]の順序に意味を与えていません
[SRC@en[[[Atom 1.0]] 4.1.2.]]。

** 識別

[14] [[Atomフィード文書]]内に同じ [CODE(XMLe)@en[[[atom:id]]]] の
[CODE(XMLe)@en[[[atom:entry]]]] [[要素]]が複数存在する場合、それらは同じ[[エントリー]]を表します。
その場合、それらの [CODE(XMLe)@en[[[atom:updated]]]] は異なっている[['''べきです''']]。
[SRC@en[[[Atom 1.0]] 4.1.1.]]

** レンダリング

[12] [[Thunderbird]] 2.0.0.18 は、 [CODE(XMLe)@en[[[content]]]] [[要素]]が含まれている場合、
「プレーンテキスト」、「シンプル HTML」、「オリジナル HTML」
のいずれでも [CODE(XMLe)@en[[[content]]]] [[要素]]を[[レンダリング]]するようです。
(表示の仕方はそれぞれで異なります。)

*** 順序

[10] [[集成フィード]]では、[[エントリー]]は [CODE(XMLe)@en[app:[[edited]]]]
によって、[[文書順]]で最近編集されたものが前に来るように[[整列]]する[['''べきです''']]。
[SRC@en[[[AtomPub]]]]

*** 同一エントリー

[15] 同じ [CODE(XMLe)@en[[[atom:id]]]] の [CODE(XMLe)@en[[[atom:entry]]]]
[[要素]]が [[Atomフィード文書]]中に複数含まれている場合には、
[[Atom処理器]]はそのすべてを表示しても[['''構いません''']]し、
いくつかだけを表示しても[['''構いません''']]。典型的な動作の1つは、
[CODE(XMLe)@en[[[atom:updated]]]] が最新のものだけを表示するというものです。
[SRC@en[[[Atom 1.0]] 4.1.1.]]

[30] [[アーカイブされたフィード]]においては、[[論理フィード]]の構築においてどのように重複を処理 (除去)
するべきかが規定されています。 ([[アーカイブされたフィード]]の項を参照。)

** 歴史

[22] [[Atom 0.3]] では [[Atomエントリー文書]]の概念がなく、
常に [CODE(XMLe)@en[[[atom:feed]]]] の[[子要素]]として用いることが想定されていました。

** 関連

[23] [CODE(XMLe)@en[[[atom:entry]]]] が[[根要素]]である[[文書]]は
[[Atomエントリー文書]]と呼ばれます。

[25] [[XML署名]]を使うことができます。また、[[Atomエントリー文書]]では
[[XML暗号化]]を使うことができます。詳しくは [[Atom文書]]の項をご覧ください。

[24] [[RSS]] の [CODE(XMLe)@en[[[item]]]] [[要素]]と似ています。

[28] [[HTML]] の [CODE(HTMLe)@en[[[article]]]] [[要素]]は [CODE(XMLe)@en[[[atom:entry]]]]
[[要素]]と似たような使われ方をされます。

* [CODE(XMLe)@en[atom:entry]] 要素 (Atom 0.3)

[1] [[Atom 0.3]] 
の [DFN[[CODE(XMLe)@en[atom:entry]] [[要素]]]]は、
[[フィード]]に含まれる個々の[[エントリー]]を表します [SRC@en[[[Atom 0.3]]]]。

:状態:[[廃止]] → [[Atom 1.0]] [CODE(XMLe)@en[atom:[[entry]]]]
:[[局所名]]:[CODE(XMLe)@en[[[entry]]]]
:文脈:[CODE(XMLe)@en[atom:[[feed]]]] の[[子要素]]として
:[[内容モデル]]:
:[[属性]]:

仕様書:
[CITE[The Atom Syndication Format 0.3 (PRE-DRAFT)]] ([TIME[2006-12-22 17:03:44 +09:00]] 版) <http://www.mnot.net/drafts/draft-nottingham-atom-format-02.html#rfc.section.4.13>

** 文脈

[2] この[[要素]]は [CODE(XMLe)@en[atom:[[feed]]]] [[要素]]の[[子要素]]として0個以上使うことができます
[SRC@en[[[Atom 0.3]]]]。

[3] [[Atom 1.0]] とは異なり、 [[Atom 0.3]] には [CODE(XMLe)@en[atom:[[entry]]]]
が他の[[要素]]の後に来なければならないという制約はありませんでした。

** 内容

[4] この[[要素]]は任意の[[名前空間]]に属する[[要素]]を含めることができます。

[5] [[Atom 0.3]] の[[要素]]としては、次のものが定義されていました。
[FIG[
- [CODE(XMLe)@en[atom:[[author]]]] (0..1)
- [CODE(XMLa)@en[atom:[[content]]]] (0..1)
- [CODE(XMLe)@en[atom:[[contributor]]]] (0..∞)
- [CODE(XMLe)@en[atom:[[created]]]] (0..1)
- [CODE(XMLe)@en[atom:[[id]]]] (0..1)
- [CODE(XMLa)@en[atom:[[issued]]]] (1)
- [CODE(XMLe)@en[atom:[[link]]]] (1..∞)
- [CODE(XMLe)@en[atom:[[modified]]]] (1)
- [CODE(XMLa)@en[atom:[[summary]]]] (0..1)
- [CODE(XMLe)@en[atom:[[title]]]] (1)
]FIG]

[7] [[要素]]の順序に意味があると考えてはなりません [SRC@en[[[Atom 0.3]]]]。

[36] その他に使われるもの:
[FIG(short list)[
- [CODE(XMLe)@en[dc:subject]]
- [CODE(XMLe)@en[hatena:*]]
]FIG]

** メモ

[6] [[Atom 0.3]] には [[Atom 1.0]] の [[Atomエントリー文書]]の概念はなく、
[CODE(XMLe)@en[atom:[[entry]]]] を[[文書要素]]として使うことは規定されていませんでした。

* メモ

[26] [CITE[OData Protocol Atom Format]]
( ([TIME[2012-02-08 21:02:21 +09:00]] 版))
<http://www.odata.org/developers/protocols/atom-format>

[32] [CODE(HTML)@en[og:image]] 相当のものがあっても良さそうですが、
適当な[[要素]]が用意されていないみたいです。
[[Atom]] 仕様を誰もメンテナンスしなくなってしまったので、
時代に追いついていけていないということでしょうか。

[34] >>32 [CODE(XMLe)@en[media:thumbnail]] が使われることがあるみたいです。


[FIG(quote)[
[FIGCAPTION[
[35] [CITE@ja[Atom 0.3 仕様 - Google Merchant Center ヘルプ]]
([TIME[2016-03-19 18:08:54 +09:00]] 版)
<https://support.google.com/merchants/answer/160598?hl=ja>
]FIGCAPTION]

> 
> <issued>2005-10-13T18:30:02Z</issued>
> <modified>2005-10-13T18:30:02Z</modified>
> <g:image_link>http://www.example.com/image1.jpg</g:image_link>
> <g:price>2500</g:price>
> <g:condition>新品</g:condition>
> </entry>

]FIG]


[FIG(quote)[
[FIGCAPTION[
[37] [CITE@en[WebSub]]
([TIME[2018-01-23 01:01:39 +09:00]])
<https://w3c.github.io/websub/#content-distribution>
]FIGCAPTION]

> For Atom ('''['''RFC4287''']''') and RSS ('''['''RSS-2.0''']''') feeds, the hub MAY remove already-delivered atom:entry or rss:item elements from the feed.

]FIG]
