XMLによるオンライン
多言語簡易データベース
の作成について

Last Modified:


XMLとWindows 2000Internet Explorer 5.0によるオンライン多言語簡易データベースの作成について

といっても多くの人にとっては何のことやらチンプンカンプンかもしれません。要するにXMLを使ってオンラインで多言語の簡単なデータベースを作るということです。って、そのままですね。まあ、手はじめに言葉の定義からはじめましょう。おそらくこの表題のなかでまったく馴染みのないのないのはXMLという単語だけだと思います。あとは何となくわかると思いますので、XMLについてだけ少しくわしく説明します。もっともこう書いている当の本人は、アラビア半島の地域研究を専門とする人間で、XMLやコンピュータについてはまったくの素人です。したがって、ほんとうにわかっているかどうか怪しいものです。いちおういろいろな本や雑誌の記事、あるいは専門家との直接の対話を参考にしていますが、理解が間違っているとすれば、それはひとえにこの筆者の能力不足に原因があることをあらかじめお断りしておきます。

XMLとは

さてXMLです。これはeXtensible Markup Languageという語の略号です。日本語では拡張可能なマーク付け言語と呼ばれています。ここ1、2年あちこちのコンピュータ雑誌で取り上げられていますので、聞いたことがあるかたも多いでしょう。似たようなものにSGMLというのもあります。インターネットを使っている人であれば、HTMLとも似ていることに気がつくでしょう。SGMLやHTMLのお尻にあるMLはXMLと同じMarkup Languageを指しているのです。実はXMLもHTMLも、SGMLから生まれた兄弟なのです。

ではSGMLとは何でしょうか。SGMLはStandard Generalized Markup Languageの略です。これはもともと文書を電子化するための標準としてつくられたものです。HTMLでおなじみのタグ(<>で囲まれたやつ)は本来SGMLの記法だったわけです。SGML自体は非常にすぐれたもので、柔軟性をもち、また構造化にも適していたのですが、同時にきわめて複雑、煩雑でとても一般的とはいえないものでした。

HTMLはSGMLの煩雑さを排除し、インターネットに特化した言語として生まれたものです。HTMLはインターネットの普及とともに爆発的に広がりました。しかし、拡張性(たとえば勝手にタグをつくれないとか)や構造性の面で問題がありました。そこでSGMLの柔軟性と構造性といった特徴を継承し、HTMLのインターネットとの親和性をあわせもつXMLがつくられたのです。つまりXMLは、SGMLの複雑さやHTMLの拡張性のなさを排除しようとしており、SGMLとHTMLのいいとこどりといえるかもしれません。1)

なぜXMLか

XMLの次はWindows 2000(以下W2K)です。これはマイクロソフトの製品で、Windows NTの後継オペレーション・システム(OS)です。一般的にはWindows 95、98、98 Second Edition (SE)のほうが使われており、NTおよびW2Kはビジネス向けという位置づけになっているようです。しかし、W2Kは、プラグ・アンド・プレイやUSBなど、それまでNTにはなく98にしかなかった機能の多くを取り入れたため、一般のユーザーにも近しい存在になりました。しかし、このデータベース・プロジェクトでW2Kを使うのはひとえにW2Kが多言語に対応しているからです。W2Kは一応Unicodeに対応しており、日本語とアラビア文字を混在させることが簡単にできるのです。もちろんこれには画面に表示するだけでなく、キーボードからの入力も含まれています。2)

もう1つ、Internet Explorer 5.0 (IE5.0)についても説明しましょう。これもW2Kと同じマイクロソフトの製品です。98やW2Kを購入すれば、原則としていやでもついてきますので、つかっているかたも多いと思います。なぜNetscape(NS)ではだめなのかというと、NSではXMLやUnicodeへの対応が不充分だからです。同じ理由で、マックのIE5.0もだめみたいです。なお98ではアラビア文字の入力はできませんが、IE5.0をつかえば、アラビア文字の表示は簡単にできます。

つぎに「オンライン」について説明しましょう。これは今では常識になってしまいましたが、インターネットを指します。いわゆるパソコン通信で使うものではありません。インターネット上で公開することを前提にしています。ローカルのコンピュータで多言語データベースをつくるならマイクロソフトのAccessなどを使えば簡単です。

それでは「多言語」とは何でしょうか。ここでいう多言語とは具体的にはアラビア語、ペルシア語、トルコ語など中東の言語と日本語や英語、フランス語など主要欧米語を同時に画面上に表示し、また入力できるようにすることを指しています。多言語データベースをつくるのになぜXMLとW2Kを使うのか、最大の理由はXMLもW2Kも最初の設計からUnicodeに対応しているからにほかなりません。したがってここでいう多言語とは正確にいえば、Unidodeと言い換えてもいいかもしれません。つまり多言語とはいってもUnicodeに対応していない言語はあつかうことができないということです。

最後は「簡易」です。この簡易とは具体的にいえば、JavaScriptで検索システムをつくることを指しています。通常オンライン・データベースをつくるとなると、たとえばCGIとかOracleとかASP、SQLといった、いろいろなシステムが必要になります。PerlとCGIの組み合わせやASPなどをつかえば、比較的簡単にデータベースをつくることができますが、これらの場合はいずれもサーバーの中身をいじることになり、個人でInternet Service Provider (ISP)と契約している場合、ISPによっては使えないこともあります。

このデータベースではHTMLで検索用の画面をつくり、そのなかにJavaScriptでXMLファイル検索用のスクリプトを書くというかたちをとります。しかも、XMLファイルの設定につかうDTDやXSLなども省略します。したがって、検索用のファイルが1つ、データベースの中身が入ったファイルが1つ、合計わずか2つのファイルだけでデータベースをつくるわけです。これが「簡易」の意味です。本格的なものをつくるのであれば、DTD、XSLなどを用意し、サーバーサイドでServelet等の技術を使って、サーバー側で検索処理を実行し、結果のHTMLをクライアントに送信するという手続きが必要になるでしょう(JAVAもUnicodeやXMLと相性がいいといわれています)。あるいはOracle8iでウェブ・データベースをつくるというのもいい手かもしれません。しかし、ここではそこまでは立ち入りません。あくまで小規模な多言語データベースの構築だけを考えています。したがってデータの数は数百件までをめどにしています。

こうした点を考慮すると、オリジナルのデータをXMLにする意味がいくつか浮かんできます。まず何といっても多言語(Unicode)に対応しているということ、そしてXMLが本来有する構造性ということです。構造性というのはちょっとわかりにくいでしょう。あとで実例を見るときに、具体的に説明しますが、要するにデータベースに向いているということです。そして、何よりWorld Wide Web Consortium (W3C)という比較的公的な機関が制定しているということが挙げられます(W3CはHTMLを制定している機関です)。つまりXMLは一企業、あるいは一プラットフォームだけの規格ではないということです。それぞれのプラットフォーム(OSや機械)がきちんと対応しさえしていれば、WindowsでもMacintoshでもまたUNIXでも同じ結果が得られるようになるはずなのです。現時点ではMacintoshのXMLへの対応が遅れているようですが、いずれ追いつくでしょう。そうすれば、プラットフォームに依存しない幅広い文書電子化システムが比較的簡単に構築できるようになるかもしれません。

それからここで紹介するJavaScriptのスクリプトは、もともと株式会社ピーデー川俣晶氏がつくられたもので、それを筆者が若干書き換えたものです。3)川俣氏の許可を得て、このウェブ・ページで公開させていただくことになりました。この場を借りて、川俣氏に感謝の意を表します。

文字だけのデータベースをつくる場合には、このスクリプトの一部だけを変更すればいいはずです。それでは実際にデータベースをつくってみましょう。

  


--note-- (←本文にもどる)
  1. XMLについてくわしく書いている余裕はないので、もっと知りたいというかたは、たとえば、村田真『XML入門』(日本経済新聞社、1998年)などを参照してください。
  2. W2Kでのアラビア文字の入力については「Windows 2000でアラビア語を入力する」を参照。
  3. オリジナルのスクリプトは川俣晶『XMLコンテンツの作り方』(東京電機大学出版局、1998年)の付録のCD-ROMのなかに収録されています。画像の表示などの方法についてはこのオリジナルのスクリプトを参考にしてください。また川俣氏には『パソコンにおける日本語処理/文字コード ハンドブック』(技術評論社、1999年)という著作もある。

home | next | index | history back