Section 6 : 文書情報(2)

 ほかの文書とどんな関係にあるのかを示すのもまた重要な文書情報である。これは,ヘッダばかりでなく,本文中の <A> にも与えられる。

<LINK>

 ほかの文書との関係を示すのが <LINK> である。これは First step CSS の Section 12

<META REL="stylesheet" TYPE="text/css" HREF="...">

として外部の CSS ファイルを呼び出すのに使ったが,これは <LINK> の用法のひとつにすぎない。

 <LINK> のおもな属性は次のとおり。

<LINK> の属性
属性 解説
REL 関係 現在の文書から見たとき,対象とする文書がどんな関係にあるかを明示する。
REV 関係 REL 属性とは逆に,対象とする文書から見たとき,現在の文書がどんな関係にあるかを明示する。
HREF URI 対象とする文書の URI。
TYPE MIME タイプ 対象とする文書の MIME タイプ。

これ以外には,ID,CLASS,STYLE,TITLE 属性およびイベント属性などがある。

 REL,REV 属性が何を言いたいのか多少わかりにくいと思うが,その前にこれら 2 つの属性に与える“関係”のおもなものをまとめておこう。

next
“次の文書”
prev
“前の文書”
contents
“目次”
start
“最初の文書”
index
その文書に対する“索引”
glossary
その文書に対する“用語集”
copyright
その文書に対する“著作権情報”
appendix
その文書に対する“付録”
help
その文書に対する“ヘルプ”
stylesheet
“スタイルシート”
alternate
“かわりに利用できる文書”

これらの値で文書の関係を記述していく。<LINK> の定型は

<LINK REL=... HREF=...>
<LINK REV=... HREF=...>

となる。ここで,REL,REV 属性が何を表しているか,考えよう。

 先ほど示した書式の前者は,“この文書から見て,……の関係にある URI は……である”,後者の書式は,“URI……から見ればこの文書は……の関係にある”という意味である。

 たとえば,一連の文書があって,それぞれ 1 番,2 番,3 番,……,と順序がついているとしよう。いま,2 番の文書に <LINK> を書くことを考えよう。

REL 属性では現在の文書から見た関係,REV 属性では対象の文書から見た関係を記述する。
図 6.1 [D]

それでは,文書 3 の REV="next" は何番の文書になるだろうか。……答えは 2 番である。

 この文書(Always with HTML の Section 6)の <LINK> は次のように書かれている。

<LINK REV="made" HREF="mailto:hexane@tg.rim.or.jp">
<LINK REL="next" HREF="awht07.htm">
<LINK REL="prev" HREF="awht05.htm">
<LINK REF="start" HREF="waht01.htm">
<LINK REL="contents" HREF="./">

 ここで,REV="made" は HREF 属性に作者のメールアドレスまたはホームページの URI を書いておく定型のようなものだと考えていただいて結構である。次の文書は“awht07.htm”,前の文書は“awht05.htm”,一連の文書の最初は“awht01.htm”,目次は“./”(そのディレクトリのトップ)であると記してある。

 最近は,HTML 文書と同内容を PDF 形式で配布するのも見られるようになってきた。この場合,<LINK> に次のように書くとよい。

<LINK REL="alternate" TYPE="application/pdf" HREF="...">

“ほかに利用できるもの”として PDF ファイルを示しているのである。

 このような記述をしても,多くのグラフィカルな UA は無視してしまう。Lynx<LINK> をきちんと認識し,画面上部に“Next”,“Prev”などのリンクを自動的に生成する。これにより,関係する文書間の移動はより便利になっている。

 これがグラフィカルな UA で実現されたら,たとえばフレーム化された文書でも <LINK><A> のようなジャンプができる。このため,<LINK> も TARGET 属性を持っており,こういったジャンプの際のターゲットフレームを指定することができる。

 REL,REV 属性は <A> も持っており,これからジャンプしようとする文書がどんな関係にあるのかを記述することができる。

 たとえば,この文書の次の文書である,Section 7 へのジャンプは REL 属性を使って,

<A HREF="awht07.htm" REL="next">Section 7</A>

のように関係を明示することができる。TYPE 属性も持っており,たとえば画像,動画ファイルが参照されているときなどには有用である。

<A HREF="demomov.mov" TYPE="movie/quicktime">Demo Movie (QuickTime, 450Kbytes)</A>

ただし,HTML ファイル以外のときに必ず書かなくてはならないというものでもなく,あくまで補助的なものである。