XML のインポートとエクスポート

最終公開日 : Sep 16, 2026

はじめに

XML のインポートとエクスポートは、ワークスペースの メニューを使用してユーザーインターフェイスからテーブルに対して実行できます。
インポートとエクスポートはどちらも、データセットのコンテキストで実行されます。
インポートとエクスポートはプログラムで行うこともできます。
デフォルトのインポートおよびエクスポートオプション値は、 領域の > > > で設定できます。

インポート

注意:
インポートされた XML ドキュメントは UTF-8 でエンコードされている必要があり、その構造はターゲットデータセットの基になるデータモデルに準拠している必要があります。

インポートモード

XML ファイルをインポートするときは、次のインポートモードのいずれかを指定する必要があります。これにより、インポート手順でソースレコードがどのように処理されるかが決まります。
挿入モード
レコードの作成のみが許可されます。ソースレコードと同じ主キーを持つレコードがターゲットテーブルに存在する場合、エラーが返され、インポート操作全体がキャンセルされます。
更新モード
既存のレコードの変更のみが許可されます。ソースレコードと同じ主キーを持つレコードがターゲットテーブルに存在しない場合、エラーが返され、インポート操作全体がキャンセルされます。
更新または挿入モード
ソースレコードと同じ主キーを持つレコードがターゲットテーブルにすでに存在する場合、そのレコードは更新されます。それ以外の場合は、新しいレコードが作成されます。
置換 (同期) モード
ソースレコードと同じ主キーを持つレコードがターゲットテーブルにすでに存在する場合、そのレコードは更新されます。それ以外の場合は、新しいレコードが作成されます。レコードがターゲットテーブルに存在するが、ソース XML ファイルには存在しない場合、そのレコードはテーブルから削除されます。

Insert および Update 操作

「byデルタ」モードを使用すると、ソース XML ドキュメントから欠落しているデータモデルエレメントを無視できます。このモードは、データサービスまたは Java API を介して有効にできます。次の表は、ソースドキュメントにエレメントが存在しない場合の Insert 操作と Update 操作の動作をまとめたものです。
詳細については、Java API のデータサービス操作 update と insert、および ImportSpec.setByDelta を参照してください。
ソース XML ドキュメントの状態
動作
ソースドキュメントにエレメントが存在しない
「byデルタ」モードが無効になっている場合 (デフォルト)
ターゲットフィールドの値は、次のいずれかに設定されます。
  • エレメントがデフォルト値を定義している場合、ターゲットフィールド値はそのデフォルト値に設定されます。
  • エレメントが文字列またはリスト以外のタイプの場合、ターゲットフィールド値は null に設定されます。
  • エレメントが集約リストの場合、ターゲットフィールド値は空のリストに設定されます。
  • エレメントが null と空の文字列を区別する文字列の場合、ターゲットフィールドの値は null に設定されます。2つを区別しない文字列の場合は、空の文字列です。
  • エレメント (単純または複合) がデータサービスで非表示になっている場合、ターゲット値は変更されません。
    以下も参照してください。:
    注意:インポートを実行するユーザーには、ターゲットフィールド値を作成または変更するために必要な権限が必要です。それ以外の場合、値は変更されません。
    「byデルタ」モードがデータサービスまたは Java API を介して有効になっている場合
  • Update 操作の場合、フィールド値は変更されません。
  • insert 操作の場合、動作は byDelta モードが無効になっている場合と同じです。
エレメントは存在するが、空 (たとえば、<fieldA/>)
  • タイプ xs:string (またはそのサブタイプの 1 つ) で、空の文字列と null を区別する場合、ターゲットフィールドの値は null に設定されます。それ以外の場合、値は空の文字列に設定されます。
  • xs:string タイプ以外のノードの場合、XML スキーマに準拠して例外がスローされます。
以下も参照してください。:
エレメントが存在し、かつ null (たとえば、<fieldA xsi:nil="true"/>)
サポートされていないリストを除いて、ターゲットフィールドは常に null に設定されます。
xsi:nil="true" 属性を使用するには、名前空間宣言 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance” をインポートする必要があります。

欠損している値を null として設定

既存のレコードを更新するときに、XML ファイルにノードがないか空の場合:このオプションが の場合、null と見なされます。このオプションが の場合、変更されません。

エクストラ列を無視する

XML ドキュメントに、ターゲットデータモデルに存在しないエレメントが含まれている場合があります。デフォルトでは、この場合、インポート手順は失敗します。ただし、XML ファイルで定義された余分な列を無視するインポート手順をユーザーが起動できるようにすることは可能です。これは、XML のインポートウィザードの構成パラメーターで実行できます。このパラメーターのデフォルト値は、 領域の 構成で構成できます。

楽観ロック

技術属性 ebxd:lastTime がソース XML ファイルに存在する場合、インポートメカニズムは検証を実行して、最後の読み取り以降に変更された可能性のあるレコードの Update 操作を防止します。ebxd:lastTime 属性を使用するには、名前空間宣言 xmlns:ebxd="urn:ebx-schemas:deployment_1.0 をインポートする必要があります。現在のレコードはこのタイムスタンプと比較されます。それらが異なる場合、更新は拒否されます。

エクスポート

注意:
エクスポートされた XML ドキュメントは常に UTF-8 でエンコードされます。
XML にエクスポートするときに、テーブルにフィルターが適用されている場合、フィルターに対応するレコードのみがエクスポートされたファイルに含まれます。
XML エクスポートオプションは次のとおりです。
ダウンロードファイル名
エクスポートする XML ファイルの名前を指定します。このフィールドには、レコードのエクスポート元のテーブルの名前が事前に入力されています。
ユーザーフレンドリーモード
エクスポートされた値をユーザーフレンドリーな方法で表示するか、標準の XML 生形式で表示するかを指定します。たとえば、ユーザーフレンドリーモードでは、日付と数値はユーザーのロケールに従ってフォーマットされ、外部キーと列挙値は関連するラベルを表示します。
注意:このオプションを選択すると、エクスポートされたファイルを再インポートできなくなります。
テクニカルデータを含める
内部技術データをエクスポートに含めるかどうかを指定します。
注意:このオプションを選択すると、エクスポートされたファイルを再インポートできなくなります。
インデントされています
人間が読みやすくするためにファイルをインデントするかどうかを指定します。
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 インポートおよびエクスポートサービスは、選択値をサポートしていません。
このようなフィールドをエクスポートしてもエラーは発生しませんが、値はエクスポートされません。
このようなフィールドをインポートするとエラーが発生し、インポート手順は中止されます。