![]() ![]() ![]() ![]() 双方向ハイパーリンクの技術この記事のURLhttp://japan.internet.com/public/technology/20040218/1.html
著者:日本ユニシス 河上 一郎
国内internet.com発の記事
1.双方向ハイパーリンクの規格
初めて「ハイパーテキスト:HyperText」という言葉が使われたのは、米国のセオドア・ネルソン(テッド:Theodor H. Nelson)が ACM(Association for Computing Machinery)に発表した論文の中でだった。 ハイパーは、極超、拡張された、普遍化されたという意味で、ハイパーテキストとは文字や画像などを有機的に結合した多次元情報空間を指す。デジタルで表現された情報間の関係を自由に定義していく概念がハイパーリンクで、これで結合された複雑な意味連鎖を記述した文章のことをハイパーテキストと呼んだ。 彼が描いたハイパーテキストには、リンクされたイメージや動画、詳細なデータマップ、さらに任意のコンピュータ上のリソースにリンクするための形式といった先進的概念が既にあったが、自身が開発したザナドゥ(XANADU)システムではこれら高度な機能(情報の一意の識別、恒久保管、著作権の明示・保護など)の実装に到らなかった。 90年代後半に爆発的に普及することになったのは、日頃 WWW 上で普通に使っている HTML(HyperText Markup Language)ハイパーリンクで、Web ページのある部分をマウスでクリックするとリンク先の別ページや Web サイトへジャンプするメカニズムである。 他方、コンピュータ間のデータ交換能力を大幅に引き上げるために登場した WWW 上のデータ表現技術 XML のハイパーリンクでは、散在する分散デジタルコンテンツを一体化した知識ベースとして活用できるようにする狙いから、双方向リンクの作成や、リンクとコンテンツを切り離して管理可能とする規格の制定と実装が進められた。 HTML では、アンカー要素を使って一方向のハイパーリンクを記述する。XML でもこのリンクを表現できるが、さらにずっと強力な機能を記述できる。この規格として策定されたのが XLink(XML Linking Language:2001年6月に W3C 勧告)と XPointer(XML Pointer Language:2002年12月に全6つのうち4つが W3C 勧告)である。 2.双方向ハイパーリンクのリンク連鎖−Xlink XLink はリソ−ス間に張られたリンク関係を記述するための言語である。XLink が記述できるリンクは、単純リンク(Simple link)と拡張リンク(Extended link)の2つに大別できる。 単純リンクとは、1つのリソースからもう1つのリソースへ一方向で張られるリンクで、HTML で普通に使っているハイパーリンクに似ている。他方拡張リンクとは、複数のリソースに向かって張られるリンクや双方向に張られたリンクである。 Xlink は、今までになかった強力なハイパーリンクのメカニズムを持っている。 1)リンクに付加的な属性を付けて、リソースやリンクに意味付けができる。 2)リンクのアンカー要素を別のXMLファイルに記述しておける。つまりリンクが張られるリソースに手を加えることなくリンクを張ることができる。 3)XPointer によりアンカーのない部分へもリンクできる 4)片方向リンクだけでなく、双方向リンクも提供する。 5)リンク自体を、リンク元やリンク先の文書と分離できる 6)分散された外部の文書を埋め込んで、新たに仮想ドキュメントを構成できる。 7)リンクをたどるタイミングやイベントなどを指定できる。 ここでのリソースとは、XML データが保存されたファイルや、XML の要素・属性、文字列など、リンクを張る対象の総称である。例えば人が理解できるように、リンクに名前や説明文などのタイトルを付けることができる。またプログラムが理解できるように、リンクやリソースの種類、さらにはリンク先の機能・役割などを記述できる。 さらにリンク先に飛ぶとき、新しいウィンドウを開くのか、あるいは元のウィンドウに新しい内容を表示するのかなど、リンクの振る舞いなども指定できる。 つまり Xlink を実装すると、1対Nのマルチリンク、双方向リンク、リソースが変動してもリンクが切れない恒久リンク、原本など書き込みができないコンテンツへのリンクなど、e-Japan の情報共有に欠かせない多様なリンク連鎖を張ることができる。 3.双方向ハイパーリンクのリソース定義−Xpointer XLink がリンクの関係を表現する言語であるのに対し、XPointer はリンクを張る対象の特定の位置や範囲を詳細に記述する言語で、通常 Xlink と対になって用いられる。 Xlink に指定するリソースが XML 文書の場合、続けて Xpointer(および文書の構造モデル要素 XML Infoset を表す Xpath:XML Path Language)を使ってリンク先の特定の位置を記述すれば、どんな部分にもリンクを張れる。 【例:<loc xlink:href=http://e-Japan.unisys.co.jp/NET/aaa.xml#xpointer(id("Paper"))> 】 リンク先として XML 文書のファイル全体を指定したり、文書内の要素やテキスト、属性値、コメントなど特定の部分、配列データのm番目、要素内容であるテキストデータのn番目文字など、さらには特定のポイント(位置)や範囲の指定なども行える。 XML は、名前空間の名前として URI(Uniform Resource Identifiers:RFC2396)を使用する。リンクを張る対象は URI の構文にならって一意に識別される。インターネットの URL(Uniform Resource Locator)はサーバーやPC、ネットワーク・ノードなどのリソース実体だけでなく HTTP や FTP などのサービス プロトコルも指定できるが、URI はそれに加えて、文書の構造要素、さらにはリソースの識別名やコンテキスト、行政資料コードなど、明らかにに存在しないリソースを指定できる。 関連規格の XHTML(The Extensible HTML:2002年8月 W3C 勧告第2版)は HTML を XML のアプリケーションとして再定義したもので、従来の HTML が構文規則の相違により XML の利点を活かせないとか、XML で公開した Web サイトが既存の Web ブラウザで表示できないとかの不具合を解消する。また XML で記述されたデータや膨大な共通知識資源となりうる他の XML 記述系言語(G-XML など山ほどある)も埋め込める。 XHTML では携帯端末やケータイ(電話)など向けに、デバイスに依存しない仮想アクセス対応への作業も続けられており、双方向ハイパーリンクの技術とともに、今後 HTML に変わる WWW 上の新しい標準になることが確実視されている。
|