ペイロード マッピング ファイルは、受信ペイロードが、対応する Copybook とどのように一致可能かを記述した XML ドキュメントです。 ペイロード マッピング ファイルは、ペイロード Copybook マッピングおよびペイロード Copybook ファイル定義マップとも呼ばれます。 また、このファイルは、ユーザにわかりやすいように結果の XML を構造化する方法についてのヒントも提供します。
サンプル
サンプル マッピング ファイルは、ここで参照できます。 サンプル ファイルには、さまざまな設定の例、および各ノードの各属性について説明したコメントが含まれています。 このサンプル ファイルは、Copybook マッピング ファイルの作成時に参考として役立ちます。
構造
以下の例は、基本的なペイロード マッピング ファイルの構造を示しています。 わかりやすくするために、この例には、値の属性が含まれていません。
<payloads>
<payload>
<key></key>
<section>
<copybook></copybook>
...
</section>
...
</payload>
<payload>
...
</payload>
</payloads>
ドキュメントのルート XML ノード。 このノードは、繰り返すことができません。
このエレメントは、その全体で、一致するペイロードを完全に記述します。 このドキュメントで、ペイロードが <payload> エレメントに一致すると判断された場合、<payload> エレメントを使用して受信ペイロードを記述します。
(オプション)このオプションにより、XML ドキュメントの可読性が向上します。 このエレメントで指定するものは、すべて <payload> エレメントの属性としても指定できます。
ペイロードの一部を定義する Copybook の論理グループ。 複数の <section> が存在する場合は、それらが繰り返しなしで順番に処理されます。
ペイロード内のレコードを記述する場合も、記述しない場合もある単一の Copybook。 <section> には、複数の <copybook> エレメントを含めることができます。
A <payload> エレメントには、以下の属性を含めることができます。
<payload name="TEST" type="request" matchType="all" key="reqKey" value="reqVal" keyStart="3" keyEnd="6" headerBytes="0" footerBytes="0" saveHeaderFooter="false" definesResponse="false">
...
</payload>
|
属性 |
必須/任意 |
説明 |
|
name |
必須 |
ここで記述する要求のタイプを識別する一意の名前を定義します。 name は、同じタイプ(要求または応答)のペイロードのセット内で一意である必要があります。 |
|
type |
必須 |
ペイロードのタイプを指定します。 値: 以下のいずれかです。
|
|
matchType |
オプション |
matchType 属性は、異なる方法で「response」タイプのペイロード定義に適用されます。たとえば、応答には引数や操作名が含まれません。 「response」タイプのペイロード定義でこの属性に argument、attribute、または operation を設定しても、何も一致しません(一致する要求の definesResponse 属性が true に設定されて、この属性を上書きしない限り)。 「response」タイプのペイロード定義でこの属性に all を設定すると、argument、attribute、および operation の一致はスキップされます。 値: 以下のいずれかです。
デフォルト: payload |
|
key |
必須 |
この属性の動作は、以下のように、matchType によって異なります。
|
|
value |
オプション/必須 |
この属性の動作(および、必須かどうか)は、以下のように、matchType によって異なります。
|
|
keyStart |
オプション |
ペイロード内で、キーの検索を開始する位置(1 ベースのインデックス)を指定します。 検索は、この値を含めて行われます。
|
|
keyEnd |
オプション |
ペイロード内で、キーの検索を終了する位置(1 ベースのインデックス)を指定します。 検索は、この値を含めずに行われます。
|
|
headerBytes |
オプション |
ペイロードの先頭から削除するバイト数を指定します。 値を指定しない場合、デフォルトは 0 になります。 この属性を指定する場合、値は有効な整数である必要があります。 |
|
footerBytes |
オプション |
ペイロードの末尾から削除するバイト数を指定します。 値を指定しない場合、デフォルトは 0 になります。 この属性を指定する場合、値は有効な整数である必要があります。 |
|
saveHeaderFooter |
オプション |
削除されるヘッダとフッタのバイト数が XML バージョンの要求で rawHeader タグおよび rawFooter タグの下の 16 進エンコードされた文字列として保持されるかどうかを指定します。 値
デフォルト値: false。 |
|
definesResponse |
オプション |
true の場合、この要求に対する応答は、同じ名前を持った response タイプのペイロード エレメントを検索します。 タイプが response の場合、この属性は無視されます。 デフォルト値: false。 |
オプションの <key> エレメントを使用して、キー関連の属性を置換できます。 上記の <payload> エレメントの例は、必要に応じて、可読性を高めるために以下のように記述できます。
<payload name="TEST" type="request" headerBytes="0" footerBytes="0" saveHeaderFooter="false" definesResponse="false">
<key matchType="all" value="reqVal" keyStart="3" keyEnd="6">reqKey</key>
...
</payload>
例: 以下の例は、すべての属性および属性の記述を持つサンプルのセクション エレメントです。
...
<section name="Body">
...
</section>
...
|
属性 |
必須 |
説明 |
|
name |
必須 |
ペイロードの XML 出力バージョンでのグループの XML エレメントの名前を定義します。 その下に、1 つ以上の変換された Copybook エレメントが存在します。 |
例: 以下の例は、すべての属性および属性の記述を持つサンプルの Copybook エレメントです。
... <copybook key="cpk" order="1" max="1" name="TESTRECORD" length-field="SOME-ID">TESTIN.CPY.TXT</copybook> ...
|
属性 |
必須 |
説明 |
|
key |
必須 |
Copybook を識別するレコードの一意の文字列を定義します。 技術的には、この属性は省略可能です。 ただし、キーを指定しない場合、その Copybook はペイロードに適用される唯一のものであることを意味します。 ペイロードでバイトが使い果たされるまで、繰り返し適用されます。 複数の Copybook エレメントにキーが存在しない場合、max 属性が指定されない限り、常に最初のものが使用されます。 |
|
order |
オプション |
ペイロード内でレコードが見つかる順番に関するヒントを定義します。 使用される番号は無関係ですが、ペイロード内の「後ろ」のレコードには、より大きな整数を使用する必要があります。 複数の Copybook に同じ番号でタグ付けすることができます。これは、それらのレコードが任意の順番になることを意味します。 特定の番号でレコードが見つかった場合、それ以降の検索では、その番号以上の Copybook のみ検索されます。 ペイロードに一致することがないグループの Copybook を含めることができます。 それらは単に無視されます。 ただし、各 Copybook を確認する必要があるため、パフォーマンスに影響があります。 デフォルト: 0 |
|
max |
オプション |
Copybook をペイロードに適用できる最大回数を定義します。 空白、0、負の数、数値以外、および存在しない値はすべて「制限なし」を意味します。 |
|
name |
オプション |
レコード名(Copybook のルート レベル)を上書きする値を定義します。
|
|
length-field |
オプション |
次のレコード検索が正しい位置から開始されるようにペイロードを分割する方法を定義します。 この属性が存在しない場合、プロセッサは定義から Copybook の長さを決定しようとします。 何らかの理由で長さが判明しない場合、プロセッサは、ペイロードの残りがこの Copybook に該当すると仮定します。処理は、この Copybook を適用した後に終了します。 このフィールドが符号なしの Display 数値フィールドでない場合、プロセッサはこのフィールドを無視します。 |
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|