<<PREV | TOP | NEXT>>

LINK 要素

last modified 5th/Oct. 2000

Web Page は各々世界中で一意的(identifiable)な位置を占めます。この位置を URL と呼びます。 LINK 要素は、或る HTML 文書から、別の URL に有る外部リソース(資源)を参照する場合に用います。

A 要素とは異なり、 HEAD 要素の中にしか現れられませんが、何度でも現れる可能性があります。

LINK 要素は開始タグのみで終了タグが存在しません。このような要素の事を空要素 (Empty Element) と呼びます。

HTML 4 では、空要素は「開始タグだけで終了タグが存在しない」とされ、 <link ...> と書くことになっていますが、その上位バージョンである XHTML 1.0 では、空要素でも終了タグが必須となっており、 <link ... /> と記述しなければなりません。

<head>
  <title>タイトル</title>
  <link rev="made" href="mailto:メールアドレス">
                              <!--ページの製作者への連絡先-->
  <link rel="next" hef="./body.html">
                              <!--このページの次のページ-->
  <link rel="prev" href="./robots.html">
                              <!--前のページ-->
  <link rel="StyleSheet" href="./def.css" type="text/css">
                              <!--固定スタイルシート-->
  <link rel="alternate stylesheet" title="modern"
                       href="./modern.css" type="text/css">
                              <!--代替スタイルシート-->
  <link rel="stylesheet" title="cool"
                       href="./cool.css" type="text/css">
                              <!--優先スタイルシート-->
</head>

I.E.5.x や Netscape6 では全く働きませんが、 Lynx, w3m, iCab などのブラウザでは、 link 要素の内容に応じてウィンドウにナビゲーションバーが表示されます。

ユーザエージェントが、ユーザが当該文書を閲覧している間に、次や前、インデックスなどのファイルを先読みしてくれるかもしれません。

DTD

HTML 4 Transitional DTD の抜粋;

<!ELEMENT LINK - O EMPTY               -- a media-independent link -->
<!ATTLIST LINK
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
  href        %URI;          #IMPLIED  -- URI for linked resource --
  hreflang    %LanguageCode; #IMPLIED  -- language code --
  type        %ContentType;  #IMPLIED  -- advisory content type --
  rel         %LinkTypes;    #IMPLIED  -- forward link types --
  rev         %LinkTypes;    #IMPLIED  -- reverse link types --
  media       %MediaDesc;    #IMPLIED  -- for rendering on these media --
  target      %FrameTarget;  #IMPLIED  -- render in this frame --
  >

パラメタ実体 %attrs; は殆どの要素に定義されている属性の集合です。詳しくは、「パラメタ実体 %attrs;」を参照ください。

link 要素の役割

  1. 他の文書の参照:start, contents, previous, next, index, end, help
  2. 外部スタイルシートの参照:rel=stylesheet
  3. 外部スクリプトの参照:rel=script
  4. スタイルシートによる印刷文書の見栄えの指定
  5. 印刷用のポストスクリプト版や PDF 版の参照:rel=alternate media=print

属性

%attrs;
%coreattrs, %i18n, %events
charset = charset [CI]
href = uri [CT]
当該文書と関係のある Web リソースの URI (URL) を指定。
hreflang = langcode [CI]
type = content-type [CI]
rel = link-types [CI]
rev = link-types [CI]
media = media-descriptors [CI]
target = frame-target [CI]

href 属性値の URL に対応する文書が、当該文書に対してどのような役割を果たすのかを、 rel 属性で指定できます。一方、 rev 属性は、rel 属性の逆の関係を指示します。従って、 rel="next"rev="prev" は等価です。

rel 属性や rev 属性の値となるリンク形式 (link-type) には、次のようなキーワードが考えられます;

Alternate
当該文書の代替文書を指す。 lang 属性と併用した場合は当該文書の翻訳版を意味し、 media 属性との併用で別メディア版を意味する。
Stylesheet
外部スタイルシートを指す。リンク形式 'Alternate' との併用で、ユーザが選択可能な代替スタイルシートを示す。 標準的には CSS が使われます。
Start
サイトの最初の文書を指す。検索エンジンに対して、最初に読ませたいと著者が想定している文書がどれであるかを示すことにもなります。
Next
当該文書の次の文書を指す。ユーザエージェントは、「次」の文書を先読みしておいて、ダウンロード時間を節約することも可能である。勿論、「次」なる概念が無いサイト構成も考えられる。
Prev
当該文書の前の文書を指す。 'Previous' をサポートするユーザエージェントもある。
Contents
目次文書を指す。 'ToC' (Table of Contents の略)をサポートするユーザエージェントもある。
Index
当該文書の索引文書を指す。
Glossary
当該文書に関連する用語集文書を指す。
Copyright
当該文書の著作権表示を指す。
Chapter
サイトの章である文書を指す。
Section
サイトの節である文書を指す。
Subsection
サイトの小節である文書を指す。
Appendix
サイトの附属文書を指す。
Help
ヘルプ文書を指す。
Bookmark
ブックマークを指す。各文書毎に複数のブックマークを定義できる。

これらのリンク形式は、一つの rel 属性に対して同時に複数指定できます;

<link rel="start index contents" href="../index.html">

この例では、相対 URL ../index.html に有る文書は、当該文書にとっての Start であり、 Index であり、 Contents でもあることが指定されています。

製作者への連絡先 <link rev="made" href="mailto:e-mail address">
start page <link rel="start" href="url">
目次 <link rel="contents" href="url">
前のpage <link rel="prev" href="url">
次のpage <link rel="next" href="url">
リンク集 <link rel="bookmark" href="url">
外部スタイルシート <link rel=stylesheet type="text/css" href="url">

サンプル

keywords, description などの META tags、 next, prev などの LINK tags は検索ロボット向けと云う面が多分に有ります。検索エンジンに関しては検索ロボット対策を参照下さい。

次の例は、連続的な文書の、最初の文書を示しています:

<head>
<title>参照マニュアル -- p. 5</title>
<link rel="start" title="マニュアルの最初のページ"
      type="text/html"
      href="http://someplace.com/manual/start.html">
</head>

次の例は、作者、索引、次、前の文書を示しています:

<head>
  <title>chapter 2</title>
  <link rev="made" href="mailto:メールアドレス">
  <link rel="index" href="../index.html">
  <link rel="next"  href="chapter3.html">
  <link rel="prev"  href="chapter1.html">
</head>

次の例は、当該文書のフランス語翻訳版を示しています:

<head>
<title>the manual in english</title>
<link lang="fr" title="la documentation en fran&ccedil;ais"
      type="text/html" rel="alternate"
      hreflang="fr"
      href="http://someplace.com/manual/french.html">
</head>

次の例は、外部スタイルシートを示しています:

<head>
<!-- 固定スタイルシート -->
  <link type="text/css" rel="stylesheet"
        href="./def.css">
<!-- ユーザー選択可能スタイルシート -->
  <link type="text/css" rel="alternate stylesheet"
        href="./selectable1.css">
  <link type="text/css" rel="alternate stylesheet"
        href="./selectable2.css">
</head>

これらの LINK 要素を記述する事で、例えば次のようなメリットが期待できます;

しかし、実際には個々の UA がどのように振る舞うかは特定できません。

<<PREV | TOP | NEXT>>

FC2> モビット