ファイルメーカー

ファイルメーカーPro5 for Macintosh で XML を使った Webサイトを構築する

XMLというルール

 書店のパソコン書籍コーナーで、「XML」という文字が入った本が多く見られるようになってきました。XMLはExtensible Markup Languageの略称です。コンピュータ上の様々な情報(特に構造化データ)を、ある一定のルール(このルールがXML)に基づいて保存しましょう、そうすれば情報の互換性が飛躍的に向上するはずだ、というのがXMLの基本的な考え方です(たぶん)。詳しいことは、XMLの解説本がいっぱいあるので、そちらを読んでください。何にしても、XMLという情報保存のためのルールは、今後、ネットワークを通じて不特定多数の間で情報のやりとりが増加する中で、情報の互換性・再利用性などの面で非常に有力視されている技術だということです。

 特にデータベースは、XMLというルールの活躍が期待されている分野です。蓄積されている多量の情報から必要な情報を引き出して、文書にまとめたり、一覧表にしたり、表計算ソフトで利用したり。今までは、データベースの情報をCSV(カンマ区切りテキスト)形式で引き出してから、加工することが多かったと思います。XMLというルールは、CSVのような横方向へのデータの羅列ではなくて、構造化している点が大きな違いかと思います。データベースの情報を、XMLというルールで引き出せば、情報を様々に加工するのは、これまで以上に容易になります。

ファイルメーカーProのWeb公開機能

 ファイルメーカーProは、Microsoft Accessと並んで、パソコンでは有名なデータベースソフトです。初心者にも取っ付きやすいカード型データベースで、Macintoshユーザーには古くから親しまれてきました。その後、Windows版の発売、スクリプト機能の追加、リレーショナル機能の追加など、着実にパワーアップし、バージョン4からは、データベースをインターネット上で容易に公開できる機能(Webコンパニオン機能)が搭載されました。実に簡単な設定で、ファイルメーカーで作成したデータベースを、インターネット上で公開し、InternetExplorerやNetscapeNavigatorのようなブラウザから、検索・閲覧・追加・削除などができるようになりました。さらに、ファイルメーカーPro固有のCDMLというマークアップ言語を使えば、オリジナリティあふれるレイアウトでWeb公開することもできます。ファイルメーカーProが、wwwサーバーとcgiの機能を持ったということです。

 そして、バージョン5では、Webコンパニオンの機能が強化され、データベースのデータをXML形式でWebに配信できるようになりました。CDMLを使うこれまでのWeb公開の場合、ファイルメーカーProが最終的なHTMLコードを完成させて送信します。これだと、ユーザーが並び順を変えたり、表示範囲を変更するたびに、ファイルメーカーProにリクエストがかかります。ファイルメーカーはそのたびに新しくHTMLコードを作り直して、ユーザーへ送信します。この部分の速度低下がファイルメーカーProでのWeb公開のネックでした。ところが、XMLフォーマットで出力することで、これまでファイルメーカーProで処理していた抽出、ソート、レイアウト処理の全てをユーザー側のWebブラウザに実行させることができます。ファイルメーカーProは検索リクエストに該当するレコードのデータを送出するだけで、その後の抽出、ソートなどはユーザー側のブラウザが実行します。抽出・ソートの変更もユーザー側で全て処理が完了するので、CDMLを使ったときのようにユーザー側のちょっとした処理のたびにファイルメーカーにリクエストが発生することがなくなります。これによってWebサーバーとしての能力がそれほど高くないファイルメーカーProにかかる負荷を軽減できます。ファイルメーカーProによるWeb公開でXMLを利用する最大のメリットがここにあります。これは他の分野でのXMLに対する期待と違う特殊な事情ではあります。


 ここでは、ファイルメーカーPro5のデータベースをXML形式でWeb公開するための方法を、Macintoshベースで考えていきます。幸いにも、ファイルメーカーProはXMLフォーマットでデータを出力する機能を持っているので、XMLに関する勉強はそこそこに、ファイルメーカーProが出力するXMLフォーマットのデータを、どうすれば思い通りのレイアウトでブラウザ上に表示できるのかという点に注力して実験をしています。わかったことをメモ代わりにここに掲載しているので、全然勘違いしていることもあるかもしれません。昨日まで書いてあったことと全然違うことを書くかもしれません。つまりこのページは教科書ではなくて、単に私のXML実験ノートだと理解してください。

このページを読むためのメモ

ファイルメーカーProのデータベースをXMLベースでWeb公開する方法

 CDMLを自分で書いて、カスタムWebを公開する手順を経験済みであることが前提です。XMLベースでのWeb公開の方法はカスタムWebの場合とまったく同じです。CDMLを使ってデータベース公開をしているなら、そのままの状態でXMLを使ったWeb公開もできます。CDMLによるWeb公開とXMLによるWeb公開は両立します。

実験に使っているデータベースはこれ

 「xml_test.fp5」という名前のデータベースファイル。4つのフィールドで構成されているいたって簡素なデータベースです。繰返しフィールドもリレーションもありません。ま、テストはこれくらいシンプルな状態から始めた方がいいでしょう。

「xml_test.fp5」をダウンロード

検討項目

  1. XML形式で検索結果(FMPDSORESULT)を取得する
  2. XML→HTML変換(XSLでXMLをHTMLに変換する)
  3. XSLファイルの説明
  4. XSLファイルを強化する〜表示する情報を増やす
  5. XSLファイルを強化する〜並べ替えて表示
  6. XSLファイルを強化する〜特定の範囲のレコードだけを表示する
  7. XML形式で検索結果(FMPXMLRESULT)を取得する
  8. XML→HTML変換(XSLでXMLをHTMLに整形する)
  9. JavaScriptで、並べ替えを動的に変化させる(1)
  10. JavaScriptで、並べ替えを動的に変化させる(2)
  11. JavaScriptで、並べ替えを動的に変化させる(3)
  12. JavaScriptで、表示範囲を動的に変化させる(1)
  13. JavaScriptで、表示範囲を動的に変化させる(2)
  14. JavaScriptで、表示範囲を動的に変化させる(3)
  15. フィールド名を取り出す(XSLの汎用化)
  16. JavaScriptで、表示・非表示を動的に変化させる
  17. 自己満足的レイアウトを完成させる
  18. リレーションを配したデータベースをXMLを使用してデータ配信する
  19. XML形式でレイアウト情報(FMPMXLLAYOUT)を取得する
  20. レイアウト情報をXSLで整形して検索ページを作る
  21. 整形ルールを記述したXSLファイルは別サーバーに置ける
  22. CDMLを使用したデータの配信とXMLを使用したデータの配信の比較
  23. 現物をいじってみたい