XMLがもたらすもの
1.はじめに
「今や、地球は一瞬にして振動する巨大な丸い知性と化した。」とは、NIIに関する演説のなかでゴア副大統領が引用したナサニエル・ホーソンの言葉である。情報社会におけるネットワークの役割を端的に表現した言葉のひとつと言えよう。
通信回線が地球上くまなく普及し、情報のユニバーサルアクセスが、言葉どおりあまねく人々の間で実現され、人々の知識や知恵、思いや願いが相互にしかも瞬時に伝えることができれば、争いごとがなくなり、お互いの理解に基づいた心豊かな時代を迎えることが可能となろう。しかも、必要な人が必要な時に必要なものや情報を入手し、また伝達できるとすれば、これまでの商構造や行政機構、さらには政治のあり方すら大きく変えることにもなる。
ただし、ホーソンの言葉は約150年も前に電信機の発明に際して捧げられた言葉である。残念ながら、未だ地球上には争いが絶えず、思惑や情報の寡占に支配された商取引なども横行している。冷静に分析すれば、驚異的とももてはやされる技術革新とはうらはらに、ホーソンの思い描いた「巨大な丸い知性」は150年の永きを経ても実現されていないと見る方が正しかろう。今日の「情報」処理技術者は、ドグ・イヤーとも言われる変化の中において、単なるプログラマ/システムエンジニアとしての技能では表現しきれない、新しい時代の情報の役割についての大きな責任を負っているはずである。XMLは、この一年あまりの短期間において進展した新しい「電子的情報表現機構」であり、多くの期待のもとに更なる検討が進められている機構でもある。しかし、その検討の背景には、長い間適えられなかった「情報の電子化」がもたらすべき効用を実現する機構としての期待がこめられている。
本章では、XMLの誕生の軌跡をたどり、電子化ドキュメントへの期待と可能性について記述を試みた。
2.ドキュメントの電子化の軌跡
(1)ドキュメントの電子化に関わる課題
そもそもドキュメント(文書)とは、名辞(rheme)、命題(decisign)、論証(argument)を著者の意図に従って生成(generation)したオブジェクトとして捉えれば、日常生活に膨大に出回っている「紙」媒体としての情報表現に限定されるものではない。しかしながら、我々はドキュメントと言えば、一般に「紙」とその上に記された文字列や図・表をイメージしてしまう。実際、紙媒体によるドキュメントは、その内容を認知するに当たって特別なソフトウエアもハードウエアも必要とすることなく、読者(受け手)が理解することができる。しかも、その蓄積(archive)は容易であり、媒体としての紙さえ保存されていれば何百年たっても、ドキュメントを後世に伝えていくことが可能とされる。
翻って、ネットワークを介したドキュメントの伝送に際しては「電子化」が必須とされる。電子化、すなわち単純に0と1の信号によって表現されたドキュメントは、認識し理解するために、信号の組み合せに対する著者・読者間共通に受け入れられたルール(コード体系)が必要とされる。また、そのルールに従って、信号の組合せを「文書」として表現するための機構(ソフトウエアとハードウエア)が不可欠である。いくら精緻に組み上げられた機構であっても、それが特定組織に限定されるものであったり、特定のハードウエアやソフトウエアを前提におくものである場合は、ネットワークを介した知識や知恵の交換・共有は不可能である。ここに、情報を電子化するに際しての「標準化」の重要性がある。
一方、「ドキュメント」を利用領域から見れば、学術論文や書籍、行政機構における白書類や統計類、商取引における伝票類や請求書・納品書類、また組織上に用いられる辞令や稟議書といった書類に至るまで、さまざまな情報の種類がある。また「情報」をその形式から眺めると、テキストに止まらず、いわゆるマルチメディアと呼ばれる画像情報や音声などを含めた多様な種類の情報の扱いが必要とされる。電子化情報の標準化にあたっては、情報の利用領域や形式に対応した配慮がなされなければならない。
商取引機構においては、コンピュータの出現以来データがさまざまに電子化され入力、処理・加工、蓄積が進められてきた。今日では商取引情報の標準化のもとに、EDI(Electronic
Data
Interchange)と呼ばれる機構が盛んに展開され、当初の組織内情報交換から、組織の枠を超えた電子的情報(電子伝票)の交換が進められている。この結果、従来郵送等によっていた商取引のスピードが飛躍的に迅速化されるとともに、新しい企業を超えた協業構造をも惹き起こしはじめている。
このような商取引伝票という比較的シンプルな構造を持つ情報の電子化に際しても、企業の枠を超えて、相互に交換可能となるためには何十年もの時間が必要とされ、未だに多くの議論を呼んでいるのが実状である。
今日、インターネットに代表されるネットワークのもとでは、エレクトロニック・コマース、ネットワーク銀行、電子図書館など、ネットワークとWEB機構を利用したさまざまな新しい社会経済的な機構が出現している。これらの機構を成立させ、展開していくための基盤の一つとしては、広く関係者に受け入れられた標準のもとでの「情報の電子化」が必須である。
XMLは、ドキュメント(文書)類の電子化に向けて設計された電子化文書の記述構造の一つとして位置づけられるものである。その背景には静かなる革命と言われるSGMLがあり、今日WEB上に大いに利用されているHTMLの普及がある。XML設計の意図は、これらの先行的マークアップ言語と密接に関係を持っている。
(2)電子化ドキュメントへの期待
我々が、常日頃扱っている紙媒体ドキュメントを見る限りにおいては、あまりにも当たり前のこととして意識され難いが、紙媒体ドキュメント自体、実は相当人間に対して制約を強いている事実に注目する必要がある。電子化と言う新しいドキュメント表現は、これらの制約を大きくブレークスルーする可能性を持つものでもある。
1)情報の粒度(グラニュラリティ)
一例として、各研究機関が出版している研究紀要類について考えてみる。研究紀要類は研究成果の発表の場として、幾つかの論文が記載されている。研究者にとっては、自分が取り組んでいる研究領域についての貴重な情報源となる。従って、研究者は研究領域に関する論文を入手するために「研究紀要」と呼ばれる書籍を入手することに努める。ただし、実際に研究者が欲しているのは「研究紀要」という書籍全体ではなく、そこに記載されている「研究論文」そのものといえる。すなわち「研究紀要」として出版された書籍の、極く一部が必要とされている。別な見方をすれば「研究紀要」を1ページから順番に常に読破していく人はまれであろう。しかし、今日の「情報の流通構造」においては「書籍」と言う単位において流通されている。従って、読者は一編の研究論文を入手するために、対象領域以外の記事が多く載っている書籍全体を入手しなければならない。今日それが当たり前のこととして受け止めている。同様のことは、冊子体として出版される全てのドキュメントに当てはまるし、また音楽CDなどの流通においても同様である。情報が電子化されることにより、情報の流通機構は従来の冊子体を主体とする印刷物としての制約を大きく打破することが可能となるはずである。読者は、本来冊子体の一部として出版される「論文」そのものを、ネットワークを経由して直接入手することが可能な時代を迎えたと言えよう。
2)情報の構造(ストラクチャー)
ドキュメントとして表現される「情報」には「表題」、「著者」、「要約」、「本文」さらに「第一章」、「第一節」といった論理的構造がある。また、これらの順序・階層的構造に加えて、注記や脚注、引用文献といった文章中に適宜現れる情報があり、図や表といったテキストではない情報も出現する。HTMLにおいては、これらの参考・参照情報がハイパーリンクされ、読者側が必要であれば、その箇所をクリックすることにより情報を取り寄せることが可能となる。今日、WEB構造においては、世界中のサイトが相互に参照され、読者(利用者)は必要に応じて、多様な情報を巡り歩くことが可能とされている。従来の印刷物での表現の制約を大きく打破したものと言えよう。
古くはバンネバー・ブッシュ氏が思い描いた「As
we may think」、すなわち思い描くままに情報を取り寄せることができる機構がWEBにより実現されつつあると捉えることができる。
3)情報の体裁(スタイル)
印刷物として出版する際には、ページサイズへの割り付けが重要な仕事となる。文章の運びに応じた図や表の配置は、読者の内容理解に大いに貢献するものとなる。脚注は、説明する用語が最初に出現したページの下部に位置づけられるものであるし、また文章中における「××ページ参照」などの記述は、実際にはページ割り付け全体が終了して始めて参照関係が定義されることとなる。すなわち、ドキュメントのコンテンツ(内容)とは別な意味で、情報のスタイルはドキュメントを構成する重要な要素と言える。
これまでの、印刷物を中心とする情報の提供においては、ドキュメントの体裁は、著者もしくは出版者が定める版面の体裁を、いずれの読者も等しく入手するものとされた。
一方、HTMLのもとでのハイパーテキスト構造は、読者の興味に従って入手される情報が選択されることとなる。また、脚注などのページ構成を前提においた説明句は、ページ・レイアウトの概念がないHTMLの場合、必然的に出現場所が特定できないこととなる。
電子媒体上に表現されたドキュメントにおいては、その機構上、紙媒体のそれとは必然的に異なる体裁を必要とすることとなる。逆に見れば、紙媒体では表現しきれなかったドキュメント体裁を実現することも可能となるはずである。ハイパーテキスト構造はその一例であり、このような考え方の延長線上には、情報入手に際して利用者側が自らの意図をもって情報の体裁を加工し得る機構への展開が想定される。単純な例としては、老眼の方がフォントを大きくしたいなどの要求も想定されるし、表形式で表現された統計情報をパイチャートや折れ線グラフなどの形式で見るなどの、情報の見方(ビュー)に対するさまざまな要求への対応も考えられる。
情報が標準化された形式のもとで電子化されて提供されるならば従来の、出版者により固定化された情報表現にとどまらず、利用者側で柔軟に情報の見方を選択できる機構が実現されよう。
ここに挙げたように、ドキュメントの電子化は、従来の紙媒体によるドキュメントの制約を大きくブレークスルーし、より読者に対して理解しやすい表現を可能とすることが期待される。すなわちドキュメントの電子化とは「紙」発明以来、人間が慣れ親しんできたドキュメントの構造を大きく改善する可能性を持つと同時に、ドキュメントの入力・編集、蓄積・検索、流通に至る一連のプロセスと構造に対して、改革を迫るものでもある。
2-1.SGMLの誕生
(1)SGML開発のプロセス
ドキュメント構造を標準化し、オープンに交換したり加工するための努力は1960年代に開始された。GCA(Graphic Communications
Association)では、異なるタイプセット間でのドキュメント交換を可能とするGenCodeと呼ばれる汎用的なフォーマットコードを開発し、他方、IBMではGML(Generalized
Markup Language)のもとに、マニュアルやプレスリリース、契約文書、プロジェクト仕様などの社内文書類の管理に用いていた。GMLにおいて、今日SGML/HTMLに見られる<
>、のタグ形式が採用された。
1980年代に至り、GenCodeグループとGMLグループの代表者がAmerican National Standard
Institute(ANSI)においてComputer Language for the Processing of
Textの検討組織を形成し、ドキュメント中のマークアップを標準化するための作業を始めた。この結果、SGML(Standard Generalized Markup Language:ISO
standard
8879)が1986年に規格として整備された。
SGMLは、ドキュメントの正規性を保証するとともに、複雑なドキュメント構造を表現可能とし、また大規模な情報リポジトリのマネジメントをサポートし得る拡張性を持つようにデザインされたものである。その構成は、GMLの発展系としてのシンタクスとGCA
GenCodeの敷延としてのセマンティクスの2つの基本要素からなると解釈される。SGMLは、そのドキュメント交換や処理に向けて豊富な機能のもとに、米国国防総省を中核に展開されてきたCALSにおけるドキュメント標準として採用され、一躍脚光を浴びることとなった。
SGMLは、元来無定型なオブジェクトとも言えるドキュメントを、利用者側でのハードウエア・ソフトウエア環境の相違にかかわらず、相互に利用可能とするための標準化された記述方法である。その目的のために、敢えて検索機能や表示機能は設定しておらず、あくまで「文書の構造」を表現することに焦点を当てている。すなわち電子化文書の処理加工技術(アプリケーション)とは無関係に、文書構造そのものを記述する言語標準である。文書構造を表現した記述をDTD(Document
Type
Definition:文書型定義)と呼ぶ。一般的なデータベースの用語に従えば、DTDはスキーマに相当するものと言える。誤解のないように付け加えれば、SGMLはDTDを記述する際の言語規約を規格化したものであり、対象とする文書構造そのものを規格化する意図を持つものではない。これらの背景を踏まえて構成されたSGMLは、以下の特性を備えることが可能となった。
1)拡張性(Extensibility)
著者が、自らのドキュメントについて、そのシンタクスやセマンティックスに対応した新しいタグやアトリビュートを定義できる。
2)構造(Structure)
複数文書間のネスティング構造を表現でき、ある文書が他の文書を包含することが可能である。この機能により、多数のドキュメント群を組み合わせた複雑なドキュメント構造を表現可能である。
3)正規性(Validation)
SGML文書は、その文法・構造定義についてオプショナルな定義が可能であり、文書の構造的正規性をもってアプリケーションに引き渡すことが可能である。
(2)SGMLが抱えた課題
このように、文書構造を表現したDTDと、そのDTDに沿って記述されるSGML文書とに分けることにより、利用者はDTDを解釈することによって、その文書構造を読み取ったり、SGML文書中から特定部分を抜き出したり、また検索や表示用に作った自分のアプリケーションに直接利用することが可能となった。
ただし、SGMLが制定された1986年は、米国で科学財団が今日のインターネットの母体として知られるNSFnetを設立した年であり、WEBの登場までさらに7年あまりかかっている事実に注目する必要がある。SGML制定当時の情報技術キーワードの一つに、「異機種間結合」があるように、オープン化が進展していない当時においては、各々のハードウエアベンダーのもとでのプロプライエタリなシステム環境が各々の用途に応じて用いられていた。すなわち、異なるシステム環境にあるシステム相互をどのように結び付けるかが重要な課題であった。
SGML発想も全く同様な意図を持つものであり、個別のシステム環境で生成・蓄積されている電子化ドキュメントを相互に利用可能とするための役割を期待するものである。異なる文字コード体系や、異なる文書構造を持つ電子化ドキュメントを個別のシステム環境に持ち込めるバッチ処理型の「情報交換機能」を目的においていたと言える。
オープン化の進展を背景とする今日の広範なネットワークの普及においては、個別のシステム環境での情報を交換可能とするに止まらず、当初から関係者間横断的に受け入れられた標準的記述形式のもとでの、オンライン型の「情報共有機能」に焦点が移って来ている。ここに、HTML(さらにはXML)が案出される背景があった。
また、SGMLの言語規約は、上述の特性を活かしつつ、しかもさまざまな形式を持つドキュメント全般をカバーし得る目標のもとに500ページを超える膨大なものとなっており、個々の利用者が特定されるドキュメント領域を前提として記述する場合にあっても、SGML全般に亘る理解が必要とされる。このため「静かなる革命」と半ば皮肉をもって表現されるように、一般の利用者には甚だ取っ付き難い代物でもあった。
2-2.HTMLの誕生
(1)WEBがもたらした地球規模での情報提供
今日、行政を含めて社会経済機構のさまざまに起こっている変革の動きは、インターネットを始めとするネットワークの汎地球的な広がりが大きく関与している。インターネットの歴史をNSFnet以前、ARPAnetの時代から捉えれば既に30年程も経過しているが、現在の爆発的とも言える普及は、World-Wide
Webが大きな役割を果たしていると言えよう。
WEBは1989年、欧州の研究機構であるCERN(Centre Europeen pour la Recherche
Nucleaire)のTim Berners-Lee氏らによって研究者間の情報共有のためのシステムとして開発された。WEB機構は、HTML(Hyper Text Markup
Languguage)、URL(Uniform Resource Locator)とHTTP(Hypertext Transfer
Protocol)の3つの主要な機構によって実現されるものであり、1993年のMosaic(イリノイ大学National Center for Supercomputing
Applications:NCSA)が実現した優れた操作性により爆発的に普及し、合せてインターネットのそのものの普及を急速に加速する背景となった。
HTMLはフルネームから容易に想像されるように、SGMLを母体として定められたマークアップ言語であり、SGMLのサブセットに位置づけられる。
インターネット上での情報の流通を可能とする目的のもとに、全ての情報提供者はあらかじめ定められた共通タグセットを利用することとし、また多様なドキュメントに対応するために、タグは情報の表示体裁を指定する機能に限定し、文書構造や内容の表現を意図していない。
HTMLは、広範な普及とともに表現機能が逐次追加され、現在の最新版はHTML
4.0となっている。4.0版ではスタイルシートの導入等により大きく表現力を強化している。
(2)HTMLの問題
HTMLは、バンネバー・ブッシュ氏が描いたMEMEX、テッド・ネルソン氏らの描いたハイパー・テキストによる情報提供構造を極めて容易な操作性のもとに実現した意味で、画期的な情報記述言語である。その操作容易性は、SGML開始当初の目的である単に異なる組織間での情報交換標準と言う枠組みを大きく超え、そもそも情報そのものを特定組織内部に閉鎖することなく、広く公開しネットワーク上で共有する構造を目指している。今日HTMLはあまりにも普及しているため、ここでその詳細は省くが、上述した電子化ドキュメントへの期待と比較して検証すると、依然として幾つかの課題が残されている。
まず、HTMLは機能面の豊富さよりも操作容易性を重視していると言う設計上のコンセプトに由来する制約が挙げられる。具体的には、
- 情報表現における体裁(レイアウト)の制御に限定している。
- 文字列の出現場所や意味を持つ機能がない。
(具体的には、同じ「秋田」と言う文字列であったとしても、それが人の姓を指す意味で使われているのか、県名で使われているのか、判断が付かない。) - 全ての利用者に共通した一つのタグセットである。
- 各々のタグの機能はあらかじめ固定されている。
- データ構造についてもあらかじめ定められている。
- データのモジュール化が困難である。
- ハイパーリンクが可能とされているが、あくまで情報提供者があらかじめ設定したリンクに固定化されるものである。
という技術的な制約に加えて、今日実質的に、二社の寡占下にあるブラウザのベンダーにおけるポリティカルな問題も指摘される。
このため、次のようなデータを対象とする場合などには適用が困難となる。
- 複雑な構造を持つデータ
- 大容量なデータ集合
- 同じデータセットの、異なる目的への利用
- 長期間に亘る情報のアーカイブ
3.XMLの登場
3-1.XMLのコンセプト
1996年に至りW3C(World-Wide Web
Consortium)では、Web機構に対する適合性を持ち、かつ人間側からみてもコンピュータ的にみてもSGMLより扱い易い言語の開発を開始した。そのねらいとするところは、HTMLを基礎におく現状のWeb構造の限界をブレークスルーし、Web機構をより高度な情報交換・共有機構に改革していく点にある。具体的には、ネットワーク上に展開される膨大な量の情報源より、必要な情報やサービスをより効率的な探索を実現したり、同じコンテンツをさまざまなメディアや体裁で表示可能とする機構の形成にある。併せて、利用者がネットワーク上の情報を自分のアプリケーションによって直接アクセスを可能とする点にある。
設計に当たって採用した原則は以下の通りである。
- 文書(ドキュメント)の構成要素を、「コンテンツ」と「文書構造」と「文書体裁」に分離する。
- (SGML同様)検索やオーサリング等のアプリケーションは特定しない。
- 従って、XMLは「システム対システム」インタフェースを確立するための規約とし、「システム対人間」のインタフェースは、利用者側アプリケーションに委ねる。(アプリケーションを特定しない。)
また、先行している文書記述言語であるSGML/HTMLとの関連において、
- SGML規約の煩雑性、なじみにくさを排除する。
- HTMLが抱える文書構造表現上の制約を取り払う。
との意図を持つものでもある。
このような設計意図のもとにXMLは、以下の特性を備えることとなった。
1 |
SGMLの簡素化した部分集合に位置づけられる。 極めて強力な文書表現能力を持つ。 タグの設定は、自由に行える。 XMLを用いた文書データを扱うアプリケーションの実現が容易である。 Webブラウザが対応しやすい。 |
---|---|
2 |
当初より国際的な利用を前提にデザインされている。 コンテンツ表現においてもタグ記述においても、国際的に統一された文字コード(Unicode)空間を利用する。 UTF-8、UTF-16(ISO/IEC 10646関連文字コード)を規格として採用している。 |
3 | 言語そのものではなく、メタ言語としての性格を持つ。 個々の適用業務に適用可能な、無限のデザイン可能性。 Write once, parse anywhere:一つの文書生成を多様な構造に利用する。 |
- 表XMLの長所
- 既に確立されている国際標準(SGML:ISO8879)に準拠している。
- 拡張性(タグに関する制約を持たない。)
- 言語コードによる制約を持たない。
- 文書の正規性の確認と編集が可能。
- 文書構造の階層化による複合化が可能。
- リンク構造の自動生成とナビゲーションが可能。
- 必要な情報に対する迅速なアクセスが可能。
- 同じ情報ソースから印刷やオンライン提供が可能。
- 利用者がダイナミックにビュー(情報の見方)を生成可能。
- 運営の容易なWebサイトの実現。
- 次世代のハイパーテキスト機能の実現。
3-2.「コンテンツ」と「文書構造」、「文書体裁」の分離
ドキュメントを構成するこれらの要素は、従来の紙媒体上においては一体となって決定されていた。WEBに多用されているHTMLによる情報表現においても、提供される情報は、提供者がデザインしHTMLによってタグ付けされた構造のままに、いずれの利用者にも提供される(だれもが同じフォーマットで見る)ものであり、これら3つの要素は強固に一体化されている。また、今日普及が目覚しいPDF(Portable
Document
Format)による情報表現においても同様である。すなわち、これらのメディアにおいては、同じコンテンツは同じ構造のもとに、同じレイアウトで表示されることが前提に置かれる。
XMLでは、これら3者を分離して扱うことによって、同じコンテンツであってもさまざまな表現体裁を利用者側で選択可能としている。また、構造情報をコンテンツと分離することによって、利用者があらかじめ構造情報を解析して、必要とする部分コンテンツを特定して抽出することが可能ともなる。
この特性は、
- 情報の再利用。
- メディアに依存しないコンテンツの出力(画面表示/ディジタル出版)。
- 情報の部分的利用。
- 個別、利用者の要求に応じたコンテンツのワン・トゥ・ワンマーケティング。
- 大規模な情報蓄積と管理
を可能とすることに結びつくものとなる。
別な見方をすれば、コンテンツとその構造、体裁を分離することは、情報の入力編集機能、情報の蓄積機能、情報をデリバリしたり加工したりする機能、情報の表示機能等の情報処理と加工に必要なアプリケーションを各々独立した階層に分けることを可能とする。すなわち、昨今のクライアント・サーバモデル構築の上で普及しているプレゼンテーション層、ファンクション層、データベース層からなる3層構造をWeb機構上に実現したものとも捉えられる。
この構造は、XMLのコンセプトの一つである、電子化されたドキュメントの取り扱いに向けての、利用者側アプリケーションの構築を極めて容易にすることを意味する。
3-3.XMLの仕様
上述の経緯と問題認識のもとにXMLのデザインが検討された。
- XMLはSGMLを単純化したサブセットとする。ただし、SGML規約に厳密に準拠するものであり、SGMLの持つ拡張性、構造表現、正規性の保証等の特性を失わない。
- XMLは、WEBアプリケーションを用いて構造化されたデータを送受信可能とする。
- オーサリングやドキュメントの正規性の確認が簡便にでき、Web上で情報の送受信・シェアリング機構が容易に実現できる。
- XMLはSGMLに取って代わることを意図しない。しかし、SGML機能の幾つかについては(操作容易性を確保する意味において)規格から除く。
- XMLはネットワーク上でのデリバリに対する適合性を有する。
- SGML文書を、XMLに変換することによりネットワーク上での交換が可能となる。
- Well-formed XML文書は、DTDがなくともブラウザやエディタによって処理可能とする。
- SGML文書からXML文書への変換は簡単に可能とする。
- XMLにおいては、異なる文書相互の多面的なリンク関係の記述を可能とする。しかも、参照関係は双方向性を維持する。
- SGML規約全般に亘る単純化により、誰もが自らの意図に沿ったDTDを構成することが可能である。またDTDは(SGML同様)他のDTDとの相互関係を構成することにより、複雑な文書構造を表現可能とする。
このような、背景と経緯をもってXML規格の制定作業が進められている。
3-4.XML関連の規格策定の状況
XML自体は、W3Cにおける検討開始以来2年足らずの短期間において、1998年2月にW3C勧告として公表されるに至った。前述したようにXML自体は、文書構造の記述に焦点を当てた構成であり、その利用に向けて幾つかの関連規格の整備も進められている。
これらの主なものを以下に挙げる
1)XSL(eXtensible Stylesheet Language)[8]
XSLは、XMLデータの体裁(スタイル)を規定するための言語規約である。DSSSL標準(ISO/IEC
10179)に基づいて検討されたものでありDSSSL―0で規定されているフローオブジェクトにかかわるサブセットを包含している。一方CSS(Cascade Style
Sheet)におけるフローオブジェクトも含めることによりHTML/CSSコンパチビリティを保証している。しかし、XSLは機能的にはCSSの機能を大きく超えるものであり、CSSは単純なXML構造化文書に適用され、XSLはその強力なフォーマッティング機能により高度に構造化されたXML文書への対応を予定するものである。具体的にはXMLで記述されたタグ構造とJavaScriptを組合せて幅広い適用性を与えるよう配慮している。
この規格のためのワーキンググループは、1998年1月に組織され7月に最初のドラフトを決定する計画である。
2)XLL(eXtensible Linking Language)
XLLは、Webにより広く利用されているURLによるハイパーリンク構造とのコンパチビリティを損なうことなく、しかも、間接参照、多数参照、相互参照構造を実現しようとするものである。元来、XMLワーキングドラフトの第1部言語編と合せて、第2部Linkingとして、提案されているものである。
その基本構造は、HyTime(Hypermedia/Time-based Structuring Language:ISO/IEC 10744)とTEI(Text Encoding Initiative)プロジェクトでの検討を反映したものとされる。現在、XLink(an eXtended Link)と、XPointer(an eXtended Pointer)の2つの検討に分けて進められつつあり、XLinkがXML文書のリンク関係を表記するのに対し、XPointer は、文書構造に従って文書のサブセット(文書中の特定の章や節など)へのリンク位置の指定を可能とすることを意図している。
(現在、XLLと言う呼称を使うかXLinkと言う呼称で、XMLリンク機構を総称するか議論を呼んでいる模様である。)
3)その他の関連規格
RDF(Resource Description
Framework)
ネットワーク上に蓄積されるXML文書情報のメタ情報をあらわすフレームワークである。メタデータとは、図書館における図書カードと同様にネットワーク上に分散蓄積される「情報」の「情報」を意味し、情報(リソース)が誰によって書かれたか、どの分野の情報か、など情報の利用者が目的とする情報を探したり、利用したりする際の便宜をあたえるための情報である。利用者は、この情報を手がかりに、自らの視点に対応してネットワーク上に分散蓄積されている情報群を有機的に組合せて参照が可能となる。
DOM(Document Object
Model)
ドキュメント・オブジェクトを組み合わせたり、分解したりする際のインタフェースを規定する規格である。具体的には、XMLエレメントの階層関係や順序関係に沿って、次のエレメントを取り出したり、また元となるエレメントの確認を行ったりすることを可能とする。
4)XMLに基づく、適用領域型タグ言語
XMLの(HTMLのように固定化されたタグセットではなく)自在なタグ設定を可能とする特性は、さまざまな業務領域特有のタグセットの設定を可能とする。既に、以下の領域でのXMLタグセットがデザインされつつある。
- CML(Chemical Markup Langugae)- 化学領域での文書向けタグセット
化学領域では、スペクトラムデータ、結晶構造、化学結合式など多様な形式の情報が扱われる。また研究過程において、新しい知見が得られることも予定しておく必要がある。ある正規化(Validate)された文書を基礎におけば、新しい知見が発生した場合DTDを改訂することなくインスタンス上において情報として格納可能とするwell-formedXML文書構造は、SGMLに比べこの種の業務に極めて都合が良い結果をもたらす。Peter Murray-Rustは、CML(XML)とJavaを組合せたJUMBOブラウザと呼ばれる機能を提供している - MathML(Mathematics Markup Language)- 数学領域(数式表現)向けタグセット
米国数学会(American Mathematical Society)、ミネソタ大学を中心に、MathML(Mathematical Markup Language)と称するXMLアプリケーションの規格をワーキングドラフトとしてW3Cに提案している。数学において扱う複雑な表記法は、高度にシンボリックなものであり、その意味するところと表記法とを結び付けることは困難が伴う。また、いわゆる数式をSGMLで表現することの煩雑さは経験した向きも多いと思われる。これらの点でXMLの構造は、上述の化学領域と同様、極めて有効に働くことが期待される。 - PGML(Precision Graphics Markup Language)- グラフィックデータを構造的に表現するタグセット
- OFX(Open Financial Exchange)- 財務情報の記述用タグセット
これらの他にも、CDF(Channel Definition Format)、OSD(Open Software Description Format)、SMIL(Synchronized Multimedia Integration Language)など続々と検討されている。
4.XMLの利用例
実際に、XMLを利用した文書電子化の流れを紹介する。ここでは、Valid XMLとしてDTDを備えた文書の取り扱いを例示することとする。図に示した木構造は、「情報交換用電子原稿の記述様式(JIS X0804)」の付属書として著されている、いわゆる論文(article)の構造を表現したものである。一般に論文は、「前付け(Front)」、「本体(Body)」、「付録事項(appmat)-任意-」および「後付け(End)-任意-」の順で構成される。また、これらの文書中には「浮動要素(Float)-図、脚注、備考、参照」が任意の箇所に現れる。
この構造を基礎にして、作成したDTDを以下に示す。
図2 JIS X0804に沿ったXML DTD(lecture3.dtd)
<!-- <!DOCTYPE lecture [ -->
<!ENTITY % files SYSTEM "file:///D:/xml/dtd/lecture/files.entities">
%files;
<!ELEMENT lecture (front,body,appmat?,back?) >
<!ELEMENT front (titlegrp,authgrp,period,place,fm.sec*,keyword*,keyphras*,toc?) >
<!ELEMENT titlegrp (title,subtitle*) >
<!ELEMENT authgrp (author,corpauth*,aff*)+ >
<!ELEMENT author (#PCDATA) >
<!ELEMENT corpauth (#PCDATA) >
<!ELEMENT aff (#PCDATA) >
<!ELEMENT fm.sec (m.sec) >
<!ELEMENT period (from.date,to.date)+ >
<!ELEMENT from.date (#PCDATA) >
<!ELEMENT to.date (#PCDATA) >
<!ELEMENT place (#PCDATA) >
<!ELEMENT keyword (#PCDATA) >
<!ELEMENT keyphras (#PCDATA) >
<!ELEMENT toc (p.lst) >
<!ELEMENT body (chapter)+ >
<!ELEMENT chapter (no,m.sec) >
<!ELEMENT appmat (appendix+) >
<!ELEMENT appendix (no,m.sec) >
<!ELEMENT back (bm.sec,biblist?) >
<!ELEMENT biblist (head?,citation?) >
<!ELEMENT citation (#PCDATA) >
<!-- -->
<!-- -->
<!ELEMENT m.sec (title?,s.zz?,subsect1*) >
<!ELEMENT subsect1 (no?,title?,s.zz?,subsect2*) >
<!ELEMENT subsect2 (no?,title?,s.zz?,subsect3*) >
<!ELEMENT subsect3 (no?,title?,s.zz?,subsect4*) >
<!ELEMENT subsect4 (no?,title?,s.zz?,subsect5*) >
<!ELEMENT subsect5 (no?,title?,s.zz?,subsect6*) >
<!ELEMENT subsect6 (no?,title?,s.zz?) >
<!ELEMENT s.zz (p|p.zz)* >
<!ELEMENT p (#PCDATA|p.zz|emph|a)* >
<!ELEMENT p.zz (p.el|p.tbl|p.lst|p.form)* >
<!ELEMENT p.el (#PCDATA) >
<!ELEMENT p.tbl (table) >
<!ELEMENT table (no?,title?,tbody) >
<!ELEMENT tbody (head?,tsubhead?,row+) >
<!ELEMENT tsubhead (#PCDATA) >
<!ELEMENT row (tsub*|cell+) >
<!ELEMENT tsub (#PCDATA) >
<!ELEMENT cell (#PCDATA) >
<!ELEMENT p.lst (list) >
<!ELEMENT list (head,item+) >
<!ELEMENT item (#PCDATA|p)* >
<!ELEMENT p.form (f|df|dfg)* >
<!ELEMENT dfg (df) >
<!ELEMENT f (CDATA) >
<!ELEMENT df (CDATA) >
<!ELEMENT no (#PCDATA) >
<!ELEMENT title (#PCDATA) >
<!ELEMENT subtitle (#PCDATA) >
<!ELEMENT head (#PCDATA) >
<!ELEMENT emph (#PCDATA) >
<!ELEMENT a (#PCDATA) >
<!ATTLIST a xml:link CDATA #FIXED "simple"
href CDATA #REQUIRED >
<!ATTLIST lecture security (level1|level2|level3) "level1"
manage.no NMTOKEN #REQUIRED >
<!-- ]> -->
このDTD(lecture3.dtdとした)は、基本的にJIS X0804(ISO
12083)に準拠しているため、個々の要素の意味については、これらを参照願いたい。
このDTDに沿って記述したXML文書の例を以下に示す。この例では、弊社社内の講演会の案内を著しているが、上記のDTDは基本的に論文記述に適用可能となっているため、さまざまにご利用戴けると思われる。
図3 DTDに沿ったXML文書の記述
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE lecture SYSTEM "file:///D:/xml/dtd/lecture/lecture3.dtd" [ ]>
<lecture security="level1" manage.no="10034">
<front>
<titlegrp>
<title>ディジタルドキュメントの共有と流通</title>
<subtitle>SGML/XML/HTMLとその応用</subtitle>
</titlegrp>
<authgrp>
<author>内藤 求</author>
<aff>株式会社シナジー・インキュベート</aff>
</authgrp>
<period>
<from.date>1998年9月3日</from.date>
<to.date>1998年9月4日</to.date>
</period>
<place>株式会社シナジー・インキュベート 第一会議室</place>
<toc>
<p.lst>
<list>
<head>ディジタルドキュメントの共有と流通</head>
<item>状況</item>
<item>現在使用されているデータ形式</item>
<item>文字コード</item>
<item>SGMLとXML</item>
<item>弊社での応用事例</item>
<item>XMLの解説</item>
<item>DTD作成</item>
<item>XML文書作成</item>
<item>XMLを取り巻く動き</item>
<item>今後の可能性</item>
</list>
</p.lst>
</toc>
</front>
<body>
&chapter1;
</body>
</lecture>
DTDの構成を一読した上で、この記述をご覧になれば、各々の項目の意味をご理解戴けると思うが、このままの様子で画面上に表示したとしても、ご覧になった方は意味が読み取れないであろう。ここに繰り返し述べた「文書の体裁」の重要さがある。
このため、利用者に分かり易いように表示体裁を整えた例を、図
、図
に示した。全く体裁の異なる、これらの図を良く比較して戴ければ、同じ内容を示していることがご理解戴けると思う。すなわち、いずれも同じXML文書を、XSL記述を変えることにより、表示体裁を変えたものである。この例によって、同じコンテンツをさまざまな体裁(スタイル)で表示できることをご理解戴ければ幸である。下に、それぞれのXSL記述の一部を示した。
図5 XSL記述の例(図4 の表示体裁を生成する。)
<xsl>
<rule>
<root/>
<HTML>
<HEAD>
<TITLE><literal>LECTURE STYLE BY NAITO</literal></TITLE>
</HEAD>
<BODY>
<children/>
</BODY>
</HTML>
</rule>
<rule>
<element type="titlegrp">
<target-element type="title"/>
</element>
<DIV color="black" background-color="white" font-size="20pt">
<center>
<children/>
</center>
</DIV>
</rule>
<rule>
<element type="titlegrp">
<target-element type="subtitle"/>
</element>
<DIV color="black" background-color="white" font-size="14pt">
<center>
<span>
( <children/> )
</span>
</center>
<br/>
</DIV>
</rule>
----以下省略----
図7 XSL記述の例(図6 の表示体裁を生成する。)
<xsl>
<rule>
<root/>
<HTML>
<HEAD>
<TITLE><literal>LECTURE STYLE BY NAITO</literal></TITLE>
</HEAD>
<BODY>
<children/>
</BODY>
</HTML>
</rule>
<rule>
<element type="titlegrp">
<target-element type="title"/>
</element>
<DIV color="white" background-color="green" font-size="32pt">
<center>
<children/>
</center>
</DIV>
</rule>
<rule>
<element type="titlegrp">
<target-element type="subtitle"/>
</element>
<DIV color="blue" background-color="white" font-size="20pt">
<center>
<span>
( <children/> )
</span>
</center>
<br/>
</DIV>
</rule>
----以下省略----
5.XML利用の方向性と将来展望
上記のようにXMLは、ネットワークへの適用性、規約の容易さ、さらに本来のオープンな構造への指向を基礎にプッシュ型の情報提供や、ネットワーク上での情報共有構造、また、これまでSGMLの適用に多くの困難があった科学領域に関しても、利用範囲を拡大しつつある。またXMLの持つ特性によれば、これまで実現が困難とされた多くの新しいアプリケーション領域への適用が進展してくることが予想される。
アプリケーションからみたXMLの特性
- Webクライアントを利用し、複数の異なるデータベースの情報を組み合わせて利用可能とする。
- WebサーバとWebクライアントの協調的動作による負荷分散を実現する。
- 各々の利用者に応じて、同じデータに対して異なるビューで表示する機能を実現する。
- 個々の利用者のニーズに応じた情報検索ならびに情報フィルタリング機能を実現する。
これらの特性について、SUNマイクロシステムズのJ.Bosak氏(W3C XMLワーキンググループの議長)は、XMLの持つ可能性を2つの言葉で表現している。
「情報のビュー(見方)の決定は利用者に委ねるべきである。」
「情報こそ、利用者を知るべきである。」
繰り返すように、これまでのメディアは、情報の見方(見せ方)は、あくまで情報提供者側の意図によるものとされていた。最初の言葉は、XML(ならびにその関連規格の適用により)による情報提供構造においては、利用者側が情報の見方についての主導権を握る可能性を持つことを表している。
一方、今日WEB機構を利用して情報を入手するに際しては、Yahoo!やExciteなどの検索サービスを利用することが図られている。いかに検索エンジンが強力であったとしても情報を検索するアクションは利用者側からの働きかけによるものとされる。
言い換えれば、情報の存在を知って始めて情報の接近できる構造にある。しかし、実際には、この種の「探索的情報接近」だけが、情報に対する接近方法ではない。例えば、新聞を見て、始めて知る情報、すなわち「発見的情報接近」も人間生活においては極めて重要である。探索的情報接近が、人間側からの情報へのアクセスとすれば、情報側から人間に対して投げかけてくる発見的情報接近が必要とされる。
これまでの情報技術においては、探索的接近方法のみに焦点が当てられ、発見的接近に関してのメカニズムは殆ど手がけられていなかった。後者の言葉(実は、ディズニーのMathew
Fuchs氏の言葉の引用)は、XMLがもたらす新しい情報接近のための機構を表現したものとして、大変興味深い。
具体的にこのような特性の応用例を以下に上げる。
1)「情報が利用者を知る」例
昨今、衛星TVやWebTVなど、従来の地上波を利用したTV放送以外の放送サービスの開始が盛んである。一例として、米国では500ものチャンネルを持つTV放送が開始される模様である。しかし、限られた時間において、利用者は500もの放送の中から、どのようにして、自分の見たい番組を、時を逃さずにアクセスできるのであろう。
ここに、XMLの応用が考えられる。先に挙げた、メタデータは、情報(この場合、番組)の情報を表す仕組みとされる。すなわち、その番組がどのようなジャンルの放送なのか、出演者は誰なのか、どのようなタイトルか、などの情報を利用側が入手可能なデータとされる。一方で、ここ視聴者について、どの俳優が好みで、どのようなジャンルの番組が好きなのか、のメタデータ(視聴者側の特性データ)があるとすれば、双方のメタデータ(番組のデータと視聴者のデータ)を突き合わせることにより、視聴者に対して膨大な数の番組の中から、見たい番組をナビゲートすることも可能とされるはずである。
2)「情報の見方を利用者が決定する」例
以下に、情報の見方の選択についての幾つかの例を挙げる。
- バーチャート → パイチャート
- 地域別合計 → 営業部別合計
- 月単位集計 → 年累計
- グラフ → 数値表
- ・・・ ・・・
例えば、専門家とアマチュアに対して、各々の必要とする見方を、同じコンテンツから表示したり、同じコンテンツのアウトラインだけを表示したり詳細表示したり、XMLのもつ特性のもとに、さまざまな情報の見方が可能となる。
一方、情報の入手に際しても、印刷出力したり、画面で閲覧するなどの、出力・表示媒体にかかわらず、一つのコンテンツから出力することも可能となる。
3)XMLを総合的に利用した展開
これら、XMLの特性を総合的に利用すれば、これまで困難とされたさまざまな新しい情報利用が実現可能となるものと期待される。一例として、データベース相互交換に基づく「情報のユニバーサル・ハブ」を説明する。
XMLの特性を前提におけば、多数の組織機構がかかわるような業務における情報共有化構造の実現が期待される。この種の業務には「医療活動」が挙げられる。特にクリントン政権下の米国では、IITF(Information
Infrastructure Task
Force)のもとにNII構築の重点的アプリケーションとして遠隔医療(Tele-Medicine)実現のための政策が進められており、医療分野へのネットワーク利用の拡大が進められている。
医療活動においては、かかりつけの家庭医から大病院、また保険機構や薬剤会社など、多くの組織機構が関わり、目的に応じ機構相互にさまざまな情報の交換がなされている。また、カルテ類/投薬履歴/X線写真などの医療情報は個々に作成蓄積され、これらの情報の管理、遡及的検索にあたっては多大な労力を必要とするものである。
XMLのもとで、ネットワーク上に各々形成される情報の蓄積、すなわちデータベース横断的に、情報が有機的に結合され、しかも各々の医療関係機構側において、各々の必要とする情報が、自動的に抽出され、各々の必要とするビューにおいて表示できるとすれば患者の治療において極めて有効であるとともに、医療活動そのものの効率化に大きく貢献することが期待できる。また、上記のテレ・メディスン(遠隔医療・医療機関連携)機構の実現のために必要とされる機構でもあろう。
IMLはシステムやベンダーに非依存であるというSGMLの目標そのものを踏襲し、SGMLによって永年培われてきた経験を踏まえ、さらにネットワークに対する親和性を得て、医療に限らず、これからのネットワーク利用において大きく貢献することが期待される。
表1.XML制定へのマイルストーン
1996年 | 7月 | W3CのSGMLワーキンググループ活動開始。最初のワーキングドラフトの発表。 |
---|---|---|
9月 | サンフランシスコで開催されたSeyboldカンファレンスにおいて、SGMLに関する活動報告がなされた。 | |
11月 | ボストンにおけるSGML96カンファレンスにおいて発表 | |
1997年 | 1月 | XMLに関するFAQページの開設(http://www.ucc.ie/xml/) |
2月 | ロンドン・インペリアルカレッジにおいてXML開発者のためのメイリングリストが開設される。(http://www.lists.ic.ac.uk/hypermail/xml-dev) | |
3月 | 第1回XMLカンファレンスがサンディエゴで開催される。 XMLワーキングドラフトの第1回改訂 |
|
4月 | XMLLinkingのワーキングドラフト発表 第6回W3Cカンファレンス(於:サンタクララ)で、XMLの公式な発表がなされる。 |
|
5月 | ISO8879:1986の技術規格の補遺として、XML規格の承認バルセロナでのISO/IECJTC1/SC18/WG8による。 | |
6月 | XMLシンタックスならびにLinkingの新しいワーキングドラフトが発表される。 | |
9月 | サンフランシスコSeyboldカンファレンスにおいて、SGML& XMLTools
Surveyに関するチュートリアルの実施 シドニィにおいてSGML/XMLAsia Pacific *97の開催 |
|
12月 |
ワシントンDCにおいてSGML/XML97カンファレンスの開催。ほぼ完成に近いスペックの発表。 XMLに対応するスタイルシート言語がDSSSL(ISO/IEC 10179)に準拠した構造で発表:XSL |
|
1998年 | 2月 | W3Cにおいて、XML1.0リコメンデーション(勧告)が公表される。 |
表2.SGMLとXMLの相違点[4]
(http://www.iijnet.or.jp/FXIS/XSoft/sgml/xml/XMLFAQ.htm#FAQ-DTDより抜粋)
主な変更点はDTDを記述する際に、構文を単純化して処理プログラムを容易に構築できるように次のような制限が加えられている。
- マーク付け宣言のなかでは、コメント(-- ... --) は使用しない。
- コメント宣言において、マーク付けの途中にスペースがあってはならない。
- 宣言から、-- --でいったん抜けたり、あとで戻ることはできない。
- 複数の要素を一度に宣言するため、または一つの属性リスト宣言を複数の要素に適用するために、名前グループを使ってはならない。
- 内容としてCDATAやRCDATAは宣言できない。
- 内容モデルに添加(inclusion)と排除(exclusion)は使用しない。
- 要素宣言における最小化パラメータは使用しない。
- 混在内容モデルは、#PCDATAを先頭に、いくつかの要素型をORでつないで、0回以上繰り返しを許したものに限る。
- AND(&)内容モデルグループは使用しない。
- NAME[S], NUMBER[S], NUTOKEN[S]宣言値は使用しない。
- #CURRENT or #CONREF宣言値は使用しない。
- 属性のデフォルト値は、引用符で囲まれなければならない。
- マーク区間では、マーク付けの途中にスペースを含めることはできない。
- 文書インスタンス中において、RCDATA、TEMP、IGNORE、INCLUDEマーク区間は使用しない。
- インスタンス中のマーク区間は、CDATAキーワードをそのまま指定しなければならず、パラメータ実体を用いてはならない。
- SDATA、CDATA、角括弧(angle bracket)で括られた内部実体は使用しない。
- 外部実体として、SUBDOC、CDATA、SDATAは使用しない。
- 実体や記法の宣言で、公開識別子は使用しない。(これは、参照解決メカニズムが見つかれば、後で許可されるかもしれない。)
- NOTATIONについてのデータ属性、ENTITY宣言の属性値指定は使用しない。
- SHORTREF宣言は使用しない。
- USEMAP宣言は使用しない。
- LINKTYPE宣言は使用しない。
- LINK宣言は使用しない。
- USELINK宣言は使用しない。
- IDLINK宣言は使用しない。
- SGML宣言は使用しない。