区切りデータについて

区切りデータは、可変長のレコードまたはフィールドのコレクションです。 区切り文字は、次の図のように、レコードまたはフィールドの先頭または末尾をシグナル通知するために使用します。

図 1. レコードの個々のフィールド (LastName、FirstName、および CustomerId) がコンマで区切られ、ファイルのレコードが行末で区切られている、区切りデータの例

レコードはまた、レコード ID と呼ばれる識別コードを持つことができます。 図 2 のデータでは、各レコードの先頭はレコード ID であり、末尾は区切り文字です。

図 2. 識別コードのあるレコード

図 2 に示されているように、レコードは個別に繰り返すことができます。 繰り返しの終わりには、次のレコードのレコード ID によってマークが付けられます。 レコードは、レコードのセットとして繰り返すこともできます。 繰り返しの終わりには、セットに含まれていない次のレコードのレコード ID でマークが付けられます。

レコードにはフィールドが含まれています。 各フィールドは、フィールド区切り文字で始まります。 フィールドは、次のフィールドの先頭にある区切り文字、またはレコードの終わりで終了します。

フィールドは複合化でき、構成要素区切り文字で区切られた構成要素を含むことができます。 フィールドはまた、複数のデータ値を含むこともできます。 これらのデータ値は反復し、phone1 フィールドと phone2 フィールドに示すように、値の間に反復区切り文字を使用します。

レコード ID を持つこのサンプル・データのフラット・ファイル・スキーマを実装するには、次の表に示すように、データの各特性をマップします。
フラット・ファイル特性 フラット・ファイル・スキーマ実装
データ内の最上位構造の区切り形式 ルート・ノードに対して、「構造」プロパティーを「区切り (Delimited)」に設定します。
レコード区切り文字 ルート・ノードまたはレコード・ノードに対して、子区切り文字を設定します。
レコード ID
  • ルート・ノードまたはレコード・ノードに対して、レコード ID プロパティーをそれぞれの ID 値に設定します。
  • ルート・ノードまたはレコード・ノードに対して、レコード ID オフセットを 1 に設定します。
反復レコード レコード・ノードに対して、最大オカレンス・プロパティーを上限なしまたは特定の値に設定します。
反復レコード・セット セットごとにグループ・ノードを作成し、セット内のレコードをグループのコンテンツにします。
フィールド区切り文字 レコード・ノードに対して、子区切り文字プロパティーを設定します。
反復フィールド レコード・ノードに対して、反復区切り文字プロパティーを設定します。
複合フィールド それぞれを、フィールドを含むレコードの子であるサブレコードとして定義します。
複合フィールド内の構成要素 サブレコード内のフィールドの子として定義します。
構成要素区切り文字 複合フィールドのレコード・ノードに対して、子区切り文字プロパティーを設定します。