[39] [DFN[[RUBYB[リンク型]@en[link type]]]]は、[[リンク]]における関係の種類を表す短い文字列です。

[EG[
[180] 例えば、「次のページへのリンクである」、「スタイルシートへのリンクである」、
「上の階層へのリンクである」といったようなリンクの意味を記述できます。
]EG]

* 仕様書

[REFS[
- [4] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-01-16 08:47:54 +09:00]] 版) <https://html.spec.whatwg.org/#links>
-- [11] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-01-16 08:47:54 +09:00]] 版) <https://html.spec.whatwg.org/#linkTypes>'''
--- [18] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-01-16 08:47:54 +09:00]] 版) <https://html.spec.whatwg.org/#concept-rel-extensions>
- [38] [CITE@en[existing rel values · Microformats Wiki]] ([TIME[2015-01-25 20:13:16 +09:00]] 版) <http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>
-[76]  [[RFC 4287]] <http://tools.ietf.org/html/rfc4287#section-4.2.7>
- [149] [CITE@en[RFC 5023 - The Atom Publishing Protocol]] ([TIME[2008-11-20 18:52:14 +09:00]] 版) <http://tools.ietf.org/html/rfc5023#section-3>
- [151] [CITE@en[RFC 5988 - Web Linking]] ([TIME[2012-03-22 09:19:11 +09:00]] 版) <http://tools.ietf.org/html/rfc5988#appendix-B>
]REFS]

* 呼称

[216] [CITE[HTML Standard]] は本項の概念を[RUBYB[リンク型]@en[link type]]と呼んでいます。

[217] 例外的に、 [CODE[<link type>]] [[属性]]の処理に関する規定1箇所と、
[[廃止]]された [CODE[rev]] [[属性]]の処理に関する規定1箇所でのみ[DFN[[RUBYB[リンク関係性]@en[link relationship]]]]、
他の[[仕様書]]の[[引用]]1件でのみ[RUBYB[リンク関係]@en[link relation]]と呼んでいます。

[218] [[Web Linking]] とそれに従う[[仕様書]]は、本項の概念を[DFN[[RUBYB[リンク関係]@en[link relation]]]]や[RUBYB[リンク関係型]@en[link relation type]]と呼んでいます。

[219] 「関係」というのはこの値を含める [[HTML]] の[[属性名]]が [CODE[rel]] であるように、
[[リンク]]の[[始点]]と[[終点]]の関係性を説明するための値であることに由来する語と思われます。

[220] [CODE[rel=stylesheet]] のような[[外部資源リンク]]や
[CODE[rel=noreferrer]] のような[[ハイパーリンク注釈]]などの広範な用法を踏まえれば、
[[リンク型]]という呼称の方が適切かもしれません。

* 意味

[32] [[リンク型]]は、[[リンク]]における[[始点]]と[[終点]]との関係や性質を記述するものです。
[[リンク]]には、0個以上の[[リンク型]]を指定することができます。
[[リンク型]]には[[外部資源へのリンク]]であることを表すものと、
[[ハイパーリンク]]であることを表すものがあります。

[EG[
[181] [CODE(HTML)@en[[[stylesheet]]]] は[[スタイルシート]]という[[外部資源へのリンク]]を表しています。
[[人間利用者]]が直接使うことは想定されておらず、[[利用者エージェント]]が自動的に読み込むべき[[リンク]]です。

[182] 一方で [CODE(HTML)@en[[[next]]]] は次のページへの[[ハイパーリンク]]を表しています。
]EG]

[33] [[リンク型]]は元々 [[HTML]] の[[リンク]]関連の[[要素]]で規定されたものですが、
それに影響されて [[HTTP]] や [[Atom]] などでも類似した仕組みが採用されています。

-*-*-

[227] 
[[HTML]] では、[[リンク型]]は[[外部資源リンク]]を作るもの、
[[ハイパーリンク]]を作るもの、それに[[ハイパーリンク]]を補足する[[ハイパーリンク注釈]]の3種類に分類しています。

[228] 
更に細かく次のように分類されると考えられます。

- [229] 当該 [[Webページ]]の構成の一部を記述しており、
[[Webブラウザー]]によって自動的に処理されることがあるもの。
-- 例えば [CODE[rel=stylesheet]] や [CODE[rel=preload]]
-- [237] [CODE[rel=icon]] と併用することだけ可能な [CODE[rel=shortcut]]
- [230] 当該 [[Webページ]]に関する処理 (編集や認証など)
のため[[Webブラウザー]]以外の[[利用者エージェント]]によって自動的に処理されることがあるもの。
-- 例えば [CODE[rel=pingback]] や [CODE[rel=micropub]] や [CODE[rel=image_src]] や [CODE[rel=stylesheet/less]]
- [231] 関連する [[Webページ]]や [[URL]] への[[リンク]]を表しており、
場合によっては[[UI]]を通じて[[利用者]]に提示されるもの。
-- 例えば [CODE[rel=next]] や [CODE[rel=category]]
-- [233] [CODE[rel=sitemap]] のように特定の[[利用者エージェント]]が処理するもの
-- [236] [CODE[rel=stylesheet]] と併用されて特別な意味を持つ [CODE[rel=alternate]]
- [235] 当該 [[Webページ]]の他の表現への[[リンク]]を表すもの。
-- [238] [CODE[rel=canonical]] や [CODE[rel=amphtml]] のように特定の[[利用者エージェント]]が処理するもの
- [232] [[リンク]]の処理方法を指定するもの。
-- 例えば [CODE[rel=noreferrer]] や [CODE[rel=noopener]] や [CODE[rel=lightbox]] や [CODE[rel=sidebar]]
- [239] 意味をなさないもの
-- 例えば [CODE[rel=profile]] や [CODE[rel=schema.DCTERMS]]

* 構文

** リンク型の構文

[19] [[リンク型]]は、 [[HTML Standard]] または [[microformats wiki]]
で示された値のいずれかとされています [SRC[>>18]]。[[microformats wiki]]
には誰でも値を追加できることになっています [SRC[>>18]]。

[20] [[リンク型]]は[[ASCII大文字・小文字不区別]]です [SRC[>>11]]。
また [[microformats wiki]] に登録する値に [CODE[[[:]]]] が含まれる時は、
[[絶対URL]]でなければ[['''なりません''']]。それ以外に構文的制約はありませんが、
実用上は [CODE(HTMLa)@en[[[rel]]]] [[属性]]で使うため、
1文字以上の[[間隔文字]]以外の[[文字]]の列とする必要があります。

[26] [[適合性検査器]]は、 [[microformats wiki]] の内容を使わなければ[['''なりません''']]。
[[HTML Standard]] や [[microformats wiki]] で承認されている値は認められ、
拒絶されている値や掲載されていない値は認められないとしなければ[['''なりません''']]。
また掲載されていない値があれば、登録を勧める[['''べきです''']]。 [SRC[>>18]]

** リンク型の集合の構文

[13] [[HTML]] [CODE(HTMLa)@en[[[rel]]]] [[属性]]では、
値は[[字句の間隔分離集合]]とされています。ここで各[[キーワード]]は、
[[リンク型]]でなければなりません。[[キーワード]]は[[ASCII大文字・小文字不区別]]です
[SRC[>>11]]。原則として同じ値を複数指定しては[['''なりません''']] [SRC[>>11]]。

[17] [[リンク型]]のキーワードが含まれるか決定する時は、[[間隔で分割]]して
[[ASCII大文字・小文字不区別]]で比較しなければ[['''なりません''']] [SRC[>>11]]。

;; [14] [CODE(HTMLa)@en[[[rel]]]] [[属性]]の項を参照。

[85] 含まれる[[リンク型]]は、それぞれ独立して解釈されます。ただし、
次の例外があります。
[FIG(list)[
- [153] [CODE(HTML)@en[[[alternate stylesheet]]]] は、2つ組み合わせて特別な意味を持ちます。
- [154] [CODE(HTML)@en[[[shortcut]]]] は、 [CODE(HTML)@en[[[shortcut icon]]]]
としてのみ指定できます。
- [155] [CODE(HTML)@en[[[up]]]] は、複数回指定することで階層の深さを表現できます。
]FIG]

[170] [CODE(HTML)@en[[[pingback]]]] は他の[[リンク型]]との併用を禁じています。

* リンク型とマーク付け言語

[51] [[リンク型]]およびその派生系は色々な[[マーク付け言語]]や[[プロトコル]]で採用されています。
個々の[[リンク型]]の値も、複数の[[マーク付け言語]]で共通して使われているものがあります。
しかし、すべての[[リンク型]]がすべての文脈で使えるわけではありませんし、
使えるかどうか明確になっていない組み合わせも多々あります。

[171] 文脈によっては、特定の[[リンク型]]を有する[[要素]]が必須だったり、
禁止されていたりすることがあります。

[52] [[HTML]] の[[リンク型]]は、 [CODE(HTMLe)@en[[[link]]]] [[要素]]で使えるか否か、
[CODE(HTMLe)@en[[[a]]]] [[要素]]および [CODE(HTMLe)@en[[[area]]]]
[[要素]]で使えるか否かがそれぞれ規定されることになっています。
ただし [[HTML Standard]] や [[microformats wiki]] に登録されていない[[リンク型]]は、
これらを明確に規定していないことがよくあります。

[53] [[Web Linking]] に基づく[[リンク型]]は、 [[HTTP]] [CODE(HTTP)@en[[[Link:]]]]
[[ヘッダー]]など [[Web Linking]] を採用する文脈で使うことができます。
しかし [[Web Linking]] を採用する[[マーク付け言語]]は多く、
明示的に禁止されていなくてもどう解釈するべきか定まらない組み合わせもあります。
明確に認められていない限り利用できないと保守的に解釈するのが[[相互運用性]]のためには好ましいのかもしれません。

;; [[Web Linking]] の[[対象属性群]]の項も参照。

[54] [[Web Linking]] および関連仕様は [[HTML4]] が [[Web Linking]]
の応用だと主張していますが、 [[HTML4]] はそのように規定していませんし、
[[HTML Standard]] の規定とも整合していません。個別の[[リンク型]]が
[[HTML]] でも使えるように規定・登録されていない限り、 [[Web Linking]]
[[リンク型]]を [[HTML]] で使えるわけではありませんし、
同名で登録されていても意味や処理方法が同じとは限りません。

[194] [[HTML]] や [[Web Linking]] の[[リンク型]]は[[ASCII大文字・小文字不区別]]ですが、
[[Atom]] では区別されます。
その他の仕様でも、区別するかどうかはそれぞれに異なります。

;; [204] [[Atom]] の[[リンク関係型]]の [[IANA登録簿]]は [[Web Linking]]
に乗っ取られましたが、 [[Atom]] 自体は改訂されていないので、
これをどう解釈するべきかは謎に包まれています。
例えば [[IANA登録簿]]に [CODE[convertedFrom]] という値が登録されており、
[[Web Linking]] としては [CODE[convertedfrom]] とも [CODE[CONVERTEDFROM]]
とも同じ値という扱いです。
[[Atom]] で [CODE[rel]] [[属性値]]に [CODE[convertedfrom]]
が指定されたとき、これが [[IANA登録簿]]にある [CODE[convertedFrom]]
であると解釈できるのかどうかは不明です。

[81] [[HTML]] は複数の[[リンク型]]を組み合わせて特別な意味を表すことがありますが
(例えば [CODE(HTML)@en[[[alternate stylesheet]]]] や [CODE(HTML)@en[[[up]] [[up]]]])、 [[Atom]]
など一部の[[マーク付け言語]]では同時に複数の[[リンク型]]を指定することを認めていません。

[193] [[Atom]] は [[URL]] でない[[リンク型]]は
[CODE[[[http://www.iana.org/assignments/relation/]]]]
を前に連結したものと等価だと規定しています (>>79) が、
[[Atom]] を[[更新]]する [[Web Linking]] にはそのような規定はありませんし、
[[HTML]] その他の[[リンク型]]の仕様にもそのような規定はありませんから、
[CODE[[[http://www.iana.org/assignments/relation/]]]]
が含まれる[[リンク型]]をどう解釈するべきかは定かではありません。

[60] [[RDFa]] は [CODE(HTMLa)@en[[[rel]]]] [[属性]]や [CODE(HTMLa)@en[[[rev]]]]
[[属性]]を独自の用法に流用していますが、この用法は [[HTML Standard]]
の規定と矛盾しています。 [[RDFa]] を採用している実装とそれ以外では、
同じ[[リンク型]]でも解釈が全く異なることがあり得ます。

[196] [[BEACON]] は [[RFC 3986]] [[URI]] または [[RFC 5988]] の [[IANA]] 登録済み[[リンク関係]]を使えるとしています。
[[RDF]] に[[写像]]する際の省略時の既定値は [CODE[[[http://www.w3.org/2000/01/rdf-schema#sameAs]]]]
と定義しています。 [[URI]] でない[[リンク関係]]の[[写像]]はありません。

[179] 各[[言語]]はそれぞれの[[応用]]のためにそれぞれの[[語彙]]を規定しているのですから、
[[リンク型]]を1つ定義すればどこでも使えるというのは安易すぎます。(もちろんばらばらであるよりは、
整合性があった方が好ましいのでしょうが。) [[HTML]] に限っても、
[[リンク]]を表す[[要素]]は多数あり、どこでどの[[リンク型]]を使うことができ、
どのような意味を表し、どう処理されるかはそれぞれで異なっています。
(歴史的には、 [[HTML4]] までは文脈による違いを考えず、ただの値の意味を曖昧に規定するだけでしたが、
[[HTML5]] 以後詳細に規定されるようになりました。) 
登録簿だけを無理に統合して個々の[[リンク型]]の各言語での用法を曖昧なままにするのではなく、
各言語がどの[[リンク型]]を利用し、その言語においては何を表し、どう処理されるべきなのか、
どの[[リンク型]]は利用できないのかを明確に規定することが望まれます。 (が、
残念ながら現時点でそれをしているのは [[HTML]] だけです...)

[172] [CODE(HTMLe)@en[[[link]]]] [[要素]]の [CODE(HTMLa)@en[[[sizes]]]]
[[属性]]や [CODE(HTMLa)@en[as][<link as>]] [[属性]]の適合性は、
[[リンク型]]の影響を受けます。

[192] [[Atom]] で用いられる[[リンク型]]のいくつかは、独自の追加[[属性]]や[[子要素]]を規定しています。

** Atom 1.0 におけるリンク関係型

[74] [[Atom]] は [CODE(XMLe)@en[[[atom:link]]] [[要素]]の [CODE(XMLa)@en[[[rel]]]]
[[属性]]の値として[DFN[[RUBYB[リンク関係型]@en[link relation type]]]]を使っています。

[150] [DFN[[RUBYB[関係]@en[relation (of)]]]]とは、 [CODE(XMLe)@en[[[atom:link]]]]
[[要素]]の [CODE(XMLa)@en[[[rel]]]] [[属性値]]を指します [SRC[>>149]]。

*** 構文

[75] [[属性値]]は [[RFC 3987]] の [CODE(ABNF)@en[[[isegment-nz-nc]]]] と
[CODE(ABNF)@en[[[IRI]]]] のいずれかの[[生成規則]]に[[一致]]しなければならないとされています
[SRC[[[RFC 4287]] 4.2.7.2.]]。

[77] [[RELAX NG]] [[スキーマ]] ([[参考]]) では [CODE(XML)@en[[[atomNCName]]]] または
[CODE(XML)@en[[[atomUri]]]] とされています [SRC[[[RFC 4287]] 4.2.7.2.]]。

[78] [[HTML4]] や [[HTML5]] と比較すると、任意の[[文字列]]ではなく [[IRI]]
に制限されている点、複数の型は指定できず、1つだけである点が異なります。
[[Atom]] は[[大文字・小文字区別]]ありの比較である点も異なります。

*** 意味

[79] [CODE(ABNF)@en[[[isegment-nz-nc]]]] による[[名前]]が与えられた場合、
[[IANA登録簿]]にあるのと同じ名前、従って [CODE(URI)@en[[[http://www.iana.org/assignments/relation/]]]]
の後に当該文字列が連結された値と同じものが指定されたのと同じとみなされなけば[['''なりません''']]
[SRC[[[RFC 4287]] 4.2.7.2.]]。

*** [CODE(URI)[http://www.iana.org/assignments/relation/]]

[112] [DFN[[CODE(URI)@en[[[http://www.iana.org/assignments/relation/]]]]]] は現在 [['''404''']]
エラーを返していますし、 [[Internet Archive]] によれば以前から存在していなかったようです。
[[リンク型]]を結合した [[URL]] についても同様です。

[113] [[HTTP]] [CODE(HTTP)@en[[[Link:]]]] も以前の [[Internet Draft]] は [[Atom]]
と同じくこの [[URL]] を使っていましたが、 [[RFC 5988]] は採用していません。

*** 関連

[147] [[Web Linking]] のリンク型 (>>99) とは、 [[URI]] ではなく [[IRI]] をベースにしていることや、
>>79 の通り短い文字列も [[URL]] として表した長い文字列の簡略形である点、
短い文字列の[[大文字]]と[[小文字]]を区別する ([[Web Linking]] は区別しない) 点が異なっており、
厳密には互換性がありません。

[148] [[IANA登録簿]]については [[Web Linking]] によって置き換えられています (>>118) が、
[[Atom]] のデータ型として、あるいは [CODE(XMLe)@en[[[atom:link]]]] 
[[要素]]の定義としては置き換えられているとは記載されておらず、
引き続き [[RFC 4287]] の規定が有効であるようです。

;; [164] このような曖昧性があるので、[[差分仕様書]]はやめてほしいものです・・・。

** Web Linking におけるリンク型

[99] [[Web Linking]] における[DFN[[RUBYB[[[リンク関係型]]]@en[link relation type]]]]は、
[[リンク]]の[[意味]]や、対象となる[[資源]]が有する属性や動作を表すものです。 [SRC[>>98]]

[EG[
[100] 例えば、[[リンク関係型]] [CODE[[[copyright]]]] は、[[対象IRI]]で識別される[[資源]]が[[文脈IRI]]
で表される[[資源]]に関する著作権を記述している、という[[リンク]]の意味を表しています。 [SRC[>>98]]

[101] 例えば、[[リンク関係型]] [CODE[[[service]]]] は、[[対象IRI]]で識別される[[資源]]があるプロトコルの一部、
この場合はサービス記述文書であることを暗示しています。 [SRC[>>98]]
]EG]

*** 仕様書

[REFS[
- [98] [CITE@en[RFC 5988 - Web Linking]] ([TIME[2012-03-22 09:19:11 +09:00]] 版) <http://tools.ietf.org/html/rfc5988#section-4>
]REFS]

*** 相互関係

[103] [[リンク関係型]]は、他の[[リンク関係型]]が存在する、あるいは存在しないことにより、
あるいは同じ[[リンク関係型]]の個数により、意味が変わる[['''べきではありません''']]。
ただし、 [CODE(HTML)@en[[[alternate]]]] と [CODE(HTML)@en[[[stylesheet]]]] の組み合わせは例外とします。
[SRC[>>98]]

;; [104] [[HTML]] の[[リンク型]]はこれ以外にもいくつかこの手の[[リンク型]]が存在するので、
その意味で [[HTML]] と [[Web Linking]] には互換性がありません。

*** 登録関係型

[105] [DFN[[RUBYB[[[登録関係型]]]@en[registered link type]]]]とは、 [[IANA]]
に登録された[[リンク関係型]]を言います。

[106] [[登録関係型]]の名前は [CODE[reg-rel-type]] [[生成規則]]に適合し[['''なければなりません''']]。
比較は[[大文字・小文字不区別]]で行わなければ[['''なりません''']]。
[[登録関係型]]の名前は十分詳しくある[['''べき''']]であり、
特定の[[応用]]のための関係が一般的な名前を使うべきではありません。
[[文脈IRI]]の[[MIME型]]を含んだり、制約したりしては[['''なりません''']]。
[SRC[>>98]]

[PRE(ABNF code)[
  reg-rel-type   = LOALPHA *( LOALPHA | DIGIT | "." | "-" )
]PRE]

;; [111] [CODE[[[reg-rel-type]]]] はすべて[[ASCII文字]]なので、[[ASCII大文字・小文字不区別]]です。

[107] 特定の[[応用]]での処理のための情報、例えば [[Webブラウザー]]の処理方法についても登録簿に含めることができます。
[SRC[>>98]]

*** 拡張関係型

[108] [DFN[[RUBYB[拡張関係型]@en[extension relation type]]]]とは、 [[URI]] として表される[[リンク関係型]]を言います。

[109] 登録したくない[[応用]]は [[RFC 3986]] [[URI]] を[[拡張関係型]]として使うことができます。
[[URI]] が指す[[資源]]に[[リンク関係型]]の意味の定義を含めることができますが、
[[クライアント]]がこれに自動アクセスする[['''べきではありません''']]。
比較の際は[[大文字・小文字不区別]]で文字列として行わなければ[['''なりません''']]。
すべて[[小文字]]の [[URI]] を使う[['''べきです''']]。

;; [110] [[URI]] はすべて[[ASCII文字]]なので、[[ASCII大文字・小文字不区別]]です。
文字列として、ということなので[[相対参照]]の[[解決]]は行われません。ただし、 [[CURIE]]
として記述されている [[URI]] を元の [[URI]] に復元する、という処理が言及されているので、
同様に任意の[[URI参照]]として記述されている [[URI]] を[[解決]]して元の [[URI]]
に復元する、という記述形式を定義することは可能だと思われます。

[146] [[リンク関係型]]が [[URI]] であって [[IRI]] でないのは、[[比較]]の容易のためであるとされています。
また、 [[リンク関係型]]は[[利用者]]に対して表示するものではないともされています。  [SRC[>>98 8.]]

;; [156] [[HTML]] でも[[リンク型]]に [[URL]] を使うことはできますが、
特別扱いはされておらず、 [[microformats wiki]] への登録が必要な点、
[[HTML]] では [[RFC 3986]] [[URI]] でない [[URL]] も禁止されていない点が異なっています。

*** 関連

[102] >>101 のような使われ方から、 [[MIME型]]と混同しそうですが、[[資源]]の[[表現]]の書式を表すために使うものではなく、
あくまでも関係性を述べるものに過ぎない、とされています。 [SRC[>>98]]

** Activity Streams のリンク関係

[212] [[Activity Streams]] の [CODE[Link][Link (Activity Streams)]] 
は [[RFC 5988]] を参照しつつ、
[CODE[rel]] [[プロパティー]]における独自の[RUBYB[[[リンク関係]]]@en[link relation]]の用法を規定しています [SRC[>>213]]。

[214] 複数の値を [[JSON配列]]により表現できます [SRC[>>213]]。
[[順序]]に意味があるのかは不明です。

[215] [CODE[rel]] [[プロパティー]]を指定しない場合、[[リンク関係]][RUBYB[未指定]@en[unspecified]]と解釈されます
[SRC[>>213]]。


[221] [[Activity Streams]] は、[[HTML 5.0]] に
[[RFC 5988]] とは違った「[RUBYB[リンク関係]@en[link relation]]」
の定義が含まれるとし [SRC[>>213]]、
[[HTMLの空白]]や [CODE[,]] を含まない任意の[[文字列]]が [[HTML 5.0]]
の[RUBYB[妥当なリンク関係]@en[valid link relation]]である [SRC[>>213, >>225]]、
と述べています。
その上で、 [[Activity Streams]] では [[RFC 5988]] と [[HTML 5.0]]
の両方で構文的に [SRC[>>213]] 妥当な[[リンク関係]]のみを用いなければ[MUST[ならない]]
[SRC[>>213, >>225]] とし、
未登録の[[リンク関係]]の値の利用を認めています [SRC[>>213]]。

[222] 厳密に言えば、 [[HTML 5.0]] (やその[[コピペ]]元の [CITE[HTML Standard]])
は[[リンク型]]を定義していますが、[[リンク関係]]は定義していません。

[223] [[HTMLの空白]]以外の任意の[[文字列]]が認められるというのは雑な説明で、
実際にはより細かな制約がありますし、利用する値は登録する必要があります。
あたかも [[HTML 5.0]] のために未登録の値が認められると誤認するような書き方になっていますが、
実際には [[HTML 5.0]] とは関係のない、 [[Activity Streams]] 独自の規定です。

[226] [[HTML 5.0]] が [CODE[,]] を認めていないとするのは、事実に反します。

[224] [[RFC 5988]] の[[リンク関係]]と [[HTML 5.0]] の[[リンク型]]はどちらも[[大文字・小文字不区別]]ですが、
[[Activity Streams]] には何の言及もなく、同じく不区別とするべきなのか、はっきりしません。

[REFS[
- [213] [CITE@en[Activity Streams 2.0]] ([TIME[2017-05-21 23:50:36 +09:00]]) <https://w3c.github.io/activitystreams/core/#dfn-link>
- [225] [CITE@en[Activity Vocabulary]] ([TIME[2017-05-21 23:50:36 +09:00]]) <https://w3c.github.io/activitystreams/vocabulary/#dfn-rel>
]REFS]

* リンク型の一覧

[97] [[リンク型の一覧]]を参照。

** Microformats Wiki の登録簿

[44] [[HTML Standard]] は [[microformats wiki]] の[[リンク型]]の一覧 [SRC[>>38]]
を参照しています。 [[microformats wiki]] の当該ページには [[HTML]]
以外で使われる[[リンク型]]の一覧なども掲載されていますが、そのうちの一つの表が
[[HTML]] 用の登録簿となっています。

[202] [[Wiki]] なので基本的には誰でも好きなように変更できますが、
実際には長期間安定して運用されているようです。
ある日突然おかしな内容に書き換えられていることもありません。

** IANA リンク関係型登録簿

[116] [[IANA]] は [[Web Linking]] 仕様に基づく [[IETF]] の[[リンク関係型]]の登録簿を管理しています。

*** 仕様書

[REFS[
- [122] [CITE[Link Relations]] <http://www.iana.org/assignments/link-relations/>
- [124] [CITE@en[RFC 5988 - Web Linking]] ([TIME[2012-03-22 09:19:11 +09:00]] 版) <http://tools.ietf.org/html/rfc5988#section-6.2>
]REFS]

[128] 登録簿 (>>122) は他の [[IANA登録簿]]同様、 [[HTML]]、[[XML]]、[[平文]]で提供されています。
[TIME[2012-06-28T12:48:18.700Z]]

*** 登録手続き

[132] 登録はまず [DFN[[[link-relations@ietf.org]]]] [[メーリング・リスト]]に登録雛形を埋めて送信することで行われます。
[SRC[>>124]]

[127] [[RFC 5226]] [RUBYB[[[指定専門家]]]@en[Designated Expert]]の助言に基づき、
[RUBYB[[[仕様書必須]]]@en[Specification Required]]の形で登録されることとなっています。 [SRC[>>124]]

[129] 登録雛形を埋めたものは通常 [[RFC]] または [[RFC 2026]] [RUBYB[[[開放型標準]]]@en[Open Standard]]により出版されることになっていますが、
[[指定専門家]]は出版されることを前提に出版前に承認して構いません。 [SRC[>>124]]

[130] 未登録の[[リンク関係型]]が広く使われており、直ちに登録される見込みもない場合、
[[指定専門家]]の判断により第三者が登録することもできます。 [SRC[>>124]]

[133] [[指定専門家]]は承認または拒否を14日以内に決定します。
決定に対する不服は [[Application Area Directors]]へ、更には [[IESG]] 全体へと申し立てられます。
[SRC[>>124]]

[131] 登録雛形には次の項目が含まれます [SRC[>>124]]。
[FIG(short list)[
- 登録名
- 説明
- 参考文献
- メモ ([[任意選択]])
- 応用データ ([[任意選択]])
]FIG]

*** メモ

[158] この登録簿の運用はほとんど滅茶苦茶で、何の役に立つのかとても怪しいです。

[161] 例えば [CODE(HTML)@en[[[alternate]]]] という値は [[Atom]] 登録簿時代 [SRC[>>157]]
には [[RFC 4287]] ([[Atom 1.0]]) を出典にしていて、当然ながら [[RFC 4287]]
には [[Atom]] における用法の規定が含まれていました。ところが現在 
([TIME[2015-01-27T05:17:00.00Z]]) は
<http://www.w3.org/TR/html5/links.html#link-type-alternate> が出典になっていて、
リンク先には [[W3C]] [[HTML 5.0]] における用法の規定しか含まれていません。
[[W3C]] [[HTML 5.0]] は [[Web Linking]] の[[リンク関係型]]とは異なる[[リンク型]]としての
[CODE(HTML)@en[[[alternate]]]] を規定しているだけで、 [[Atom]]
での用法は一切言及していません。従って、公式には [[Web Linking]]
において[[リンク関係型]] [CODE(HTML)@en[[[alternate]]]]
は「登録されているが規定は存在しない」という意味不明な状態となります。

[162] [CODE(HTML)@en[[[previous]]]] という値は [[Atom]] 登録簿時代 [SRC[>>157]]
には [[RFC 5005]] ([[Atom]] [[ページング]]) を出典に [[Atom]]
における用法の規定を参照していました。現在 ([TIME[2015-01-27T06:38:29.500Z]])
は <http://www.w3.org/TR/1999/REC-html401-19991224> を出典にしていますが、
やはり [[Web Linking]] の[[リンク関係型]]とは異なる[[リンク型]]としての言及で、
しかも「実装する[[利用者エージェント]]もある」との記載であって規定ですらありません。
[[IANA登録簿]]の説明文も [[HTML4]] も [CODE(HTML)@en[[[prev]]]] の
「Synonym」としていますが、そちらは <http://www.w3.org/TR/html5/links.html#link-type-prev>
を出典としていて、 [[Web Linking]] とは異なる[[リンク型]]の規定です。
こちらには [CODE(HTML)@en[[[previous]]]] も同義として実装しなければならないとの規定があり、
なぜ [CODE(HTML)@en[[[previous]]]] の出典がこちらでないのかは謎です。
[[リンク関係型]]と[[リンク型]]の違いを無視したとしても、 [CODE(HTML)@en[[[previous]]]]
は実装しなければならないが使ってはならず、 [CODE(HTML)@en[[[prev]]]]
を使わなければならないとの [[HTML]] の規定が [[Atom]] にも適用されるかは明らかではありません。
([[RFC 5005]] は [CODE(HTML)@en[[[prev]]]] に言及すらしておらず、 [[RFC 5005]]
の実装は [CODE(HTML)@en[[[prev]]]] を知らない可能性があります。)

[203] [CODE[derivedfrom]] という値は突然削除されました。
登録手続きはあっても削除手続きはないので、どのように削除されたのかは謎です。

;; [CODE[derivedFrom]] 参照。

** IANA リンク型応用データ登録簿

[137] [[RFC 5988]] は[[リンク関係型]]に加えて、[[リンク型応用データ]]に関する
[[IANA]] 登録簿 ([[Link Relation Application Data Registry]]) も定義しています。

[145] ただし [[RFC]] には具体例が示されておらず、現時点で1つも登録が無いため、
どのような利用を想定しているのかはっきりしていません。

[REFS[
- [122] [CITE[Link Relations]] <http://www.iana.org/assignments/link-relations/>
- [136] [CITE@en[RFC 5988 - Web Linking]] ([TIME[2012-03-22 09:19:11 +09:00]] 版) <http://tools.ietf.org/html/rfc5988#section-6.3>
]REFS]

*** 登録手続き

[140] 登録は [[RFC 5226]] [RUBYB[[[指定専門家]]]@en[Designated Expert]]の助言により
[[RFC 5226]] [RUBYB[[[仕様書必須]]]@en[Specification Requred]]の方式により行います。
[SRC[>>136]]

[144] 登録雛形は [[link-relations@ietf.org]] に送られるべきであり、
[[指定専門家]]は14日以内に承認または拒否の判断を下します。
21日を超えて決定が下されないときは [[IESG]] に上訴できます。 [SRC[>>136]]

[141] 登録雛形には次の項目が含まれます [SRC[>>136]]。
[FIG[
- 応用名
- 説明
- 既定値
- メモ ([[任意選択]])
]FIG]

[142] ここで説明には応用データの[[値空間]]を含める[['''べきです''']]。 [SRC[>>136]]

[143] 既定値は応用データが適用されない[[リンク関係型]]に対して適当でなければ[['''なりません''']]。
応用データの登録以前に登録された[[リンク関係型]]には既定値が適用されるものとみなします。
これが不適当であるときは[[指定専門家]]や (可能なら) 登録者と相談の上適切に修正するべきであります。
[SRC[>>136]]

* 歴史

** HTML1

[241] [CITE[HyperText Design Issues: Link types]], [TIME[2009-08-27T21:38:06.000Z]], [TIME[2024-08-15T15:17:34.495Z]] <https://www.w3.org/DesignIssues/LinkTypes.html>

** HTML3

[245] [CITE[REL/REV Usage Ideas]], [TIME[2024-09-28T05:46:47.000Z]], [TIME[1996-11-04T04:09:46.140Z]] <https://web.archive.org/web/19961104033358/http://ugly.resnova.com/relrevusage.html>

** HTML 4 のリンク型

[35] [[HTML4]] の仕様書で認められた (recognized) リンク型は
<http://www.w3.org/TR/html4/types.html#type-links> に、
その慣習的な (conventional) 解釈と共に挙げられています。

わざわざ「慣習的」と言っているからには、
特に HTML 4 で規定するのではなく、そう解釈されてきたからこれからもそうするといいよと言っているように思われます。

[183] [[連結]]の[DFN[[RUBYB[役割] [role]]]]は、 [CODE(HTMLe)[[[a]]]]
要素や [CODE(HTMLe)[[[link]]]] 要素の [CODE(HTMLa)[[[rel]]]]
属性や [CODE(HTMLa)[[[rev]]]] 属性で指定します。

[REFS[
- [184] 12.1.2 ther link relationships <IW:HTML4:"struct/links.html#idx-link-2">
]REFS]

** XLink

[185] [[XLink]] には[[リンク型]]そのものはありませんでしたが、 
[CODE(XMLa)@en[[[xlink:role]]]] [[属性]]や [CODE(XMLa)@en[[[xlink:arcrole]]]]
[[属性]]は似た性質を持っていました。

;; 両者の関係は明確ではなく、 [[XLink]] の開発時にどの程度意識されていたのかは不明です。

** Atom 0.3 におけるリンク型

[34] [[Atom 0.3]] [CODE(XMLe)@en[[[atom:link]]]] [[要素]]の
[CODE(XMLa)@en[[[rel]]]] [[属性]]の値は、
[[Atom API]] 仕様案で規定された値のいずれかとされていました。

;; [36] [[Atom 1.0]] で導入される複雑な仕組みはまだありませんでした。

;; [37] 値の一覧は[[リンク型の一覧]]を参照。

** Atom リンク関係登録簿

[80] [[RFC 4287]] (2005年) は [[Atom]] の[[リンク関係型]]のための登録簿
(「Registry of Link Relations」) を定義していました。

[REFS[
- [117] [CITE@en[RFC 4287 - The Atom Syndication Format]] ([TIME[2009-08-20 17:27:51 +09:00]] 版) <http://tools.ietf.org/html/rfc4287#section-7.1>
]REFS]

[120] [[IANA]] 登録簿への登録は、 [[IANA]] において受け付けた後、転送されて
[[RFC 2434]] [RUBYB[[[IESG承認]]]@en[IESG Approval]]によるとされていました。 [SRC[>>80]]

[119] 登録簿は、次の内容を含めることになっていました。 [SRC[>>80]]
[FIG[
- 属性値
- 説明
- 期待される表示上の性質
- セキュリティに関して
]FIG]

[121] 初期状態として、 [[RFC 4287]] で規定される5つの値
[CODE(XML)@en[[[alternate]]]], [CODE(XML)@en[[[related]]]],
[CODE(XML)@en[[[self]]]], [CODE(XML)@en[[[enclosure]]]], [CODE(XML)@en[[[via]]]] [SRC[>>80]]
が登録されていました。

[165] 当初は登録時の雛形を埋めたものが登録簿とともに用意されていました [SRC[>>163]]
が、登録簿の [[XML]] 化のタイミングで無くなったようです。
(仕様書無しで登録された場合は内容が [[XML]] 版に引き継がれているようです。)

[REFS[
- [163] [CITE[IANA | Atom Link Relations]] ([TIME[2015-01-27 16:00:39 +09:00]] 版) <http://web.archive.org/web/20090621131611/http://www.iana.org/assignments/link-relations/>
]REFS]

[118] この登録簿は [[RFC 5988]] により置き換えられています。

;; [123] 登録簿の [[URL]] は >>122 でした。内容はそのまま新しい登録簿に引き継がれています。
[[Atom]] としての登録簿で [[Internet Archive]] に残っている最後のものは >>157 
のようです。

[REFS[
- [157] [CITE[Atom Link Relations]] ([TIME[2015-01-27 14:06:34 +09:00]] 版) <http://web.archive.org/web/20100418141144/http://www.iana.org/assignments/link-relations/link-relations.xhtml>
]REFS]

[189] なお、 [CODE(XMLa)@en[[[rel]]]] [[属性]]は明らかに [[HTML]]
の影響を受けたものでしたが、 [[Atom 1.0]] 出版時点で [[HTML]] 
の[[リンク型]]との関係は規定されていませんでしたし、
互換性もありませんでした。

** XHTML2 と RDFa

@@ XXX

** HTML5 による整理

[46] [[HTML4]] の[[要素]]の[[意味]]を厳密に運用することを求める流れや[[マイクロフォーマット]]への注目の中で、
[[Web Applications 1.0]] ([[HTML5]]) は当初 [[HTML4]]
の[[HTMLメタ情報プロファイル]]を引き継ぎ、より厳密に規定していました。
しかしその後の見直しにより、実質的に運用できていないとして、
プロファイルの仕組みは廃止されました。

[188] 統計データ上ほとんど意味のある形で運用されていない状況でしたし、
本家本元といえる [[microformats]] コミュニティーでもプロファイルは形骸化し、
正しく用いられてはいませんでした。

;; [CODE(HTMLa)@en[[[profile]]]] [[属性]]や [[HTMLメタ情報プロファイル]]の項を参照。

[45] [[Web Applications 1.0]] ([[HTML5]]) は、利用状況を勘案して、
[CODE(HTMLa)@en[[[rev]]]] [[属性]]を[[廃止]]しました。よって[[リンク型]]を使うのは
[CODE(HTMLa)@en[[[rel]]]] [[属性]]のみとなりました。

;; [CODE(HTMLa)@en[[[rev]]]] [[属性]]の項を参照。

[48] [[HTMLメタ情報プロファイル]]にかわり導入されたのは [[WHATWG Wiki]]
への登録の仕組みでした。 [[HTML5]] に含まれない[[リンク型]]も誰でも一覧ページ
[SRC[>>47]] に追加できることとされていました。

** W3C HTML 5.0 による混乱

[49] [[HTML5]] が新 [[W3C]] [[HTML WG]] に持ち込まれた後、 [[WHATWG Wiki]]
を参照する形は好ましくないと声高に主張する人達がおり、
[CODE(HTMLa)@en[[[profile]]]] [[属性]]の廃止への反対や
[[IANA]] への移管など色々な思惑が交錯し議論になりました。
最終的には一覧ページを [[WHATWG Wiki]] から、 [[microformats wiki]]
にあった [CODE(HTMLa)@en[[[rel]]]] [[属性値]]の一覧ページ
[SRC[>>69]] に移動することで決着しました。

;; [50] なぜそれで話がまとまったのか謎です。また [CODE(HTML)@en[[[<meta name>]]]]
など他の登録簿は [[WHATWG Wiki]] に残されており、なぜそちらには反対しなかったのかも謎です。
技術的制約はありませんから、政治的な理由で反対していたとしか言えないわけですが、
(他の登録簿が [[WHATWG]] にあるので) 反 [[WHATWG]] 勢力が反対していたわけでも
[[microformats]] 中心主義者勢力が反対していたわけでもないことになり
([[microformats]] コミュニティーと [[WHATWG]] は距離が近いので後者はそもそもあり得ない)、 
([[IANA登録簿]]が採用されていないので) [[IETF]]/[[IANA]] 中心主義者勢力の意見が通ったわけでもありません。
いったい何がしたくて反対していたのでしょうね。

[207] その他、 [[W3C]] での反対により、いくつかの[[リンク型]]は削除されることで[[政治決着][政治的理由]]しました。
そのうちのいくつかは、のちの [[WHATWG]] と [[W3C]] の決別後に [[WHATWG]]
版で復活していますが、いくつかは削除されたままになっています。

-*-*-

[84] [[W3C]] [[HTML 5.0]] は、なぜか、次のような独自の規定を設けています [SRC[>>82]]。

[FIG(switch)[
- [[リンク型]]に [CODE[:]] が含まれ''ない''場合
-- [[WHATWG]] [CITE[HTML Standard]] と同じく、リストにあるものなら妥当であり、
なければ非妥当です。
- [[リンク型]]に [CODE[:]] が含まれる場合
-- [[絶対URL]]であり、 [[ASCII文字]]のみで構成されるなら、妥当です。
そうでなければ、非妥当です。
また、 [[Note]] ([[参考]]) として、
[[ASCII大文字]]が含まれるなら、[[適合性検査器]]は警告して構いません。
]FIG]

このような独自規定に従う実装があるのかどうかは、不明です。

[206] [[microformats wiki]] に [CODE[:]] が含まれる場合、
その値は[[絶対URL]]でなければ[MUST[ならない]]と、
[[WHATWG]] [CITE[HTML Standard]] は規定しています。
[[W3C]] [[HTML 5.0]] はその規定を変更せずに[[コピペ]]しています。

そのため、 [[HTML 5.0]] の独自規定に従う場合、
[[非ASCII文字]]を含む [[URL]] を登録できるにも関わらず、
[[適合検査器]]に非妥当だと指摘されることになります。

また[[ASCII大文字]]を含む [[URL]] を登録することもできますが
([[比較]]が[[ASCII大文字・小文字不区別]]なだけであって、
登録する値の[[大文字]]と[[小文字]]に関する要件はなく、 [[W3C]] [[HTML 5.0]]
でも変更されていない)、 [[Note]] ([[参考]]) に従う[[適合性検査器]]には警告されることになります。

[208] [[W3C]] [[HTML 5.0]] は [CODE[:]] を含む値について表を参照せず[[絶対URL]]
かどうかだけを使うように[[適合性検査器]]の規定を変更していますが、
[[著者]]の要件は、変更されていません。 [[WHATWG]] 版と同じく、
仕様本体と [[microformats wiki]] で有効に定義されたものだけしか明確に利用を認めていません。
つまり、登録されていない[[絶対URL]]は、[[著者]]が使ってはならないものであるにも関わらず、
[[適合性検査器]]はこれを検出しないことになります。

[209] なぜこのような不可解な規定にしたのかは、謎です。
[[仕様書]]の[[規定]]の構造を理解していない[[編集者]]が杜撰な変更を加えて破綻した、
というようなことは、慎重な審議が行われているはずの [[W3C勧告]]では起こらないはずなのですが・・・。

[160] ちなみに [[W3C]] [[HTML 5.0]] は [[microformats wiki]] の一覧表を参照しつつも、
その参照を[[規定]]ではなく[[参考]]としています [SRC[>>159]]。
一覧表を使わなければならないとの部分は[[規定]]なので [SRC[>>82]]、
仕様書として破綻しています。 ([[コピペ]]元の [[WHATWG]] [[HTML Standard]]
では[[規定]]になっているので、 [[W3C]] の独自の編集によるエンバグです。)

;; [211] [[HTML 5.1]] では修正されています [SRC[>>210]]。

[REFS[
- [47] [CITE@en[RelExtensions - WHATWG Wiki]] ([TIME[2014-10-11 11:42:14 +09:00]] 版) <https://wiki.whatwg.org/wiki/RelExtensions>
- [69]
[CITE@en[existing-rel-values - Microformats]] ([TIME[2008-07-29 06:50:44 +09:00]] 版) <http://microformats.org/wiki/existing-rel-values>
- [82] [CITE@en-US-x-Hixie[HTML5]] ([TIME[2014-10-25 01:15:24 +09:00]] 版) <http://www.w3.org/TR/2014/REC-html5-20141028/single-page.html#other-link-types>
- [159] [CITE@en-US-x-Hixie[HTML5]] ([TIME[2014-10-25 01:15:24 +09:00]] 版) <http://www.w3.org/TR/2014/REC-html5-20141028/single-page.html#refsMFREL>
- [210] [CITE@en[HTML 5.1: References]] ([TIME[2016-10-28 01:13:13 +09:00]]) <https://www.w3.org/TR/2016/REC-html51-20161101/references.html#biblio-mfrel>
]REFS]

** RFC 5988 リンク関係型登録簿

[125] [[RFC 5988]] は [[RFC 4287]] による[[IANA登録簿]]に替えて、 [[Web Linking]]
仕様に基づく[[リンク関係型]]の登録簿「Link Relation Type Registry」を規定しています。

[126] [[RFC 5988]] によれば [[XML]] 版は [[BSDライセンス]]文を含まなければならないことになっています [SRC[>>124]] が、
現時点ではそのようにはなっていません。 [TIME[2012-06-28T12:44:23.300Z]]

[134] [[RFC 5988]] は元の [[RFC 4287]] の登録簿に登録されていた[[リンク型]]を初期状態として改めて規定しています。
出典なしで登録されていた[[リンク型]]は [[RFC 5988]] が出典という扱いになっています。 [SRC[>>124]]

[135] [[RFC 4287]] では登録された[[リンク型]]も長い [[URL]] としての形式に対応づけられることになっていましたが、
[[RFC 5988]] にはそのような言及がまったくありません。 (>>113)

** RFC 5988 リンク型応用データ登録簿

[138] リンク型応用データ登録簿は [[RFC 5988]] により新設されました。

[139] 現時点で何も登録されていません。 [TIME[2012-06-28T14:17:45.500Z]]

* 参考

- [1] ''リンクタイプの深淵'' <http://www5d.biglobe.ne.jp/~quia/tech/html/linktype.html>
- [2] ''Link Type Definitions'' <http://fantasai.tripod.com/qref/Appendix/LinkTypes/ltdef.html> (英語) ——各仕様書からリンク型関連規定を抜粋。
- [3] ''Strict-XHTML スレッド 1.0 SE'' <http://pc3.2ch.net/test/read.cgi/hp/1037577389/19->
- [5] ちょっと気になるんですが、リンク型を複数指定した場合、それは [[and]] なのですか、 [[or]] なのですか。
- [6] >>5 の表現はちょっと正しくないかもしれん。 [CODE(HTML)[<link rel="stylesheet alternate" href="foo">]] の場合、 [VAR[foo]] ってのは [CODE[stylesheet]] で, それの [CODE[alternate]] (つまり代替スタイルシート) であって、リンクしている文書の [CODE[stylesheet]] であると共にリンクしている文書の [CODE[alternate]] でもあるわけでは'''ない'''でしょ。
- [7] ''5=6'': で、たまに見かける例 [CODE(HTML)[<link rel="contents prev" href="bar">]] は、どういう風に解釈するのがいいのか、と小一時間問詰めてみたくなるんです。
- [8] [[favicon.ico]]
- [9] >>5-7 [CODE(HTML)[<link rel="contents alternate" href="foo">]] の [VAR[foo]] は一体何なのか、とかね。一番の解は今のところ, リンク型の列挙は [CODE[alternate stylesheet]] と [CODE[shortcut icon]] 以外使わない、ってことですか。
- [10] ''HTML META, REL and REV Tags'' <http://vancouver-webpages.com/META/>
- [12] ''Lynx Users Guide v2.8.3'' <http://lynx.isc.org/release/lynx2-8-3/lynx_help/Lynx_users_guide.html#Banners> [[Lynx]] が対応するリンク型
- [15] HTML 4 では明記されていませんが、 [[rel]] 属性などでのリンク型の複数の指定は、順序問わずです。 (今 [[www-html]] で話題になってました。)
- [16] ''www-html@w3.org from October 2001: The <link> Element in'' <http://lists.w3.org/Archives/Public/www-html/2001Oct/0026.html>
- [21] ''"Link要素の行き先"メモ'' <http://c-n.cside.com/text/linknavi.html>
- [22] '''みんな、accesskeyってどうしてる? tabindexは?''' <http://pc2.2ch.net/test/read.cgi/hp/1006224399/>: [[accesskey]] 属性的観点から見た [[rel]], [[rev]], リンク型についての話題が出ています。
-- リンク型については、特に
--- [[top]], [[home]], [[start]], [[up]] リンク型について
--- 複数リンク型の間隔区切りの併記について
-- が参考になります。
- [23] ''2001-10 + 遠吠え'' <http://ecco.s14.xrea.com/past/~howl/200110.html#d21c1>: リンク型複数指定がブラウザでちゃんと実装されてないことを嘆いている。
- [24] ''iCabを極める'' <http://www2.tok2.com/home/icab/dokuzi/09.html>: [[iCab]] での実装
- [25] ''w3c-wai-gl@w3.org from July to September 2000: Suggestion for T'' <http://lists.w3.org/Archives/Public/w3c-wai-gl/2000JulSep/0318.html>: [CODE(HTML)[bookmark]] を文書中の主要位置 (大きな節の見出しとか。) へのポインタとして使う提案。
- [27] Moz 1.3 から 1.4b にしたら、 [[SiteNavigationBar]] で [CODE(HTML)[rel=home]] がボタン「Top」にならなくなって、他の未知型と一緒に「More」に入るようになりました。
- [28] ''HTML 4.0 Specification'' <http://www.w3.org/TR/relations.html>: 古い HTML 4 の原案
- [29] リンク型って、リンクの [CODE(HTML)[[[class]]]] なんだよなあ。で、古い時代にはリンクの級と始点アンカーの級が混同されてて、どちらも [CODE(HTML)[[[rel]]]] になってたような感じがする。 HTML 4 位の時代に整理されてリンクの級としての役割が確立したのかなあ?
- [30] で、ふと思ったんだが、 >>29 よ、「デットリンク」であることを明示したいと思ったら、これはなんの属性なんだ? 「デッドリンク」と言うくらいだから、「デッド」はリンクの属性だよな? だけど [CODE(HTML)[rel]] ってのはあくまで「関係」であって、級の一種ではあるけど級そのものではない以上、この属性に指定は出来ないなあ。いや、別に >>29 の言ってることを否定するわけじゃないよ。
- [31] >>30 [CODE[rel isSubPropertyOf リンクの属性]]で、[CODE[(死んでいるか否か) isSubPropertyOf リンクの属性]]なんだな。で、 HTML でこれを表現するとすると、「リンクの属性」を「始点アンカーの属性」と分けて与える属性は存在しないから、諦めて [CODE(HTML)[[[class]]]] 属性に指定するか、 XHTML で独自名前空間の属性で指定するか。或いは、 [[XLink]] の [CODE(XML)[[[from]]]]・・・[CODE(XML)[[[to]]]] を使って、リンクを定義する要素の属性として与える、っていう方法もあるのかな? [SAMP(XML)[<foo:link xlink:type="arc" xlink:from="#source" xlink:to="#dest" class="dead"/>]]

[40]
[CITE[Specifying schemas for document link relationships]] <http://www.protogenius.com/rel-schemas/draft-scheid-rel-schemas-00.htm>
([[名無しさん]])

[41]
[CITE[Webweavers - weavin' - rel=&quot;nofollow&quot;]] <http://webweaver.g.hatena.ne.jp/kotastyle/20050117/p1>
([[名無しさん]])

[42]
[CITE[Preventing comment spam]] <http://www.google.com/googleblog/2005/01/preventing-comment-spam.html>
([[名無しさん]] [WEAK[2005-01-22 00:40:49 +00:00]])

-[43]
[CITE[DTV A S E L 1 (DASE-1) P 2: D A E ATSC Standard]]
<http://www.atsc.org/standards/a_100_2.pdf>
-- [242] 消滅確認 [TIME[2024-08-30T08:02:49.200Z]]
-- [243] 
[CITE@ja[Microsoft Word - A-100-2.doc - a_100_2.pdf]], [TIME[2024-08-30T08:02:37.000Z]] <https://web.archive.org/web/20060927005256/http://www.atsc.org/standards/a_100_2.pdf#page=26>

[244] 
>>43
は、 [CODE(HTMLa)[rel]] 属性で HTML 4
リンク型以外には [CODE(HTML)[x-]] を接頭辞として付けることを要求しています。
[SRC[5.1.1.6.6 [CSECTION[[CODE(HTMLe)[link]] element]]]]

[55]
[CITE[XHTML link types in RDF]] <http://www.w3.org/2005/05/hrel/>

[[XHTML 2.0]]の[[リンク型]] as [[RDF]][[語彙]]
([[名無しさん]])

[56]
[CITE[Bug 103469 - Need unified spec for rel=""]] <https://bugzilla.mozilla.org/show_bug.cgi?id=103469>
([[名無しさん]])

[57]
[CITE[Index of /specs/html/link]] <http://www.hixie.ch/specs/html/link/>

[[Ian Hickson]]の昔の提案。
([[名無しさん]] [sage])

[58]
[CITE[Bug 2800 - No UI for HTML2 "LINK" element]] <https://bugzilla.mozilla.org/show_bug.cgi?id=2800>
([[名無しさん]] [sage])

[59]

@@ 複数の値についてのまとめが必要

[61]
[CITE[HyperText Design Issues: Link types]] ([CODE[2000-02-25 02:43:14 +09:00]] 版) <http://www.w3.org/DesignIssues/LinkTypes.html>
([[名無しさん]])

[62]
[CITE[Describing and Linking Web Resources]] ([CODE[1996-11-13 23:39:22 +09:00]] 版) <http://www.w3.org/Architecture/NOTE-link.html>
([[名無しさん]])

[63]
[CITE[Relationships in HTML links]] ([CODE[1996-05-30 22:21:50 +09:00]] 版) <http://www.w3.org/MarkUp/Relationships.html>
([[名無しさん]])

[64]
[CITE@en[The Continuous Media Markup Language (CMML), Version 2.1]] ([CODE[2006-05-06 10:39:46 +09:00]] 版) <http://annodex.net/TR/cmml.html#rfc.section.2.2>
([[名無しさん]])

[65]
[CITE@en[RDF Sitemaps using HTML link types and Dublin Core]] ([CODE[1999-04-16 16:23:49 +09:00]] 版) <http://www.ilrt.bris.ac.uk/discovery/rdf-dev/purls/papers/sitemap/>
([[名無しさん]])

[66]
[CITE@en[RDF Sitemaps using HTML link types and Dublin Core]] ([CODE[1999-04-16 16:23:49 +09:00]] 版) <http://www.ilrt.bris.ac.uk/discovery/rdf-dev/purls/papers/sitemap/>
([[名無しさん]])

[67]
[CITE[Hatena::agenda]] ([CODE[2007-07-07 14:25:21 +09:00]] 版) <http://d.hatena.ne.jp/jintrick/20070707>
([[名無しさん]])

[68]
[CITE[Re: Where did the "rev" attribute go?]] ([[Ian Hickson <ian@...>]] 著, [CODE[2007-08-08 04:15:31 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/11605>

[70]
[CITE[Hypertext links in HTML]] ([TIME[1998-07-22 04:57:02 +09:00]] 版) <http://xml.coverpages.org/maloneyRelationships.html>

[71]
[CITE@en[HTML WG face-to-face meeting -- 23 Oct 2008]] ([TIME[2008-11-13 01:26:40 +09:00]] 版) <http://www.w3.org/2008/10/23-html-wg-minutes.html#grddl-talk>

[72] <http://www.annodex.net/TR/draft-pfeiffer-cmml-03.txt>

[73] [CITE@en[RDFa in XHTML: Syntax and Processing]] ([TIME[2008-10-14 00:17:32 +09:00]] 版) <http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/#relValues>

[83] <http://alexandre.alapetite.fr/divers/vrac/20091115_HTML_link_rel.html>

[86] [CITE[Working Group Decision on ISSUE-118 broken-link-types]]
( ([TIME[2011-03-01 07:18:23 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-html/2011Feb/att-0481/issue-118-decision.html>

[87] [CITE[IRC logs: freenode / #whatwg / 20110201]]
( ([TIME[2011-03-18 00:46:22 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110201#l-80>

[88] [CITE[IRC logs: freenode / #whatwg / 20110301]]
( ([TIME[2011-03-27 15:00:02 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110301#l-423>

[89] [CITE[IRC logs: freenode / #whatwg / 20110310]]
( ([TIME[2011-04-02 03:23:11 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110310#l-480>

[90] [CITE@en[Web Applications 1.0 r6000 8793]]
( ([TIME[2011-04-13 09:31:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5999&to=6000>

[91] [CITE@en[existing rel values · Microformats Wiki]]
( ([TIME[2011-04-13 22:31:34 +09:00]] 版))
<http://microformats.org/wiki/existing-rel-values>

[92] [CITE[IRC logs: freenode / #whatwg / 20110517]]
( ([TIME[2011-05-21 14:39:15 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110517>

[93] [CITE[IRC logs: freenode / #whatwg / 20110606]]
( ([TIME[2011-06-09 22:15:17 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110606>

[94] [CITE[IRC logs: freenode / #whatwg / 20110613]]
( ([TIME[2011-06-19 23:46:45 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110613>

[95] [CITE@en[Web Applications 1.0 r6486 Remove pointless part of this requirement.]]
( ([TIME[2011-08-17 14:00:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6485&to=6486>

[96] [CITE[OData Protocol Atom Format]]
( ([TIME[2012-02-08 21:02:21 +09:00]] 版))
<http://www.odata.org/developers/protocols/atom-format>

[114] [CITE[Web Application Description Language]]
( ([TIME[2009-09-10 03:59:24 +09:00]] 版))
<http://www.w3.org/Submission/2009/SUBM-wadl-20090831/#x3-290002.12.4>

[115] [CITE[IRC logs: freenode / #whatwg / 20120531]]
( ([TIME[2012-06-21 00:39:22 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120531#l-1793>

[152] [CITE[IRC logs: freenode / #whatwg / 20121002]]
( ([TIME[2012-10-04 21:58:19 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20121002#l-287>

[167] [CITE@en[Specifying schemas for document link relationships]]
( ([TIME[2014-08-19 15:16:57 +09:00]] 版))
<http://web.archive.org/web/20041110195640/http://protogenius.com/rel-schemas/draft-scheid-rel-schemas-00.htm>

[168] [CITE[''''''[''''''whatwg'''''']'''''' link-types]]
( ([TIME[2014-03-19 17:35:39 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2004-September/002235.html>

[166] [CITE[OASIS Specification Template]]
([TIME[2010-04-13 02:41:48 +09:00]] 版)
<http://docs.oasis-open.org/cmis/CMIS/v1.0/cs01/cmis-spec-v1.0.html#_Toc243905521>

[FIG(quote)[
[FIGCAPTION[
[169] [CITE@en[Specifications/OpenSearch/1.1/Draft 5 - OpenSearch]]
([TIME[2013-06-18 03:37:50 +09:00]] 版)
<http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_5#Url_rel_values>
]FIGCAPTION]

> Rel attribute strings can contain a space-delimited list of one or more semantically meaningful rel value tokens. An empty rel attribute value should be treated by the client as if the rel attribute was not present at all.

]FIG]


[173] [CITE@en[Web Applications 1.0 r5924    Drop support for rel=up, rel=last, rel=index, rel=first, and any related synonyms.]]
([TIME[2011-03-02 10:02:00 +09:00]] 版)
<https://html5.org/r/5924>

[174] [CITE@en[Web Applications 1.0 r5925    Drop support for rel=archives and any related synonyms.]]
([TIME[2011-03-02 10:06:00 +09:00]] 版)
<https://html5.org/r/5925>

[175] [CITE@en[Web Applications 1.0 r6000   apply wg decision]]
([TIME[2011-04-13 09:31:00 +09:00]] 版)
<https://html5.org/r/6000>

[176] [CITE@en[Web Applications 1.0 r6486 Remove pointless part of this requirement.]]
([TIME[2011-08-17 14:00:00 +09:00]] 版)
<https://html5.org/r/6486>

[177] [CITE@en[link relations for RDF · Issue #39 · mnot/I-D]]
([TIME[2015-04-28 14:40:57 +09:00]] 版)
<https://github.com/mnot/I-D/issues/39>

[178] [CITE@en[use full URI in HTTP Header or add to IANA link relations registry · Issue #1 · aaronpk/Micropub]]
([TIME[2015-04-28 14:47:26 +09:00]] 版)
<https://github.com/aaronpk/Micropub/issues/1>

[186] [CITE@en[rel registry · Microformats Wiki]]
([TIME[2015-07-07 10:45:53 +09:00]] 版)
<http://microformats.org/wiki/rel-registry>

[187] [CITE[HyperText Design Issues: Link types]]
([TIME[2009-08-28 06:38:06 +09:00]] 版)
<http://www.w3.org/DesignIssues/LinkTypes.html>

[190] [CITE@ja[VMware ドキュメント センター]] ([TIME[2015-11-18 18:16:50 +09:00]] 版) <http://pubs.vmware.com/vca/index.jsp#com.vmware.vcloud.api.doc_56/GUID-EECCA924-4DCE-490F-B352-5C212AD22411.html>

[191] >>190 は[[リンク型]]と似た独自のものを使っています。
[[語彙]]は [[HTML]] のものとも [[IETF]] のものとも異なっていて、
どちらかといえば[[メソッド名]]のような性質のようです。

[FIG(quote)[
[FIGCAPTION[
[195] [CITE@en[Mason/Mason-draft-2.md at master · JornWildt/Mason]]
([TIME[2015-11-22 18:07:19 +09:00]] 版)
<https://github.com/JornWildt/Mason/blob/master/Documentation/Mason-draft-2.md>
]FIGCAPTION]

> The name of a control can either be a simple predefined token from the IANA relationship registry, a curie or a complete URI. The use of URIs (and curies) as a namespace mechanism makes it easy to declare names without colliding with similar names from other systems.

]FIG]

[197] [CITE@en[Allow pingback/prefetch/stylesheet links in body · whatwg/html@179983e]]
([TIME[2016-03-04 21:32:30 +09:00]] 版)
<https://github.com/whatwg/html/commit/179983e9eb99efe417349a40ebb664bd11668ddd>

[198] [CITE@en[Move statement on rel synonyms for more visibility · whatwg/html@f200173]]
([TIME[2016-03-07 11:43:41 +09:00]] 版)
<https://github.com/whatwg/html/commit/f200173351fa541c829f6e3de98fbe8ba8ef608b>

[199] [CITE@en[Add some clarity about body-ok rel keywords · whatwg/html@6820420]]
([TIME[2016-03-08 18:37:59 +09:00]] 版)
<https://github.com/whatwg/html/commit/68204209474f6fa52e5fb1e3ce42115c13c2d458>

[200] [CITE@en[Consider not restricting "possible supported tokens" for <link>/<a>/<area> · Issue #1184 · whatwg/html]]
( ([TIME[2016-05-19 22:33:08 +09:00]]))
<https://github.com/whatwg/html/issues/1184>

[201] [CITE@en[Allow <link rel=apple-touch-icon sizes=… href=…>]]
([[sideshowbarker]]著, [TIME[2016-12-21 11:32:39 +09:00]])
<https://github.com/whatwg/html/commit/4c84c5a531bbdd1982d76abef13f2b91f52a66b6>

[FIG(quote)[ [205] [CODE[#whatwg]]

>
[TALK[ 2017/04/01 09:53:10 (MikeSmit1) 
Domenic: about rel=canonical, I added use counters to the HTML checker for a bunch more rel values
https://validator.w3.org/nu/stats.html

rel=canonical is tied for 3rd place as most commonly used

rel=stylesheet found 118918 0.831269

rel=icon found 82216 0.574712

rel=canonical found 46503 0.325069

rel=alternate found 46417 0.324467

next closest is rel=nofollow

rel=nofollow found 34354 0.240144

after that, usage for the rest drops down to under 10% each
]TALK]
]FIG]


[234] [CITE[rel=canonical — Anne’s Blog]]
([TIME[2017-06-19 14:56:30 +09:00]])
<https://annevankesteren.nl/2009/02/rel-canonical>

[240] [CITE@en[link-relations/registry: Registry for Link Relations]]
([TIME[2019-08-20 19:14:23 +09:00]])
<https://github.com/link-relations/registry>


[246] 
[CITE[iCab - FAQ]], [TIME[2025-11-26T09:44:40.000Z]], [TIME[2003-02-02T04:16:22.704Z]] <https://web.archive.org/web/20030202041524/http://www.icab.de/faq.html#q5>
