データベース設定ウィザードのオプション |
[データベース設定ウィザード] の機能とオプションを使用して、XML をデータベースに変換する際に XML の解釈方法を定義できます。ウィザードには、次のページが含まれています。
XML ファイルを選択した後、接続したファイル ([内容] タブ) および結果のデータベーステーブル ([フィールド] タブ) の [ファイルのプレビュー] 領域でプレビューが表示されます。
このページでは、外部スキーマファイルを指定することや、指定した XML ファイルのスキーマがウィザードで前提として使用されるように指定することができます。
アクセスできないまたは無効な内部スキーマ参照が XML に含まれている場合、エラーメッセージが表示されます。続行する前にスキーマの問題をすべて解決する必要があります。
次のオプションを使用できます。
XML ファイルからスキーマを自動的に検出:指定した XML ファイルのスキーマがウィザードで前提として使用されます。このオプションは、個別のスキーマファイルがない場合に選択します。
|
自動スキーマ検出を使用する場合、フィールドのデータ型は既定で常に「テキスト」に設定されます。データ型は [データベースの設定] ダイアログの [フィールド] プロパティページで変更できます。 |
スキーマまたはドキュメント種類定義ファイルを指定:外部スキーマファイルをアップロードするオプションが提供されます。[追加] をクリックしてファイルを参照します。
[単一種類のすべての要素を選択] 領域で、マスター要素として使用する要素を選択します。この要素がデータベースレコードの基盤を構成します。
マスター要素を選択すると、結果のデータベーステーブルのプレビューが [フィールド] タブに表示されます。XML ファイル内で選択したマスター要素の各発生に対して 1 つのデータベースレコード (テーブルの 1 つの行) が作成されます。
このページで選択できるのは 1 つのマスター要素だけです。複数のマスター要素を選択する場合、またはその他の条件に基づいて一部の要素だけを選択する場合は、[高度な条件または XPath 式を使用して要素を選択] チェックボックスをクリックして選択し、[次へ] をクリックして [高度なレコード要素の選択] ページを開きます。
このページには、マスター要素を選択するための高度なオプションがあります。次のオプションを使用できます。
次の種類の要素をすべて選択:選択した種類のすべての要素がマスター要素として使用されます。
次の種類のノードをすべて選択:[上位] リストで選択した要素の下で発生する選択した種類のすべてのノード (要素) がマスター要素として使用されます。
カスタム XPath でレコードノードを選択:使用するカスタム XPath 式を指定します。XPath クエリ言語の知識を有する上級ユーザーは、XPath クエリ言語を使用して XML ドキュメントからノードを選択し、XML ドキュメントの内容から値を計算できます。
次の例は、単一の要素をマスター要素として選択した場合、および同じ種類のすべての要素をマスター要素として選択した場合のデータベースの結果を示します。
次のような XML ファイルを使用する場合を考えてみます。
"Angela Franklin" の <Name> ノードをマスター要素として選択します。親の <Employees> ノードには <Name> 要素の 2 つのインスタンスがあるので、データベースには次のように 2 つのレコードが含まれます。
次のような XML ファイルを使用する場合を考えてみます。
[高度なレコード要素の選択] ページで、次のいずれかの操作を行います。
[次の種類の要素をすべて選択] をクリックして選択し、リストから [Name] を選択します。
[次の種類のノードをすべて選択] をクリックして選択し、リストから [Name] を選択して、[上位] リストで [Company] または [Manager] を選択します。
結果のデータベースでは、<Name> 要素のすべてのインスタンスがキャプチャされ、次のように 3 つのレコードが生成されます。
1 つ以上のマスター要素を選択した後、このページを使用して、データベースのフィールドデータとして使用する要素と属性を選択し、反復する要素を処理する方法を指定できます。
[使用可能なノード] 領域には、フィールドデータを提供するために選択できる要素と属性が表示されます。これには、親と子の両方の要素とその属性が含まれます。目的のノードのチェックボックスをクリックして選択します。
反復するノードの場合、使用できるオプションはデータ型 (文字列、数値、日付、ブール型など) に応じて異なります。次のオプションが使用可能です。
|
スキーマファイルを指定しなかった場合、サンプル XML ファイルで反復しない場合でも、XML 内の要素は反復できます。したがって、これらのオプションは、これらのノードが実際に反復しない場合でも使用できることがあります。 |
最初を使用:フィールド値は、要素の最初の発生から取得されます。
最後を使用:フィールド値は、要素の最後の発生から取得されます。
連結する:フィールド値は、指定した区切り文字で区切られた要素のすべての発生が連結されたものになります。[区切り文字] フィールドに、使用する区切り文字を入力して [適用] をクリックします。
合計:フィールド値は、反復ノードの値の合計になります。
平均:平均: フィールド値は、反復ノードの値の平均になります。
最小:フィールド値は、反復ノードで発生する最小値になります。
最大:フィールド値は、反復ノードで発生する最大値になります。
マルチフィールド:要素は、複数のフィールド値を表すことができます。属性ノードの内容によって、どのフィールドでどの値が使用されるかが決定されます。属性を含む要素でのみ使用できます。
次のような XML ファイルを使用する場合を考えてみます。
マスター要素として <owl> を選択します。反復する <property> 要素の既定設定は [連結する] なので、結果として次のデータベーステーブルが生成されます。
しかし、反復する <property> 要素の各バリエーションを typeid 属性に従ってデータの一意のフィールド (列) として扱う場合があります。[マルチフィールド] オプションを選択すると、結果のデータベースは次のようになります。
以前を使用:フィールド値は、マスター要素に相対的な要素または属性の前の発生から取得されます。マスター要素に相対的な要素および属性でのみ使用できます。マスター要素の子孫であるノードには適用できません。
次のような XML ファイルを使用する場合を考えてみます。
マスター要素として <FirstName> を選択します。反復する <LastName> 要素の既定設定は [連結する] なので、結果として次のデータベーステーブルが生成されます。
しかし、すべての <LastName> 要素のすべての値ではなく、LastName のフィールド値で反復する <LastName> 要素の前のインスタンスを使用してデータベースに自動入力するとします。[以前を使用] オプションを選択すると、結果のデータベースは次のようになります。
次を使用:フィールド値は、マスター要素に相対的な要素または属性の次の発生から取得されます。マスター要素に相対的な要素および属性でのみ使用できます。マスター要素の子孫であるノードには適用できません。
次のような XML ファイルを使用する場合を考えてみます。
マスター要素として <FirstName> を選択します。反復する <LastName> 要素の既定設定は [連結する] なので、結果として次のデータベーステーブルが生成されます。
しかし、すべての <LastName> 要素のすべての値ではなく、LastName のフィールド値で反復する <LastName> 要素の次のインスタンスを使用してデータベースに自動入力するとします。[次を使用] オプションを選択すると、結果のデータベースは次のようになります。