連載 XLinkで広がる世界(2)
XLinkで実現できること、普及への課題
インターネット上のさまざまな文書がHTMLの持つリンク機能で網の目のように結びついているおかげで、World Wide Webが実現されています。この記事では、そのHTMLのハイパーリンク機能をさらに進化させた、XMLのリンク機能「XLink」について解説していきます。XLinkは、従来のWebの世界をより一層便利で多機能なものにしてくれます。(編集局) |
富士通株式会社
プロジェクトA-XML XML基盤技術部 担当課長
鈴木利光
2003/3/28
|
前回「制定まで4年かかったXLink仕様の中身」ではXLinkの機能や記述、いくつかの応用例について説明しました。XLinkの基本的な機能を理解していただけたでしょうか。今回はサーバサイドでXLinkを使った場合の具体的な例と、XLinkプロセッサを使ってのサーバサイドの汎用的な仕組みと実例、また、XLinkの今後について説明したいと思います。
■サーバサイドでXLinkを利用した例
前回もサーバサイドで利用した例としてコンテンツのパーソナライズをご紹介しました。今回はさらに、XLinkの実用的な例を中心に紹介していきましょう。
(1)編集者に依存したコンテンツ配信
現在、多くのポータルサイトでは、ユーザー自身でページをカスタマイズできるようなサービス(いわゆるマイページ)があります。しかし現状のカスタマイズでできることは、あくまでもたくさんある情報の中から、分野ごとの情報を機械的に取捨選択できるといった程度であり、情報の選択に知的な処理は行われません。
ここでXLinkを利用して、情報内容そのものに付加価値を付けるサービスを実現することを考えてみましょう。例えばインターネット上にあるさまざまな既存の記事や情報を基に、編集者がある情報の分析結果をWebに掲載するようなサービスがあったとします。この場合、編集者はそれぞれ、自分の分析結果を表すWebページを作成します。読者は編集者が作成したWebページの中からどれかを選んで読む、ということになるでしょう。
図1 XLinkを使った記事の編集 基になるインターネット上の情報から、編集者が独自に選択し、追加情報などと組み合わせて記事を作っていく。これらをXLinkの機能で実現できる |
このようなサービスにXLinkを使うと図1のようになります。基になるインターネット上の情報に対して、編集者ごとに集め方(ニュースソース)も見方(追加情報やコメント)も違いますから、それをXLinkファイルとして表現していきます。読者は、編集者によって取捨選択され、追加情報などが記されたページを見ることができますし、好みによって編集者を選ぶことができます。
こうした機能は、XLinkの拡張リンクの機能を使って実現します。前回「制定まで4年かかったXLink仕様の中身」でも触れましたが、この場合の拡張リンクはコンテンツ自身にはリンクを記述せず、第3のファイルにリンク情報を記述する機能です。この機能を利用すると、対象のデータを直接変更することなく、リンクを埋め込んだりすることができます。
この拡張リンクファイルに編集者は、トップページの特定の部分へのリンクの埋め込み、編集者が集めた情報や追加情報などに対するリンク情報などを記述しておきます。そして、編集者が複数いれば、拡張リンクが記述されたファイルもその数だけ用意されます。ユーザーは編集者を選択することで、この拡張リンクのファイルを選択することになります。
こうすることで、ユーザーに提供するWeb画面に対して、各編集者は必要な情報をリンクし、付加情報を追加して記事を作成できます。 利用者は編集者を選ぶことにより、好みの編集をされた記事を読むことが可能になりますが、どの編集者を選んでもページのデザイン自体は同じにすることが可能なので、ナビゲーションで迷うことはありません。
このように、XLinkを使うことで1つのポータルサイトで多様なコンテンツの提供を実現することができるようになります。
(2)ドキュメント管理
文書管理にXLinkを適用することも可能です。例えば図2のように、マニュアルのような文書の構成要素は、各章とその中の節、項、さらには段落ごとにばらばらに作成可能です。そこで、これらをばらばらに作成しつつ、関係をすべてXLinkの外部ファイルとして記述しておくことができます。
このようにすることで、文書構成要素を変更することなく、XLinkファイルをメンテナンスすれば必要な情報からなる文書や、一部の内容を差し替えた版などを自由に作成可能になります。
図2 ドキュメント管理 ばらばらに作成された文書構成要素をXLinkファイルでまとめて、さまざまな文書を作り上げることが可能だ |
この機能はXLinkの埋め込み機能を使います。XMLファイルには、それぞれまとめたい文書構成要素へのXLinkを記述すると同時に、その属性と属性値に
xlink:show= "embed", xlink:actuate= "onLoad"
を指定しておきます。このようにすると、指定されたコンテンツがこのXLinkが記述されている場所に埋め込まれます。こうしたXLinkをいくつも記述していくことで、必要な文書構成要素をまとめたマニュアルや仕様書、納品書といった文書が自由に構成可能なのです。
下記の(3)の例はそれを逆に利用し、オリジナルのXML文書をばらばらにして、それらを個別に参照可能にしています。
(3)コンテンツのテーラリング
図3にはiモードのような携帯端末やPDAといった画面サイズが制限されているデバイスに対して、既存のWeb用のコンテンツを再利用して情報提供する例を示します。それには、XMLベースで記述されたコンテンツを階層構造に分割し、各階層構造間の関係をXLinkで記述します。これで、PDAなどからは分割されたコンテンツを自由に参照できるようなります。その一方で、PC上のWebブラウザでアクセスした場合には、サーバ側で関連した情報をマージし、一度に全体を参照できるようにすることも可能です。
図3 コンテンツのテーラリング 1つのコンテンツをXLinkによってばらばらに見せ、PDAなどの画面サイズの小さいデバイスで参照しやすく加工できる。PCのWebブラウザなどからアクセスする場合には、オリジナルのXML文書か、マージしたものを見せればよい |
■XLink実装のための汎用的な仕組み
サーバサイドでのXLinkの利用の例についていくつか紹介しました。これらの例を実現するうえで共通化した処理を、より汎用的な仕組みで実現することも可能です。図4を見てください。基本的にはJSP(JavaServer Pages)やASP(Active Server Pages)によく似た構成となります。
図4 XLink Server Page XLinkとXSLを実装したサーバを使えば、XML文書の加工が容易に実現できる |
WebサーバにXLinkを実装することで、Javaなどのプログラミングは不要でXML文書に対する加工が可能になります。われわれはこの仕組みをXLink Server Pageと名付けています。現状ではXMLを直接表示できるWebブラウザが少ないこともあり、最終的にはXSLを使ってHTMLに変換する仕組みも用意することで、より汎用的な利用が可能になります。また、この仕組みを利用することにより、サーバでXLinkの処理を代行(例えばXLinkで記述されている部分をHTMLのAに置き換える、あるいは参照先の情報を埋め込むなど)し、XLinkに対応していないWebブラウザ用のプロキシサーバのような利用もできるようになります。
この仕組みの特徴は、コンテンツの作成をXML文書の記述だけで実現できる点です。XLinkの機能に依存しているため、Javaなどを利用して実現するような動的な切り替えや複雑な埋め込みはできません。しかし、あるコンテンツを別なコンテンツの一部に埋め込む、複数のコンテンツをまとめる、分解する、といった用途では、いちいちプログラムを書く必要はありません。このため、プログラミングは苦手といったユーザーでも比較的容易に利用できるメリットがあると考えています。
■XLinkを使った実例
ここまでは架空の例でXLinkの利用法について解説してきました。まだXLinkの実例は多くないのですが、実際にXLinkを使った例を紹介しましょう。
XMLをベースとした規約としてXBRL Internationalが開発・維持しているXBRL(eXtensible Business Reporting Language)というものがあります。XBRLとは、企業の財務諸表のようなビジネス情報をXMLで定義した規約です。この規約によると、XBRLではXLinkのlinkbase(リンクのデータベース)を使って、いくつかの機能を実現しています。
XBRLには、ある要素に対してラベルリンク、カリキュレーションリンク、プレゼンテーションリンク、ディフィニションリンク、リファレンスリンクといったリンクがあります。例えばラベルリンクでは、XBRL仕様に従って決めた要素名と、そのラベル(人が読んで意味が理解しやすい名前)をリンクで結び付けていますし、プレゼンテーションリンクでは要素に対して表示用の順序を結び付けています。つまり、ある要素を処理する場合には、アプリケーションは要素名を見て内容を処理する一方で、人間に対するレポート出力などでは、ラベルの名前やプレゼンテーション用の構造を用いることで、より分かりやすい表現ができるようになっています(XBRLの目的・機能などの詳細についてはXBRL Japanが発行しているXBRL仕様書(PDF)などを参照してください)。また、ここで紹介したXBRLの内容を表示するアプリケーションとして富士通研究所のXBRL Tools のページで「XBRL Demonstration」を公開していますので、興味のある方は試してみてください。
このほか、少し古い記事ですがXLinkを使った電子マニュアルへの適用を意識した非常にグラフィカルな例として、ディジャー・マーチン(Didier Martin)氏がXML.comに掲載した“Integration by Parts: XSLT, XLink and SVG”があります。この例では車のパーツマニュアルをSVGとXLinkを使ってグラフィカルに連携表示する例を説明しています。InternetExplorerとSVGブラウザさえあれば簡単に動作させることができます。
|
最後に、XLinkが普及していくうえでの課題をいくつか挙げておきます。
(1)XML化したコンテンツがまだ少ない
最も大きな課題はWeb上で利用可能なXML化されたコンテンツが少ないことです。Web上で公開されているXMLベースのコンテンツが非常に少ないため、XLinkを使おうにもなかなか使えません。しかし、自分が作成するコンテンツではいますぐにでもXMLが利用可能でしょう。また、例えばインターネット上のニュースがNewsMLで配信されているように、システム内ではすでに多くのデータのXML化が進展しています。あとは、いつXML化されたコンテンツにアクセスできるようになるかという問題です。
(2)コンテンツの部分利用に関するルールが決まっていない
XLinkを使うと簡単にWeb上の文書の一部だけを参照したり引用・転用することができてしまうため、第三者によるコンテンツ利用の権利問題も解決すべき問題です。参照に関するルールとしては、Hypertextという言葉を造ったテッド・ネルソン(Ted
Nelson)氏が提唱しているTranscopyrightといった新たな枠組みの提案もあります。いずれにしても、専門家の方々による検討が必要な問題であると思われます。
(3)XLinkに対応したアプリケーションが少ない
いくつかのブラウザやアプリケーションがXLinkの一部の機能を実装していますが、まだ十分ではありません。これは利用可能なXMLコンテンツが少ないこととも合わせて「ニワトリと卵」の問題かもしれません。W3Cでは、XLinkの実装リストがXML
Pointer,XML Base and XML Linkingのページで公開されています。
■今後のWebコンテンツ
いまやWeb/HTMLは当たり前のように使われていますが、つい5年前にはここまで予想できた人はほとんどいなかったでしょう。その普及の陰の立役者はHTMLの持つリンク機能だったと思います。世界中に散らばったさまざまな情報をあたかも自分の情報のように使うことができるようにしたのはブックマーク(個人個人のリンク集)の機能であり、人々はこぞってブックマークを作成していました。その後、高性能な検索エンジンが登場し、キーワードにより自動的にブックマークの束(検索結果のリンク集)を得ることができるようになり、それ自体が付加価値を生む新たなビジネスを創造しました。
XLinkは、いまはまだ普及していません。上記のような課題はあるのですが、今後、Web上のコンテンツとしてXML化されたものが増えることによってXLinkは急速に普及するでしょう。想像してみてください。世の中のWeb上のコンテンツを、あたかも自分で作ったコンテンツのように切り貼り参照が自由にできるようになり、自分のブックマークをより有益なものにできるようになるのです。
さらにXLinkでリンクを作成することにより、従来組み合わせることすら考えなかった情報と情報の間に新たな関係を作り出し、関係に意味を持たせ新たな情報としての価値を付加することがだれにでもできるようになります。もちろん、これは個人レベルでも企業レベルでもでき、同時に新たなビジネスを起こすことも可能です。このような世界がきっと来ると確信しています。
<<前回 「制定まで4年かかったXLink仕様の中身」 |
■参考リンク
・World Wide Web Consortium
・XML Linking Language
・XBRL Japan
・XBRL
FACT BOOK(pdf)
・XBRL Demonstration
・xml.org
・Integration
by Parts: XSLT, XLink and SVG by Didier Martin March 22, 2000
・Transcopyright
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|