ストラクチャー定義の書き出しと読み込み
4Dでは、データベースストラクチャー定義をXMLまたはHTMLファイルとして書き出すことができます。また、XML形式で保存したストラクチャー定義を使用して、新しい4Dデータベースをその場で生成できます。これらの機能は、次のような目的に使用できます:
- ストラクチャーをカスタム形式(レポート、表など)で表現したり、別の環境で分析したりする
- 定義ファイルからデータベースを生成する
4Dストラクチャー定義の形式
4Dストラクチャー定義はXML形式に基づいています。簡単なテキストエディターでストラクチャー定義を表示できます。XML形式は、特にXSL変換を通じて、さまざまな用途にも対応できます。また、4Dはストラクチャー定義をHTML形式で書き出すために.XSLファイルを使用します。
ストラクチャー定義には、テーブル、フィールド、インデックス、リレーション、それらの属性、およびストラクチャーを完全に定義するために必要な各種特性が含まれます。4Dストラクチャー定義の内部「文法」はDTDファイルで説明されており、XMLファイルの検証にも使用されます。4Dで使用されるDTDファイルは、4Dアプリケーションの隣にあるDTDフォルダーにまとめられています。base_core.dtdおよびcommon.dtdファイルがストラクチャー定義に使用されます。詳細については、これらのファイルとコメントを参照してください。
ストラクチャー定義の書き出し
4DではストラクチャーをXMLまたはHTML形式で書き出せます。目的に合った形式を選択してください:
- XML形式: XML形式のストラクチャーはテキストエディターで表示したり、カスタムXSL変換、別ソフトウェアへの読み込みや分析など、さまざまな用途に使用したりできます。ストラクチャー定義を使って新しいデータベースを作成する場合は、この形式を選択します。
- HTML形式: ストラクチャーをレポート形式で表示し、ブラウザーで閲覧、印刷できます。
ストラクチャー定義をXML形式で書き出すには:
- 4Dのファイルメニューから**書き出し > ストラクチャー定義をXMLファイルに...**コマンドを選択します。
- 標準の「別名で保存」ダイアログボックスが表示されます。書き出すファイルの名前、場所、種類を指定します。
- 書き出しファイルの名前と場所を指定し、ダイアログボックスを確定します。
ストラクチャー定義をHTML形式で書き出すには:
- 4Dのファイルメニューから**書き出し > ストラクチャー定義をHTMLファイルに...**コマンドを選択します。
- HTMLファイルの保存先を指定するフォルダー選択ダイアログボックスが表示されます。
- 新規フォルダーを作成をクリックするか、既存のフォルダーを指定します。指定した場所に、書き出された項目を含む*「Mystructure.4db Structure Export」*というフォルダーが4Dによって自動作成されます(Mystructure.4dbはデータベース名です)。
- ダイアログボックスで、書き出し結果をデフォルトのブラウザーに直接表示できます。HTML形式のストラクチャー定義は次のように表示されます:
[picture here]
XSL変換のカスタマイズ
ストラクチャー定義のHTMLページを生成する際、4Dはデフォルトで、アプリケーションの*/Resource/language.lproj*サブフォルダーにある**「Structure_to_html.xsl」**ファイルを使用してXSL変換を実行します。
このファイルがない場合、書き出しダイアログボックスでHTML形式への書き出しを選択できません。
カスタムXSLスタイルシートを使って変換をカスタマイズできます。その場合、**「Structure_to_html.xsl」**というファイルを作成し(デフォルトファイルを複製できます)、.4dbファイルと同じ階層に配置します。4Dはこのファイルを使用してストラクチャー定義をHTML形式で生成します。
ストラクチャー定義からデータベースを作成する
XML形式で書き出されたストラクチャー定義を使用すると、同一の新しいデータベースをその場で作成できます。この場合、ストラクチャー定義を何度でも複製できるテンプレートとして扱えます。
XMLストラクチャー定義は、そのまま使用することも、XMLエディターで事前に変更することもできます。そのため、プログラミングによってストラクチャーを生成するさまざまな仕組みを利用できます。
さらに、4Dストラクチャー定義XMLファイルの内部形式は公開されているため(上記「4Dストラクチャー定義の形式」を参照)、他のデータベース環境や任意のデザインアプリケーションからこの形式のファイルを作成し、4Dデータベースを自動生成することも可能です。
ストラクチャー定義からデータベースを作成するには:
- 4Dのファイルメニューから**新規 > ストラクチャー定義からデータベースを作成...**コマンドを選択します。標準のドキュメントを開くダイアログボックスが表示されるので、開く定義ファイルを指定します。4Dストラクチャー定義の「文法」に準拠したXML形式のファイルを選択してください(プログラムがDTDファイルを検証します)。
- XML形式のストラクチャー定義ファイルを選択し、OKをクリックします。作成するデータベースの名前と場所を選択するダイアログボックスが表示されます。
- 作成するデータベースの名前と場所を選択し、OKをクリックします。
XMLファイルが有効な場合、4Dは(該当する場合)現在のデータベースを閉じ、ストラクチャー定義ファイルを使用して新しいデータベースを作成し、エクスプローラーウィンドウを表示します。空のデータファイルも作成されます。