[2] [DFN[[RUBYB[[[アーカイブ文書]]]@en[archive document]]]]は、
[[アーカイブされたフィード]]の一部であって、[[購読文書]]より前の[[エントリー]]を含む[[フィード文書]]です。

* 仕様書

[REFS[
- [1] [CITE@en[RFC 5005 - Feed Paging and Archiving]] ([TIME[2014-03-09 00:10:19 +09:00]] 版) <https://tools.ietf.org/html/rfc5005#section-4>
- [17] [CITE@en[RFC 5988 - Web Linking]]
( ([TIME[2012-03-22 09:19:11 +09:00]] 版))
<http://tools.ietf.org/html/rfc5988#section-6.2.2>
]REFS]

* 性質

[3] 特定の [[URL]] で出版された[[アーカイブ文書]]に含まれる[[エントリー]]の集合は、
時を経て変化する[['''べきではありません''']]。同様に特定の[[アーカイブ文書]]の [[URL]]
は時を経て変化する[['''べきではありません''']]。 [SRC[>>1]]

[19] [[アーカイブ文書]]は安定していて実質的に変更されないと[[クライアント]]は仮定して構わないことになっており、
従って[[アーカイブ文書]]に含まれる[[エントリー]]が変更されても、[[クライアント]]はそれを再取得しないかもしれません。
ですから[[アーカイブ文書]]に加えて (またはその代わりに) [[購読文書]]に変更された[[エントリー]]を含めることを検討するべきです
[SRC[>>1]]。

[20] [[アーカイブ文書]]は、そのすべてを公開し続けることが要求されているわけではありません [SRC[>>1]]。
一定の配信期間を経過したら削除するような場合でも、過去の[[アーカイブ文書]]にアクセスできなくなりますが、
理論上は[[論理フィード]]の全体を提供しているとみなすようです。

* リンク関係型

[4] [[アーカイブ文書]]では[[リンク関係型]]として [CODE@en[[[prev-archive]]]],
[CODE@en[[[next-archive]]]], [CODE@en[[[current]]]] が使われます。

[5] [DFN[[CODE@en[[[prev-archive]]]]]] は、直前の[[アーカイブ文書]]の [[URL]] を表します [SRC[>>1]]。
この[[リンク関係型]]は[[購読文書]]でも使われます。[[アーカイブ文書]]は、それ以上前のアーカイブが無い場合を除き、
[CODE@en[[[prev-archive]]]] [[リンク]]を含まなければ[['''なりません''']]
[SRC[>>1]]。

[6] [DFN[[CODE@en[[[next-archive]]]]]] は、直後の[[アーカイブ文書]]の [[URL]] を表します [SRC[>>1]]。
[[アーカイブ文書]]は、それ以降の[[アーカイブ]]が無い場合を除き、
[CODE@en[[[next-archive]]]] [[リンク]]を含む[['''べきです''']] [SRC[>>1]]。

[7] [DFN[[CODE@en[[[current]]]]]] は、[[dereference]] すると[[論理フィード]]中の最新の[[エントリー]]を含んだ[[フィード文書]]が得られる
[[URL]] を表します [SRC[>>1]]。
[[アーカイブ文書]]は[[購読文書]]を参照する [CODE@en[[[current]]]] [[リンク]]を含む[['''べきです''']] [SRC[>>1]]。

;; [8] なぜ [CODE@en[[[current]]]] の定義が[[購読文書]]ではなく >>7 のような説明になっているのかは謎です。

[11] [[購読文書]]は[[アーカイブ文書]]でありません。定義上、[[アーカイブ文書]]が[[購読文書]]となることは不可能とは断言できませんが、
一般的ではなさそうです。

* [CODE(XMLe)@en[fh:archive]] 要素 (Atom)

[10] [DFN[[CODE(XMLe)@en[[[fh:archive]]]]]] [[要素]]は[[フィード]]が[[アーカイブ文書]]であることを表します。

** 文脈

[9] [[アーカイブ文書]]は[[頭部]]に [CODE(XMLe)@en[[[fh:archive]]]] [[要素]]を含める[['''べきです''']]
[SRC[>>1]]。

[14] すなわち、 [[Atom 1.0]] の [CODE(XMLe)@en[[[atom:feed]]]] [[要素]]の 
[CODE(XMLe)@en[[[atom:entry]]]] [[要素]]より前の部分や [[RSS 2.0]] の
[CODE(XMLe)@en[[[channel]]]] [[要素]]の [CODE(XMLe)@en[[[item]]]]
[[要素]]より前の部分で使うことができるようです。

[15] 明確には定義されていませんが、それ以外、例えば [CODE(XMLe)@en[[[atom:entry]]]] や
[CODE(XMLe)@en[[[atom:source]]]] の中では使えなそうです。

** 属性

[13] [[属性]]はありません。

** 内容

[12] [CODE(XMLe)@en[[[fh:archive]]]] [[要素]]は[[空要素]]です。
[[内容]]は定義されていません。 [SRC[>>1]]

** メモ

[16] [CODE(XMLe)@en[[[fh:archive]]]] [[要素]]はなぜか必須ではないようなので、
[[アーカイブ文書]]であるかどうかを確実に判別する方法はありません。
[CODE@en[[[prev-archive]]]] や [CODE@en[[[next-archive]]]]
は参照先が[[アーカイブ文書]]とされているので、そこから推定することはできそうです。

* 歴史

[21] [[アーカイブ文書]]の3つの[[リンク関係型]]は [[Atom]] の[[リンク関係型]]の登録簿に >>1
で登録されています。このうち [CODE@en[[[current]]]] は、 >>1 で定義を更新する形になっています。

[18] [[アーカイブ文書]]の3つの[[リンク関係型]]は [[Web Linking]] の登録簿に >>17
で登録されています。なおこの登録簿は [[Atom]] の登録簿を置き換えるものです。
