XML の リ ン ク 機 構 を 取 り 入 れ た リ ン ク エ デ ィ タ
松下

1.

正毅

平嶋 宗
九州工業大学はじめにHTML に代わる次世代の Web ドキュメント記述言語として， XML が注目されている． XML は，高度なデータ記述能力および豊富なリンク機能を備えている点で HTML に比べ優れているとされるが，特に注目すべき点として，文書とリンクを分離することが可能となっていることが挙げられる． HTML 文書はリンクを文書に埋め込む必要があったため，文書の内容を別のハイパーテキストにおいて利用したい場合，古いリンクの 除去と新しいリンクの付加といった文書自体の再編集を行う必要があり，再利用は必ずしも容易ではなかった．これに対して， XML では文書間のリンクを別の文書として記述することが可能であるため，リンクに関する文書を新たに作成するだけで，あるハイパーテキストを構成していた文書群の再利用が可能となる．
XML は上記のような様々な機能を備えており，機能的には HTML に比べて優位性を持つが，同時にその文法は比較的複雑であり，これまでの HTML のようにエンドユーザが作成するのは難しかった．このため， XML 文書の記述を助けるエディタの研究開発が盛んに行われている．しかしながら，これまでに開発されているエディタは文書を中心としたものであり，XML の重要な特徴である，文書とリンクの分離を活かしたものではなかった．この特徴を活かすためには，文書エディタの他に，文書に対して外部からリンクづけするためのリンクエディタが不可欠といえる．
本研究では， XML 文書群が与えられることを前提として， XML 文書間のリンク付けをグラフィカルに行うことによって，リンクに関する文書（ハブ文書と呼ぶ）を簡単に作成できるリンクエディタを開発している．このハブ文書を XML ブラウザが読み込むことにより，リンクが埋め込まれていない文書間のリンクをブラウザが認識することができる．このリンクエデ
ィタは， W3C の勧告案で示された XML のリンク機能に準拠したものとなっており， XPointer による文書内のアドレッシング機構および XLink によるリンク機構を実現している．また，リンク付けの方法としては，文書もしくは部分文書間のリンク付けを行うページビューと，文書や部分文書のグループ化に用いられるラベルに着目して，ラベル間のリンク付けを行うラベルビューを実現している．これらの二つのビューの相互変換も既に実現している．
以下，本稿では，本システムの構成およびその中核となるリンクエディタについて述べた後，具体的に実現されているリンク機能の説明する．また本システムの利用法の検討を行う．

竹内章

2. XML 文書のリンクエディタ
2.1. シ ス テ ム の 構 成
リンクエディタを中心とした本システムの構成を図１に示す．まずユーザはリソースとなる XML 文書から必要なものを取り出し，その関係をリンクエディタ (図２ )により記述する．その作成されたリンク情報はハブ文書として出力される．そのハブ文書を XMLブラウザが読み込むことにより，単なる文書の集まりであったリソースがリンクエディタで記述されたリンクを持つハイパーテキストとして機能する．このときブラウザが別のハブ文書を読み込んでいれば，同じ文書群はそのハブ文書に従って別のハイパーテキストとして機能する．
な お XML ブ ラ ウ ザ は 独 自 に 用 意 し た
XLink,XPointer 対応ブラウザである．独自のものを用いる理由としては現在の配布されている一般的なWeb ブラウザの中に XLink，XPointer に対応したものが存在せず，リンクエディタで作成されたハイパーテキストを読 み込んでもハイパーリンクとして機能しない為である．

図１．システム構成
2.2. リ ン ク エ デ ィ タ の 機 能リンクエディタの機能として主なものに下記の 2つがある．
・ハブ文書の作成
・ラベルビュー・ページビューによるリンク付け
1 つ目のハブ文書の作成とは，リソース間の関係であるリンク情報とそのリンクの付加情報 (作成者，タイトル )が記述されたハブ文書を出力できる機能である．閲覧者がまず最初に閲覧することになる文書であり，それを読み込むことによりリンクエディタで作成した文書間のリンクをブラウザが認識することができる．

A Link Editor for XML Documents
MATSUSHITA Masaki, HIRASHIMA Tsukasa, TAKEUCHI Akira
Kyushu Institute of Technology2 つ目のラベルビュー・ページビューによるリンク付けだが，これは本リンクエディタでは文書もしくは部分文書間のリンク付けを行うページビューと，文書や部分文書のグループ化に用いられるラベルに着目して，ラベル間のリンク付けを行うラベルビューがあり，ユーザがこれら２つのビューを利用してリンク付けを行える．ラベルビュー (図 3)ではユーザはラベルをキャンバス上に配置し，その配置したラベルを結ぶことによりリンクの構造を作る．そしてそのラベル値を持つリソースをラベルに追加する事によりリソースのグループ化ができリンクを作成することが出来る．このラベルビューの利点は同じ構造を持つリンクを大量に作成するのが容易である点である．
次にページビュー (図 4)では，ユーザはリソースとなる文書をキャンバス上に配置し，リンクで関係付けたい文書または部分文書を結ぶことによりリンクを作る．その為文書間の関係がユーザにとって視覚的に理解しやすくリソース間のリンクの流れがわかりやすいという利点がある．またこれらのビューは相互変換することが可能であり，リンク作成の状況に応じてビューを変換することにより互いの利点を生かしたリンク作成が可能になる．

図 2.リンクエディタ

図 3.ラベルビュー

図 4.ページビュー

2.3. 対 応 し て い る リ ン ク 機 能XLink では文書とリンクの分離以外に様々なリンク機能を提供する．そのリンク機能として一方向リン
ク，複数リソース間のリンク，リンク先リソースをリンク元リソースに埋め込むリンクがある．一方向リン
クは HTML に見られるような単純なリンクで，複数リソース間のリンクとはリンク先が複数あり，閲覧者にリンク先を選択してもらう多方向リンクである．そしてリンク先をリンク元に埋め込むリンクとは，文書，または文書の一部をリンク部分に埋め込んで表示するリンクである．現在までのところ前の 2 つの機能に関してはリンクエディタに実装済みだが，最後の機能については未実装である．
3.

まとめHTML 文書は，リンクを文書内に埋め込む必要から，その内容もある特定のハイパーテキスト構造を前提として書かれることが多かった．これに対して，今後，Web 文書の主流となることが予想される XML 文書の場合，文書とリンクが分離されている事から，特定のハイパーテキスト構造を想定した内容記述を行う必要がない．このようにリンクと独立した内容記述を持った文書が多くなってくれば，それらを文書作成者以外の多くの人々が共有し，必要に応じてある文書群に対して必要なハイパーテキスト構造を与えて利用するといった形態が普及してくると考えられる．本
リンクエディタは，このような利用を容易にするために不可欠なものと言える．
本リンクエディタは現時点では仕様に従ったリンク機能を実現しているだけであるが，今後は，適応的なハイパーテキストのオーサリングツールとして必要な機能を付加してゆく予定である．具体的な対象としては，製品のマニュアルや教材としてのハイパーテキストなど，個々のユーザの知識や状況に応じて異なった説明を行うことが望ましく，また，個々の説明単位の独立した記述が容易な領域を想定している．

参考文献[1]XML Pointer Language (XPointer) Version 1.0
W3C Candidate Recommendation 7 June 2000
http://www.w3.org/TR/2000/CR-xptr-20000607/[2]XML Linking Language (XLink) Version 1.0
W3C Proposed Recommendation 20 December
2000
http://www.w3.org/TR/2000/PR-xlink-20001220/