
「データベース構造から XML スキーマを作成」コマンドにより、様々な種類のデータベース構造から XML スキーマを作成することができます。XML スキーマの作成メカニズムは、2つのステップにより構成されます:
1.データベースへの接続が確立されます。
2.データベースのデータ選択や XML スキーマのオプションを指定します。
以下の操作により、データベース構造から XML スキーマを作成することができます:
1.データベース構造から XML スキーマを作成コマンドをクリックすると、 データベース接続ウィザードボックスが表示されます。
2.データベースへの接続ウィザードにてデータベースへの接続を確立します。異なる種類のデータベースに対する接続の方法についてはデータベースへ接続 セクションを参照ください。
3.データベースへの接続が確立されると、DB 構造から XML スキーマを作成ダイアログが表示され、タブやペインによりインポートするデータベース構造を選択することができます(以下のスクリーンショットを参照)。オプションについては以下を参照ください。インポートボタンをクリックすることで、データベースのデータがインポートされます。

(上のスクリーンショットで示される)選択範囲タブでは、(以下のスクリーンショットにある)ソースペインによりデータベース上のテーブルや、目的のテーブルを選択するための SQL ステートメントが表示されます。.

テーブルビューでは、テーブルのチェックボックスにチェックを入れることで、インポートするテーブルをデータベースから選択することができます(上のスクリーンショットを参照)。テーブルのコンテンツはプレビューペインに表示されます。テーブルの選択は、プレビューペインにて更にフィルタリングすることもできます。 データベースデータのインポートのセクションに記述されている方法を使用することで、ソースペインの表示方法を変更することもできます。
(以下のスクリーンショットにある)オプションタブでは、スキーマの書式、その拡張型、カラムを要素または属性としてインポートするのか、スキーマにてデータベースの制約を生成するかを指定することができます。

スキーマの書式 :フラット(SQL/XML 標準)か階層構造スキーマを選択することができます。
•フラットスキーマモデルは XML-Related Specification (SQL/XML) という名前の ISO-ANSI 作業草案(これ以降は「SQL/XML 作業草案」と表記)をベースにしています。SQL/XML 作業草案では、データベースを XML へマッピングする方法が定義されます。スキーマにおいてリレーションシップは同一性制約を使って定義され、要素への参照は行われません。そのため、スキーマはデータベースのツリー型ビューにも似たフラットな構造となります。 ANSI ストアで仕様を購入することができますSQL/XML 作業草案に関するより詳細な情報は、以下のリンクを参照ください: www.sqlx.org。
•階層構造スキーマモデルでは、何らかのオブジェクトに依存しているテーブルがインデントされた子要素としてコンテンツモデルに表示され、ツリービューの様な形式でテーブルの依存関係が視覚的に表示されます。テーブルの依存関係は同一性制約タブにも表示されます。スキーマにおいてテーブルはグローバル要素として表示され、テーブルのカラムはこれらグローバル要素の子要素または属性となります(カラムを要素とするか属性とするかはユーザーにより決定されます)。リレーションシップは階層構造形式で作成され、あるテーブルにある外部キーのフィールドは、そのテーブルを表すグローバル要素への参照となります。
スキーマの拡張型:スキーマ拡張情報とはデータベースから読み取られ、スキーマ内部では注釈データまたは属性として埋め込まれる情報のことです。スキーマを生成するにあたり、4つの拡張型オプションから選択を行うことができます: (i) 拡張情報無し、(ii) SQL/XML 拡張、(iii) MS SQL Server 拡張、(iv) Oracle 拡張。それぞれのオプションについて以下に記述します:
•無し:データベースから新たに取得する情報はありません。
•SQL XML: :SQL/XML 拡張は、フラット構造でスキーマの生成を行うときのみ使用することができます。拡張情報は SQL/XML 作業草案に従ったかたちで注釈内に保管されます。 (INCITS/ISO/IEC 9075-14-2008).
•MS SQL Server: Microsoft SQL Server を選択することで、SQL Server 拡張が生成されます。詳細については、 SQL サーバーブックオンライン と MSDN の XSD スキーマの注釈付けについて を参照ください。以下にある注釈データのサブセットがスキーマにて生成されます: sql:relation、sql:field、sql:datatype、sql:mapped。
•Oracle: :Oracle データベースを使用していると、Oracle 拡張がデフォルトで選択されます。拡張情報は属性内に保管されます。これら属性に関する情報については、 Oracle のオンラインドキュメント. を参照ください。以下にある属性のサブセットが現在生成されます: SQLName、SQLType、SQLSchema。.
| メモ: | SQL Server ならびに Oracle 拡張は、それぞれ対応するデータベース以外のデータベースに対して生成することができます。この機能は、別のデータベースにて作業しながら、将来 SQL Server または Oracle にて処理されるスキーマを生成するような場面で利用することができます。 |
(以下のスクリーンショットで示される)プレビューペインでは、選択範囲タブにて現在選択されているテーブルの構成が表示されます。選択範囲タブにて新しいテーブルが選択された場合、再ロードボタンによりプレビューが更新されます。

要素または属性としてフィールドをインポートするように指定することができ、また、列名の左横のシンボルをクリックして、インポートされないように指定することもできます。 要素、属性、またはオプションの無視から選択することができます。 上のスクリーンショットでは、 city フィールド、が例えば、要素としてインポートされるようにセットされていますが、 street フィールドは属性としてインポートされるように設定されています。
データベースのデータ型から XML スキーマのデータ型への変換に関する情報については、 付録を参照ください。