XMLにはまっておりました…。ファイルメーカーProで、XMLでデータを取り出し、XSLTでテーブル表示するというサンプルを作っていたのですが、実はXMLを手書きするのは初めてなのです。エラーが出ても、どこが悪いのかなかなか特定できないということもあって、ちょっと手間取りましたが、とりあえずうまくいきました。それで、原稿を書きはじめたのですけど、長くなりそうなので、XMLのはなしはいくつかにわけて書くことにします。というか、このまま最後まで書くと、今日中に配信できないかもしれませんので、区切りのいいところで、続きとさせていただきます。御容赦ください。
あわせて、システムにもはまっておりました…。何をやっても時間が取られるようになったので、システムを入れ替えたけど一向に改善の兆しがなく、これは再フォーマットからしないといけないかなというところまで追い詰められました。その場合、データを退避して戻すというえらく時間のかかる作業が待っているためどうするかは非常に微妙なところなんですが、解決しました。ゴミ箱の中身がなんかおかしかったのです。ゴミ箱を空にしようとしても、ファイルが軒並みロックされています。たぶん、そのあたりでボリューム情報がおかしくなっていたのだと思います。再起動などしてなんとかゴミ箱を空にすることができたら、システムもスムーズに動きだしました。再フォーマットまではしなくて済んだわけです。なかなか仕事を進まない日もあるものですね。
(新居雅行 msyk@mdonline.jp)
World PC Expo 2000が、2000年10月17日(火)〜20日(金)の日程で開催される(17日は特別招待日)。場所は東京ビッグサイトで、パソコン関連では最大規模の展示会となる。展示会は入場が無料で、登録をすれば招待日にも入場できる。アップルも展示を行うが、時期的に見て、Mac OS Xの展示に期待がかかる。また、有料のフォーラム(事前だと\10,000、当日は\12,000)も開催される。Mac関連としては、10月20日 10:00〜12:30「Deep Inside Mac OS X」があり、講師については記載がない。順調に行けば、ここで詳細なデモを見ることができるのではないだろうか。また、10月20日 14:00〜16:30には「WebObjectsによる“新世紀型”戦略システム構築」があり、サイバー・ラボ 代表取締役社長 加藤 康之氏、フレームワークスソフトウェア 代表取締役 桝室 裕史氏による講演がある。
関連リンク:World PC Expo 2000
カテゴリ:WebObjects, Mac OS X, イベント
XML(eXtensible Markup Language)と言えば、eコマースがどうだとか、業界標準とかすごい言葉が次から次へと飛び出し、食傷気味かもしれない。FileMakerとXMLについて今回は説明するが、一般的なはなしではなく、具体的な動作について説明できる点では、雲を掴むような記事ではないことはお約束できる。XMLが、Webアプリケーションを作成するときに、どういう意味があるのかをまとめて、ファイルメーカーProのXMLについて説明をしてみたい。
Webの原理はHTMLであることはもういいとして、つまりは、サーバーからクライアントにHTTPで、HTMLデータを送り込むことでページが表示される。HTMLデータは通常はファイルに保存されており、スタティックである。しかしながら、CGI、サーバサイドスクリプトなどを使うことで、プログラムによってHTMLを生成できる。こうした状況は、スタティックに対してダイナミックである。ダイナミックなHTMLの場合、必ずしも使う必要はないとは言え、必ずデータベースが引き合いに出される。つまり、その都度異なるデータや更新、変更のあるデータを、データベースに蓄積しておく。そして、Webサーバでなんらかの方法でデータベースアクセスを行い、その結果をHTMLとして整えてクライアントにおくるという手法をとる。もちろん、ファイルから読み取って…という手段のダイナミックなHTMLもあるが、業務アプリケーションなどを始め、管理を考えるとデータベースを使うということに結局は落ち着くものだ。
オープンソースの世界では、CGIと言えばPerlがよく使われる。また、PHPというサーバサイドスクリプトシステムもよく使われる。これらは、PostgreSQLやMySQLをはじめ、さまざまなデータベース処理をライブラリによって提供されているので、関数などの手法で、データベースアクセスを伴うプログラムが簡単に作成できる。しかしながら、そこでは、データベースのアクセスとHTMLの生成プログラムがごっちゃごちゃに入り乱れるのである。1つにまとまっているという意味では重宝であるのだが、表示結果をちょっと変えるだけでもプログラムの変更を伴う。プログラマの方々は容易に想像できるが、プログラムを変えるというのはプログラムの他の箇所への影響を考える必要があるなど、単にその部分にちょこっと手を入れてすむようなものではないのである。結果的に、こうしたCGIなどを使った手法では、やはり管理などにはそれなりの手間がかかることは否定できない。
では、ファイルメーカーProはどういう方法を取ってきたのっだろうか。Webコンパニオンという機能が以前のバージョンから組み込まれていて、簡単に言えば、起動しているファイルメーカーProがWebサーバになる。そして、Webクライアントに対して、データベースの中身を取り出すなどして、データベースの参照ができるようになっている。つまり、データベースアクセス機能がある(当たり前なのだが)Webサーバになるのである。言い換えれば、ファイルメーカーPro自体がデータベースアクセスとHTML生成を行い、自動的に処理を行っているので、特にプログラムの必要はない。特に、Ver.5では何もしなくても、かなり高いレベルでフォームのデザインをWebブラウザ上でも再現できる。フォームの作り込みでWebアプリケーションまで作成できてしまう点が大きな優位点でもあるわけだ。
Ver.4ではそこまでの機能はなかったため、WebページのカスタマイズをするためにCDMLという文法に従った機能を提供していた。これは、HTMLファイルに、ファイルメーカーProのWebサーバだけが理解できる独自のタグを埋め込む。そうすると、そのタグの部分が、データベースから取り出したデータに置き換わり、Webブラウザにはデータベースから取り出されたデータが表示されるという仕組みとなるわけだ。また、データベースからの取り出しのリクエスト、たとえば検索条件などは、URLのクエリー文字列として指定することになる。これはこれで、HTMLの拡張として機能することなどから分かりやすいというメリットはあるものの、複雑な処理を組み込めない。もちろん、JavaScriptと組み合わせることも可能とは言え、けっこう大変になってくる。もちろん、CDMLはVer.5でも利用でき1つのやり方ではある。初期のバージョンのWebブラウザでも利用できることなどメリットも多いが、「タグの拡張」というやり方にはある種の限界が見えていることも言えるのではないだろうか。
<そこでXMLに注目する>
前置きが長くなったが(前置きだったんですよ…)、こうした流れの中、XMLが登場した。XMLは基本的にはデータだが、データの中身の説明を組み込めるという点でこれまでとは大きく違う。XMLも、CSVファイルも同じかというとそうではない。CSVファイルの場合、1行目にフィールド名がないとすると、各フィールドのデータの意味はそれだけでは分からない。また、そのファイルに漢字データがあるとすると、そもそもShift JISである保証はどこにもない。しかしながら、XMLだと、データにはその属性を示す情報を含めたり、コードはなにかを記述することができるなど、データ自体の説明が組み込まれているといった点で、再利用がしやすくなるのである。
XMLという1つの言語があるとも言えなくはないが、具体的にはXMLをベースに用途に応じた記述言語を作成することができる。そうなれば、HTMLをXMLで記述しようとかいろいろな動きが出てくる。ここでは、スタイルシートをXMLで記述しようというXSLT(eXtensible Stylesheet Loanguage-Transformations)に注目したい。スタイルシートの本質は、あるデータをスタイルシートの情報を用いて形式を変換することである。つまり、そうした変換のやり方を、XMLベースで記述しようというのがXSLTなのである。
単なるデータの羅列ではないXMLは、よく知られているように、データベースの中身を取り出した結果を記述することに使える。CSVの発展という例を出すまでもないだろう。データベースの取り出し結果をXMLで記述しておくことで、単に「アルフィー」という言葉が出た時、外国人の名前か? 日本のミュージシャンか? それともジャズの名曲? などと迷ってしまう。しかしながら、XMLでは「<ペットの名前>アルフィー</ペットの名前>」のようになり、データベースからの取り出し結果では、ペットショップの顧客管理データベースから取り出したペット名フィールドであることが分かるという具合だ。
それじゃあ、そのXMLをいきなり取り出して、ユーザに見ろといったところで、それはえらいことになるだろう。所詮、言語であり、実務レベルで扱えるものではない。そこで、XMLで取り出した結果をXSLTによって、実際にWebブラウザで整えて表示するというわけである。
こうすることで、データの取り出しとその表現方法がまったく別々になり、表示形態を変えるだけなら、XSLTファイルを変更だけですむようになる。また、XSLTファイルはクライアントにダウンロードされて、Webブラウザ上で処理されるため、Webサーバで表示形態に応じた処理を組み込む必要はなく、Webサーバ側はXMLでデータの取り出し結果などを記述だけですむ。つまり、サーバの負荷もかからない方法なのである。
ファイルメーカーProを使った場合、XMLとXSLTを使うというのが唯一の方法ではなく、CSS(Cascading StyleSheet)を使う方法や、JavaScriptを使う方法もある。もちろん、そのままWebコンパニオンで使う方法も可能だし、CDMLを使った拡張タグもある。どれを使うかはデベロッパが好きにやっていい。ここでは、XMLということにフォーカスした場合、XSLTを使うのがいちばんXMLらしいのではないかと考え、その方法を以下、詳しく説明することにしよう。
(続く)
カテゴリ:XML, データベース
Macromedia社とElement K社は、マクロメディア製品の学習サイト「Macromedia University」を開設した。Basic、Complete、Web Professionalの3つに大分類されている。Basicでは、Flash、DREAMWEAVER、Director、FireWorks、DREAMWEAVER UltraDev、Generator、FreeHandのコースが用意されている。Completeではさらにレベルが上がったこコースが加わる。Professionalでは多くのコースが用意されており、OSに関するもの、CやJava、CGIなどプログラムに関するもの、Access 2000やファイルメーカー、SQL Serverなどデータベースに関するものなどがある。各コースは8〜12時間程度の時間を必要とする。なお、コースの受講は有料となっていて、Basicが$99、Professionalが$399となっている。
関連リンク:Macromedia University
カテゴリ:チュートリアル, オーサリング系
日本Linux協会主催の「Linux Conference 2000 Fall」が、2000年11月29日(水)〜12月1日(金)の日程で、国立京都国際会館で開催される。今回は、「Perl/Ruby Conference」も開催される。カンファレンスやチュートリアル、BOFが忠心にプログラムが組まれるが、講演発表については募集を行っている。後援にオープンソフト系の各種団体が名を列ねており、Linuxに特化した集まりというよりもLinuxを軸にオープンソースに関わる人たちの集まりという路線を打ち出している。また、オライリー・ジャパンが主催するPerl/Ruby Conferenceも同時開催されるが、国際的に実績のあるPerlはもちろん、日本で開発されたRubyについても取り上げるなど、特色のあるイベントとなっている。
関連リンク:Linux Conference 2000 Fall
カテゴリ:UNIX, イベント
Tech Info Libraryに、2000年7月にリリースされたPower Mac G4とG4 Cubeについて、利用者側で取り外したり付け替えたりができるパーツに関する文書が公開された。内容は簡単なものだが、自分でグレードアップしたいような場合には有益な情報になるだろう。Gigabit EthernetのG4では、ドライブなどに加えてカードなど手を加える範囲は広い。一方、G4 Cubeではメモリ、ハードディスク、AirMacカード、バッテリしか交換可能にはなっていない。
◇Power Mac G4 (Gigabit Ethernet): Customer Replaceable Parts
http://til.info.apple.com/techinfo.nsf/artnum/n58687
◇Power Mac G4 Cube: Customer Replaceable Parts
http://til.info.apple.com/techinfo.nsf/artnum/n58688
カテゴリ:Knowledge Base(旧TIL), Power Mac
ネットワーク関連の製品を手掛けるディー・アイ・ティは、オンラインショップ「dit shop」を開設した。USBハブやワイアレスネットワークのSkylineシリーズ、ギガビットEthernet製品、PC MACLANなどの製品を購入することができる。会員制になっており、まず会員登録を行うことで、取扱い製品の詳細や購入ができるようになっている。支払いはクレジットカードあるいは代引を利用できるようになっている。クレジットカード番号を会員登録時に登録するようになっている。また、購入金額に応じたポイントも蓄積されるようになっている。
関連リンク:dit shop
カテゴリ:業界動向
Dartware社は、ネットワークやサーバの監視ツール「InterMapper 3.0」をリリースした。サーバなどのモニタやネットワークトラフィックの監視、エラーの検出などを行う。問題点の検知に加え、ネットワークの接続状態や機器での利用可能なサービスなどを画面に表示したり、それを印刷することにも対応している。MIB変数の値をグラフ化したり、Webサーバとしての機能を備えていてWebブラウザから各種の情報を参照することにも対応している。InterMapperはダートマス大学で開発されていたソフトで、Dartwareが引き継いで開発を行っている。Ver.3.0では各種ネットワークサービスの対応やSNAPトラップの処理になどに対応している。10デバイスまでが$295、デバイス数の制限のないものが$1595で、教育機関向けの割り引きもある。
関連リンク:Dartware, LCC
カテゴリ:その他のインターネット
Murray Yar ITは、マルチユーザ利用時にスクリプトを自動実行させる「Multiple Users Actions 1.0.1」をリリースした。マックの起動時、ログイン前、ログイン後、ログアウト前、ログアウト後に、スクリプトプログラムが呼び出される。ログイン前に状況に応じてログインを中止するようなことにも対応している。価格は$10だが、100ライセンスは$100、サイトライセンスは$250となっている。
関連リンク:Murray Yar IT
カテゴリ:Mac OS 9, ユーティリティ