Hop step XHTML―ホップ ステップ XHTML

Section 21:メタ情報モジュール(3)

 本節では,その他のメタ情報の与え方,それから,メタ情報を活用するセマンティックウェブを紹介する。

http-equiv 属性を持つ meta 要素

 meta 要素には,http-equiv 属性がある。しかしこれを利用した記述は,一般に XHTML 1.1 では行わない。

HTTP レスポンスヘッダと meta 要素

 WWW サーバは,たとえばブラウザから,“このページがほしい”と要求(リクエスト)されると,ページの情報を送り出すのであるが,送り出されるのはページ本体の情報だけではない。その前に,レスポンスヘッダと呼ばれる“前書き”のようなものを伴っている。これはたとえば,次のような形をしている。

HTTP/1.1 200 OK
Date: Sat, 30 Jul 2005 10:40:08 GMT
Server: Apache/1.3.9 (Unix)
Connection: close
Content-Type: text/html

 この 1 行めの“200”は“成功”を表している。このように,応答は 3 桁の数字で端的に表される。これが“ページが見つからない”を表すときは“404”になる。これがつまり,わたしたちがよく目にする“404 Not Found”の“404”である。詳しくは,RFC 2616 などを参照されたい。

 ここで,http-equiv 属性をもつ meta 要素は,WWW サーバがこのレスポンスヘッダを作るのに参考にする情報とされている。しかし現実には,このような処理をすると,WWW サーバが,リクエストのたびに,レスポンスヘッダに反映すべき情報があるかどうか,要求されたページを調査しなければならない。これはコストと時間がかかる。よって,たいていこの処理は行われない。むしろ,どのようなレスポンスヘッダを返させるかは,WWW サーバソフトウェアで適切に設定しておく問題である(であるので,設定の自由のないサーバ上でウェブサイトを運営している場合は,こういった対応は難しい)。

 ということで,レスポンスヘッダに反映されない meta 要素の情報は何が参考にするかというと,ブラウザなどである。ブラウザなどはこの情報を参考にして,文字エンコーディングなどを調べる。

XHTML とメディアタイプ

 それで,“XHTML 1.1 では http-equiv 属性を持つ meta 要素は使わない”であるが,これは XHTML のメディアタイプに起因している。

 メディアタイプは,Appendix B で改めて触れるが,これが HTML から XHTML になって変更されている。とはいうものの,HTML も XHTML もテキストファイルではないか,というのはごもっともであるが,問題は“処理のされ方”である。つまり,HTML と XHTML では処理のしかたが(同一のブラウザで処理することになっても)変わるということになる。

 HTML のメディアタイプは“text/html”で,HTML 4 まではこれを使う。XHTML では,これが“application/xhtml+xml”になる。ただし,XHTML 1.0 に関しては,HTML との互換性を考慮して記述し,HTML ブラウザで問題なく処理させることを意図する場合には,“text/html”として HTML として扱わせてもよいとされている。

 一般の XHTML では,“application/xhtml+xml”を使うことが推奨され,先述の XHTML 1.0 のケースを除いては,“text/html”とすることは推奨されない。そこで“application/xhtml+xml”を使うことにすると,W3C の“XHTML Media Types”と題された文書の“3.3. 'application/xml'”に次のように書かれている(強調原文まま)。

 ゆえに,より高いレベルのプロトコルでの明示的な charset パラメータの指定が強く推奨される一方,制作者は XML 宣言も記述すべきである(e.g. <?xml version="1.0" encoding="EUC-JP"?>)。ここで注意すべきは,XML 処理ソフトウェアは meta http-equiv の記述を認識しないこと,なので制作者はこういった記述を“application/xml”で提供される XHTML 文書には記述するべきではない(なお,これについては“application/xhtml+xml”でも同様である)。

乱暴に言えば,XHTML は XML→XML なので http-equiv 属性を持つ meta 要素を認識しない→書いても無駄なので書くべきではない,ということである。サーバから適切なレスポンスヘッダが与えられることを期待することになる。

 Windows 版 Internet Explorer 6 までは,メディアタイプ“application/xhtml+xml”で送出されたデータは,表示できない。Opera 6 以降,Netscape 6 以降(Mozilla,Firefox)では対応する。

http-equiv 属性を持つ meta 要素の例

 ここでは,XHTML 1.1 では使用しないが,参考に,http-equiv 属性を持つ meta 要素について例をあげておく。

 メディアタイプと文字エンコーディングの指定。これは HTML 4 以前と HTML との互換性を考慮した XHTML 1.0 では次のように書く。この場合文字エンコーディングを指定しておくべきとされる。

<meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />

上記は XHTML 1.0 での書き方であって,HTML 4 では空要素タグでの記法ではない。

 文書中のスクリプト言語およびスタイルシート言語の指定。

<meta http-equiv="Content-Srcipt-Type" content="application/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />

 JavaScript のメディアタイプは“text/javascript”であったが,2005 年 7 月現在,これは破棄され“application/javascript”となっている。

 また,http-equiv 属性を持つ meta 要素を用いて,ブラウザに指定時間後に同じページを再読み込みさせたり,別のページへ移動させたりすることができるが,これは(XHTML 1.1 で使う使わないはともかく)アクセシビリティを損ねるので使用するべきでないとされる。サーバ側のリダイレクトを利用するべきである。

メタ情報とセマンティックウェブ

 WWW は,情報の交換を通じたコミュニケーションの場であるといえる。そして,日々増大する情報の量,次々に提供されるサービスを背景にして,(WWW で調査をすることなどで)問題の解決ができる潜在能力を持っているともいえる。実際,わたしたちは検索エンジンを利用して WWW を調べ,ポータルサイト(ポータル:portal は“入り口の”)を始めとしたサイトで提供されるサービスを日々の生活に役立てている。

 WWW の情報を共有し,再利用し,そしてこうした“WWW での問題解決”を支援しようとする枠組みをセマンティックウェブ(セマンティック:semantic は“意味の”)という。1998 年,WWW を創始したティム・バーナーズ・リー氏によって提唱された考え方である。

 このセマンティックウェブで重要な役割を演ずるのがメタ情報である。セマンティックウェブの最初の目標として,これらのメタ情報を利用して WWW の情報を利用しやすくすることが掲げられている。究極的には,ソフトウェアエージェントに問題・課題を命じると,それがメタ情報を頼りに WWW を巡り,問題解決を支援することが目指されている。

 ブログ(blog)のプログラムをはじめとして,RSS と呼ばれる情報が生成されて公開されることがあるが,これもメタ情報の一種である。RSS は,RDF と呼ばれるメタ情報の記述のしかたの枠組みに従ったメタ情報で,XML をもとにしている。

 わたしたちが WWW を検索するときに,目的の情報があるサイト・ページが確実に出てくるほうが望ましいのは言うまでもない。メタ情報を適切に記述していくことによって,WWW がもっと有用になり,もっと利用しやすくなるだろう。

 ……しかしそれは,性善的な考え方での未来像である。もとより性善説に基づいたインターネットの設計は,その利用者数の増加に伴い,心ない利用者によって,幾度となく“豊かな情報社会”の闇の部分を作り出してきた。現に,メタデータに関しても,前述したように,検索エンジンでの順位をつりあげたり,内容に関係のないキーワードで検索結果に掲載されるように操作する,サーチエンジンスパムの蔓延により,メタ情報として指定するキーワードは事実上形骸化けいがいかしている。

 利用しやすい WWW は,誰もが望むところであろう。そのために,メタ情報を記述していくべきではあるし,セマンティックウェブは目指されるべき未来像であろう。しかし一方で,これから生じる恐れのある問題を予期した上で,どこまで利用者の良心を信じればよいのか,どうすればインターネットを通じて有益な経験ができるようになるのか,開発者も利用者も,考えていかなければなるまい。