4Dではデータベースストラクチャー定義をXMLやHTMLファイルとして書き出すことができます。またXMLフォーマットで保存されたストラクチャー定義を使用して、新しい4Dデータベースを作成することもできます。この機能により、いくつかの可能性が生まれます:
- ストラクチャーをカスタマイズされたフォーマット (レポートや表など) で見せたり、他のツールで解析することができます。
- 定義ファイルからデータベースを生成することができます。
4Dストラクチャー定義はXMLフォーマットに基づきます。ストラクチャー定義はテキストエディターで開くことができます。またXMLフォーマットのデータは、特にXSL変換などを使用することで、他の形式に変換することが可能です。さらに4Dは.XSLファイルを使用してストラクチャー定義をHTMLフォーマットで書き出すことができます。
ストラクチャー定義にはテーブル、フィールド、インデックス、リレーション、それらの属性、およびストラクチャー定義を完全なものにするための様々なデータが含まれます。4Dストラクチャー定義の内部的な文法はDTDファイルに定義されています。このファイルはXMLファイルの妥当性検証にも使用されます。
4Dが使用するDTDファイルは4Dアプリケーション内のDTDフォルダーにまとめられています。ストラクチャー定義にはbase_core.dtdとcommon.dtdファイルが使用されます。4Dストラクチャー定義に関する詳細は、これらのファイルおよびそこに書かれたコメントを参照してください。
4Dではストラクチャー定義をXMLおよびHTMLフォーマットで書き出すことができます。必要に応じてフォーマットを選択してください:
- XMLフォーマット: XMLフォーマットのストラクチャー定義はテキストエディターを使用して開いたり、(カスタムXSL変換や他の解析ツールで読み込むなどして) 使用することができます。
新しいデータベースをストラクチャー定義から作成したい場合もこのフォーマットを選択してください。 - HTMLフォーマット: このフォーマットを使用すると、Webブラウザーを使用してストラクチャー定義を表示したり印刷したりできます。
XMLフォーマットでストラクチャー定義を書き出すには:
- 4Dのファイルメニューから書き出し > ストラクチャー定義をXMLファイルに書き出し...を選択します。
標準のファイルを保存ダイアログボックスが表示されます。 - 書き出すファイルの名前と保存場所を指定してダイアログを受け入れます。
HTMLフォーマットでストラクチャー定義を書き出すには:
- 4Dのファイルメニューから書き出し > ストラクチャー定義をHTMLに書き出し...を選択します。
HTMLファイルの保存先フォルダーを指定するダイアログが表示されます。 - 新規フォルダーボタンをクリックするか、既存のフォルダーを選択します。
4Dは指定された場所に自動で“Mystructure.4db Structure Export”フォルダーを作成し、ストラクチャー定義をそのフォルダー内に書き出します (Mystructure.4dbは実際のデータベース名になります)。
デフォルトのブラウザーで書き出されたファイルを表示するかどうかを尋ねるダイアログが表示されます。HTMLフォーマットのストラクチャー定義は以下のように表示されます:

HTMLフォーマットのストラクチャー定義を生成するために、4Dはアプリケーションの/Resource/language.lprojサブフォルダーに配置された“Structure_to_html.xsl”ファイルをデフォルトで使用します。
注: このファイルが所定の場所に存在しない場合、書き出しダイアログからHTMLでの書き出しを行うことはできません。
カスタムXSLスタイルシートファイルを使用することで、この変換をカスタマイズできます。これを行うには、“Structure_to_html.xsl”という名前のファイルを作成し、.4dbファイルと同階層におきます (デフォルトファイルを複製できます)。HTMLフォーマットのストラクチャー定義を生成する際に4Dはこのファイルを使用します。
XMLフォーマットで書き出されたストラクチャー定義を使用して、新規に同じデータストラクチャーを作成することができます。この場合ストラクチャー定義は、必要に応じて複製が可能なストラクチャーテンプレートと考えることができます。
XMLストラクチャー定義はそのように使用することができるほか、XMLエディターで事前に修正を加えることもできます。プログラミングによってストラクチャーを生成するために使用されるすべてのタイプのメカニズムが対象となります。
さらに、4Dストラクチャー定義XMLファイルの内部フォーマットは公開されています (前述の“4Dストラクチャー定義のフォーマット”参照)。他のデータベース環境やデザインアプリケーションを使用してこのタイプのファイルを生成し、4Dデータベースを自動で作成することができます。
ストラクチャー定義からデータベースを作成するには:
- 4Dのファイルメニューから新規 > ストラクチャー定義を使用したデータベース...コマンドを選択します。
標準のファイルを開くダイアログボックスが表示され、開く定義ファイルを指定できます。4Dストラクチャ定義の文法に準拠したXMLフォーマットのファイルを開かなければなりません (4DはDTDを使用してファイルを検証します)。 - ストラクチャー定義XMLファイルを選択してOKをクリックします。
4Dは作成するデータベースの名前と場所を指定するダイアログボックスを表示します。 - データベースの名前と場所を指定して保存をクリックします。
XMLファイルが妥当であれば、4Dは (開かれていれば) カレントデータベースを閉じ、ストラクチャー定義に基づく新しいストラクチャーを作成し、エクスプローラーウィンドウを表示します。デフォルトで空のデータファイルも作成されます。