* [CODE(XMLe)@en[atom:link]] 要素 (Atom 1.0) [69] :文脈:[CODE(XMLe)@en[[[atom:feed]]]] の[[子要素]]として、 [CODE(XMLe)@en[[[atom:entry]]]] の[[子要素]]として、 [[RSS 2.0]] [CODE(XMLe)@en[[[channel]]]] の[[子要素]]として ** 仕様書 -[75] [CITE@en[RFC 4287 - The Atom Syndication Format]] -- -- -[1] [CITE@en[RFC 5023 - The Atom Publishing Protocol]] -- -- -- -- -[76] [CITE@en[RSS Best Practices Profile]] ([TIME[2008-11-21 15:11:45 +09:00]] 版) -[77] [[OGC KML 2.2]] ** 文脈 [68] [[リンク型]]によっては個数等に制約が課されていることがあります。 以降の各項や各[[リンク型]]の項もごらんください。 *** [CODE(XMLe)@en[atom:feed]] の子要素として [70] [CODE(XMLe)@en[[[atom:feed]]]] [[要素]]は、 [CODE(XMLa)@en[[[rel]]]] [[属性値]]が [CODE(XML)@en[[[self]]]] である [CODE(XMLe)@en[[[atom:link]]]] [[要素]]を1つ含む[['''べきです''']]。 この[[要素]]は、その [[Atomフィード]]を含む [[Atomフィード文書]]の[[取り出し]]に相応しい [[URL]] を表します。 [SRC@en[[[Atom 1.0]] 4.1.1.]] ;; [71] この「[[属性値]]が」というのが、 [[URL]] として表された長い形式でもよいのか、 正確に「[CODE(XML)@en[[[self]]]]」でなければならないのかは不明です。 [72] [CODE(XMLe)@en[[[atom:feed]]]] [[要素]]は、 [CODE(XMLa)@en[[[rel]]]] [[属性値]]が [CODE(XML)@en[[[alternate]]]] であって、 [CODE(XMLa)@en[[[type]]]] [[属性]]と [CODE(XMLa)@en[[[hreflang]]]] [[属性]]の組が同じであるような [CODE(XMLe)@en[[[atom:link]]]] [[要素]]を複数含んでは[['''なりません''']]。 [SRC@en[[[Atom 1.0]] 4.1.1.]] [73] [[リンク関係]] [CODE(XML)@en[[[alternate]]]] の [CODE(XMLe)@en[[[atom:link]]]] [[要素]]は [[Mobile Link Discovery]] のために用いられることもあります。詳しくはそちらの項を参照してください。 [67] [[集成フィード]]が[[部分リスト]]である場合、最初の[[部分リスト]]は[[リンク関係]]が [CODE(XML)@en[[[link]]]] の [CODE(XMLe)@en[atom:[[link]]]] [[要素]]を含まなければ[['''なりません''']]。 [SRC@en[[[AtomPub]]]] *** [CODE(XMLe)@en[atom:entry]] の子要素として [74] [CODE(XMLe)@en[[[atom:entry]]]] [[要素]]が [CODE(XMLe)@en[[[atom:content]]]] [[要素]]を含ま''ない''場合、 [CODE(XMLe)@en[[[atom:entry]]]] [[要素]]は [CODE(XMLa)@en[[[rel]]]] [[属性]]が [CODE(XML)@en[[[alternate]]]] の [CODE(XMLe)@en[[[atom:link]]]] [[要素]]を最低1つは含まなければ[['''なりません''']] [SRC@en[[[Atom 1.0]] 4.1.2.]]。 [64] [[成員エントリー]]は、[[リンク関係]]が [CODE(XML)@en[[[edit]]]] であって[[成員URI]] を表す [CODE(XMLe)@en[atom:[[link]]]] [[要素]]を含める[['''べきです''']]。 [SRC@en[[[AtomPub]]]] [66] [[集成フィード]]の[[エントリー]]は[[リンク関係]]が [CODE(XML)@pen[[[edit]]]] である [CODE(XMLe)@en[atom:[[link]]]] [[要素]]を含める[['''べきです''']]。 [65] [[媒体資源]]が[[集成]]に [CODE(HTTP)@en[[[POST]]]] されて作成される[[媒体リンク・エントリー]]は、 [[リンク関係]]が [CODE(XML)@en[[[edit-media]]]] であって[[媒体資源IRI]] を表す [CODE(XMLe)@en[atom:[[link]]]] [[要素]]を含めなければ[['''なりません''']]。 [SRC@en[[[AtomPub]]]] *** RSS [CODE(XMLe)@en[channel]] の子要素として [52] [CODE(XMLe)@en[[[link]]]] [[要素]]は [[RSS 2.0]] [CODE(XMLe)@en[[[channel]]]] [[要素]]の[[子要素]]として使うことができます。 その場合、 [CODE(XMLa)@en[[[rel]]]] [[属性]]は [CODE(XML)@en[[[self]]]] でなければ[['''なりません''']]。値が [CODE(MIME)@en[[[application/rss+xml]]]] の [CODE(XMLa)@en[[[type]]]] [[属性]]を持っても[['''構いません''']]。 [SRC@en[[[RSS Best Practices Profile]]]] ;; [53] 違う [CODE(XMLa)@en[[[type]]]] [[属性値]]を禁止した方がいいと思うのですが。。。 [55] [[RSS 2.0]] [[フィード]]は >>52 の [CODE(XMLe)@en[[[link]]]] [[要素]]を含める[['''べきです''']] [SRC@en[[[RSS Best Practices Profile]]]]。 [56] >>55 は、可搬性が向上し、自己完結することとなり、キャッシュも容易になるため、 と説明されています [SRC@en[[[RSS Best Practices Profile]]]]。 *** KML での利用 [51] [[OGC KML]] は [[Atom]] の [CODE(XMLe)@en[[[link]]]] [[要素]]の使用を認めています。 (ただし [CODE(XMLa)@en[[[rel]]]] [[属性値]]は [CODE(XML)@en[[[related]]]] に限定されています。) ** 例 [54] [[RSS 2.0]] [[文書]]での利用例 [PRE(XML example code)[ ]PRE] ;; [[RSS Best Practices Profile]] より ** 関連 [57] [[RSS]] の [CODE(XMLe)@en[[[enclosure]]]] [[要素]]、 [CODE(XMLe)@en[[[link]]]] [[要素]]、 [CODE(XMLe)@en[[[source]]]] [[要素]]と似ています。 [[RSS 2.0]] [[フィード]]においては、 [[RSS]] の[[要素]]と同じ機能を持つ場合、 [[RSS]] の方を使う[['''べきです''']] [SRC@en[[[RSS Best Practices Profile]]]]。 [58] [[RSS]] の [CODE(XMLe)@en[[[link]]]] [[要素]]は、[[局所名]]は同じですが、 全く違う[[意味]]の[[要素]]です。 [[HTML]] の [CODE(HTMLe)@en[[[link]]]] [[要素]]は、[[局所名]]も[[意味]]も[[構文]]もだいたい同じですが、 細かな点で違いが沢山あります。 [[RSS 2.0]] [[文書]]ではこの3種類の [CODE(XMLe)@en[[[link]]]] [[要素]]がすべて同時に現れることもあります(!)。 * [CODE(XMLe)@en[atom:link]] 要素 (Atom 0.3)、Link construct (Atom 0.3) [59] [[Atom 0.3]] の [DFN[[CODE(XMLe)@en[atom:[[link]]]] [[要素]]]]は、 [[フィード]]や[[エントリー]]に関連付けられた [[URI]] を表します [SRC@en[[[Atom 0.3]]]]。 :状態:[[廃止]] → [[Atom 1.0]] [CODE(XMLe)@en[atom:[[link]]]] :[[局所名]]:[CODE(XMLe)@en[[[link]]]] :文脈:[CODE(XMLe)@en[atom:[[feed]]]] や [CODE(XMLe)@en[atom:[[entry]]]] の[[子要素]]として :[[内容モデル]]:[[空]] ([[Link construct]]) :[[属性]]:[CODE(XMLa)@en[[[href]]]], [CODE(XMLa)@en[[[rel]]]], [CODE(XMLa)@en[[[title]]]], [CODE(XMLa)@en[[[type]]]] 仕様書: -[CITE[The Atom Syndication Format 0.3 (PRE-DRAFT)]] -- -- - ** 文脈 [60] [CODE(XMLe)@en[atom:[[feed]]]] [[要素]]や [CODE(XMLe)@en[atom:[[entry]]]] [[要素]]は最低1つ、 [CODE(XMLa)@en[[[rel]]]] が [CODE(XML)@en[[[alternate]]]] の [CODE(XMLe)@en[atom:[[link]]]] [[要素]]を含まなければ[['''なりません''']] [SRC@en[[[Atom 0.3]]]]。 [61] [CODE(XMLe)@en[atom:[[feed]]]] [[要素]]や [CODE(XMLe)@en[atom:[[entry]]]] [[要素]]は [CODE(XMLa)@en[[[type]]]] が他と同じである [CODE(XMLa)@en[[[rel]]]] が [CODE(XML)@en[[[alternate]]]] の [CODE(XMLe)@en[atom:[[link]]]] [[要素]]を複数含んでは[['''なりません''']] [SRC@en[[[Atom 0.3]]]]。 ** 内容 [62] [CODE(XMLe)@en[atom:[[link]]]] [[要素]]は [DFN[[[Link conztruct]]]] です [SRC@en[[[Atom 0.3]]]]。 [53] [[Link construct]] では[[内容]]は[[空]]でなければ[['''なりません''']] [SRC@en[[[Atom 0.3]]]]。 ** 属性 [63] [[Link construct]] は [CODE(XMLa)@en[[[rel]]]], [CODE(XMLa)@en[[[href]]]], [CODE(XMLa)@en[[[type]]]], [CODE(XMLa)@en[[[title]]]] の4つの[[属性]]を持ちます。 そのうち [CODE(XMLa)@en[[[rel]]]] と [CODE(XMLa)@en[[[href]]]] と [CODE(XMLa)@en[[[type]]]] は[['''必須''']]です。 [SRC@en[[[Atom 0.3]]]]