XMLのインポートとエクスポートは、ワークスペースの[アクション]メニューを使用してユーザーインターフェイスからテーブルに対して実行できます。
インポートとエクスポートはどちらも、データセットのコンテキストで実行されます。
インポートとエクスポートはプログラムで行うこともできます。
デフォルトのインポートおよびエクスポートオプション値は、管理領域のユーザーインターフェイス>グラフィカルインターフェイス構成>デフォルトオプション値>インポート/エクスポートで設定できます。
インポートされたXMLドキュメントはUTF-8でエンコードされている必要があり、その構造はターゲットデータセットの基になるデータモデルに準拠している必要があります。
XMLファイルをインポートするときは、次のインポートモードのいずれかを指定する必要があります。これにより、インポート手順でソースレコードがどのように処理されるかが決まります。
挿入モード | レコードの作成のみが許可されます。ソースレコードと同じ主キーを持つレコードがターゲットテーブルに存在する場合、エラーが返され、インポート操作全体がキャンセルされます。 |
更新モード | 既存のレコードの変更のみが許可されます。ソースレコードと同じ主キーを持つレコードがターゲットテーブルに存在しない場合、エラーが返され、インポート操作全体がキャンセルされます。 |
更新または挿入モード | ソースレコードと同じ主キーを持つレコードがターゲットテーブルにすでに存在する場合、そのレコードは更新されます。それ以外の場合は、新しいレコードが作成されます。 |
置換(同期)モード | ソースレコードと同じ主キーを持つレコードがターゲットテーブルにすでに存在する場合、そのレコードは更新されます。それ以外の場合は、新しいレコードが作成されます。レコードがターゲットテーブルに存在するが、ソースXMLファイルには存在しない場合、そのレコードはテーブルから削除されます。 |
「デルタ」モードを使用すると、ソースXMLドキュメントから欠落しているデータモデルエレメントを無視できます。このモードは、データサービスまたはJavaAPIを介して有効にできます。次の表は、ソースドキュメントにエレメントが存在しない場合のInsert操作とUpdate操作の動作をまとめたものです。
詳細については、JavaAPIのデータサービス操作updateとinsert、およびImportSpec.setByDelta
を参照してください。
ソースXMLドキュメントの状態 | 動作 |
---|---|
ソースドキュメントにエレメントが存在しません | 「デルタ」モードが無効になっている場合(デフォルト): ターゲットフィールドの値は、次のいずれかに設定されます。
注:インポートを実行するユーザーには、ターゲットフィールド値を作成または変更するために必要な権限が必要です。それ以外の場合、値は変更されません。 「デルタ」モードがデータサービスまたはJavaAPIを介して有効になっている場合:
|
エレメントは存在しますが、空です(たとえば、 |
以下も参照してください。 |
エレメントが存在し、 | サポートされていないリストを除いて、ターゲットフィールドは常に
|
既存のレコードを更新するときに、XMLファイルにノードがないか空の場合:このオプションが「yes」の場合、nullと見なされます。このオプションが「いいえ」の場合、変更されません。
XMLドキュメントに、ターゲットデータモデルに存在しないエレメントが含まれている場合があります。デフォルトでは、この場合、インポート手順は失敗します。ただし、XMLファイルで定義された余分な列を無視するインポート手順をユーザーが起動できるようにすることは可能です。これは、XMLのインポートウィザードの構成パラメーターで実行できます。このパラメーターのデフォルト値は、「管理」領域の「ユーザーインターフェイス」構成で構成できます。
技術属性ebxd:lastTime
がソースXMLファイルに存在する場合、インポートメカニズムは検証を実行して、最後の読み取り以降に変更された可能性のあるレコードのUpdate操作を防止します。 ebxd:lastTime
属性を使用するには、名前空間宣言xmlns:ebxd="urn:ebx-schemas:deployment_1.0
をインポートする必要があります。現在のレコードはこのタイムスタンプと比較されます。それらが異なる場合、更新は拒否されます。
エクスポートされたXMLドキュメントは常にUTF-8でエンコードされます。
XMLにエクスポートするときに、テーブルにフィルターが適用されている場合、フィルターに対応するレコードのみがエクスポートされたファイルに含まれます。
XMLエクスポートオプションは次のとおりです。
Download file name | エクスポートするXMLファイルの名前を指定します。このフィールドには、レコードのエクスポート元のテーブルの名前が事前に入力されています。 |
ユーザーフレンドリーモード | エクスポートされた値をユーザーフレンドリーな方法で表示するか、標準のXMLraw形式で表示するかを指定します。たとえば、ユーザーフレンドリーモードでは、日付と数値はユーザーのロケールに従ってフォーマットされ、外部キーと列挙値は関連するラベルを表示します。 注:このオプションを選択すると、エクスポートされたファイルを再インポートできなくなります。 |
技術データの包含 | 内部技術データをエクスポートに含めるかどうかを指定します。 注:このオプションを選択すると、エクスポートされたファイルを再インポートできなくなります。 |
インデントされています | 人間が読みやすくするためにファイルをインデントするかどうかを指定します。 |
XMLコメントを省略 | データの場所とエクスポートの日付を説明する生成されたXMLコメントをファイルから省略するかどうかを指定します。 |
次の日付と時刻の形式がサポートされています。
タイプ | フォーマット | 例 |
---|---|---|
xs:date | yyyy-MM-dd | 2007-12-31 |
xs:time | HH:mm:ss または HH:mm:ss.SSS | 11:55:00 |
xs:dateTime | yyyy-MM-ddTHH:mm:ss または yyyy-MM-ddTHH:mm:ss.SSS | 2007-12-31T11:55:00 |
XMLインポートおよびエクスポートサービスは、関連付け値をサポートしていません。
このようなフィールドをエクスポートしてもエラーは発生しませんが、値はエクスポートされません。
このようなフィールドをインポートするとエラーが発生し、インポート手順は中止されます。
XMLインポートおよびエクスポートサービスは、選択値をサポートしていません。
このようなフィールドをエクスポートしてもエラーは発生しませんが、値はエクスポートされません。
このようなフィールドをインポートするとエラーが発生し、インポート手順は中止されます。