Cloud Software Group, Inc. EBX®
ドキュメント>ユーザーガイド>データセット>ファイルのインポートおよびエクスポートサービス
ナビゲーションモードドキュメント>ユーザーガイド>データセット>ファイルのインポートおよびエクスポートサービス

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

はじめに

XMLのインポートとエクスポートは、ワークスペースの[アクション]メニューを使用してユーザーインターフェイスからテーブルに対して実行できます。

インポートとエクスポートはどちらも、データセットのコンテキストで実行されます。

インポートとエクスポートはプログラムで行うこともできます。

デフォルトのインポートおよびエクスポートオプション値は、管理領域のユーザーインターフェイス>グラフィカルインターフェイス構成>デフォルトオプション値>インポート/エクスポートで設定できます。

インポート

注意

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

インポートモード

XMLファイルをインポートするときは、次のインポートモードのいずれかを指定する必要があります。これにより、インポート手順でソースレコードがどのように処理されるかが決まります。

挿入モード

レコードの作成のみが許可されます。ソースレコードと同じ主キーを持つレコードがターゲットテーブルに存在する場合、エラーが返され、インポート操作全体がキャンセルされます。

更新モード

既存のレコードの変更のみが許可されます。ソースレコードと同じ主キーを持つレコードがターゲットテーブルに存在しない場合、エラーが返され、インポート操作全体がキャンセルされます。

更新または挿入モード

ソースレコードと同じ主キーを持つレコードがターゲットテーブルにすでに存在する場合、そのレコードは更新されます。それ以外の場合は、新しいレコードが作成されます。

置換(同期)モード

ソースレコードと同じ主キーを持つレコードがターゲットテーブルにすでに存在する場合、そのレコードは更新されます。それ以外の場合は、新しいレコードが作成されます。レコードがターゲットテーブルに存在するが、ソースXMLファイルには存在しない場合、そのレコードはテーブルから削除されます。

InsertおよびUpdate操作

デルタ」モードを使用すると、ソースXMLドキュメントから欠落しているデータモデルエレメントを無視できます。このモードは、データサービスまたはJavaAPIを介して有効にできます。次の表は、ソースドキュメントにエレメントが存在しない場合のInsert操作とUpdate操作の動作をまとめたものです。

詳細については、JavaAPIのデータサービス操作updateinsert、およびImportSpec.setByDeltaを参照してください。

ソースXMLドキュメントの状態

動作

ソースドキュメントにエレメントが存在しません

「デルタ」モードが無効になっている場合(デフォルト):

ターゲットフィールドの値は、次のいずれかに設定されます。

  • エレメントがデフォルト値を定義している場合、ターゲットフィールド値はそのデフォルト値に設定されます。

  • エレメントが文字列またはリスト以外のタイプの場合、ターゲットフィールド値はnullに設定されます。

  • エレメントが集約リストの場合、ターゲットフィールド値は空のリストに設定されます。

  • エレメントがnullと空の文字列を区別する文字列の場合、ターゲットフィールドの値はnullに設定されます。 2つを区別しない文字列の場合は、空の文字列。

  • エレメント(単純または複合)がデータサービスで非表示になっている場合、ターゲット値は変更されません。

    以下も参照してください。

注:インポートを実行するユーザーには、ターゲットフィールド値を作成または変更するために必要な権限が必要です。それ以外の場合、値は変更されません。

「デルタ」モードがデータサービスまたはJavaAPIを介して有効になっている場合:

  • 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ファイルにノードがないか空の場合:このオプションが「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インポートおよびエクスポートサービスは、選択値をサポートしていません。

このようなフィールドをエクスポートしてもエラーは発生しませんが、値はエクスポートされません。

このようなフィールドをインポートするとエラーが発生し、インポート手順は中止されます。

ドキュメント>ユーザーガイド>データセット>ファイルのインポートおよびエクスポートサービス