タグ付き分離タイプの場合、各データ値の前には、 エレメント・プロパティーとして指定されたタグが置かれます。
「タグ・データ区切り文字」または 特定の「タグの長さ」パラメーターは、 タグが終わってデータが始まる場所を判別するために使用されます。 データの最後を判別するために、さまざまな方法がそれぞれの分離タイプで使用されます。
タグ付き分離は、柔軟性のある形式です。 エレメントが特定の順序でなくても構いません。 これらがすべて存在していなければならないという訳ではなく、メッセージ内の任意の場所から省くこともできます。
すべてのタグ付き分離タイプで、「タグ・データ区切り文字」か「タグの長さ」のどちらかが使用されます。 しかし一度に設定できるのは、それらのパラメーターのうちのどちらかです。
tag1:data1「タグ・データ区切り文字」は : です。
tag1data1「タグの長さ」 は 4 です。
「タグ付き区切り」分離は、完全な柔軟性を備えた形式です。 エレメントには特定の長さはありません。 エレメントは、事前定義された区切り文字によって分けられます。
{tag1:data1*tag2222222:data2*tag333:data3}ここで、
{tag11data1*tag22data2*tag33data3}ここでのパラメーターは以下の点以外は、前述の場合と同じです。
「タグ付き固定長」分離は柔軟な形式ですが、 データの特定の長さでなければなりません。つまり、各エレメントの終わりを判別するための区切り文字は必要ないということです。
{tag1:data1tag22222222:data2000tag333:data300}ここで、
{tag11data1tag22data2000tag33data300}ここでのパラメーターは以下の点以外は、前述の場合と同じです。
このメソッドには、データの前にタグと長さフィールドの両方があります。 長さフィールドでは、その後に続くデータの長さをパーサーに示します。
この長さフィールドの長さは、「エンコード長の長さ」 パラメーターでそれ自体が定義されています。 これに追加される追加の長さ (フィールド自体の長さなど) は、 「エンコード長の余分の文字」 パラメーターで設定されます。
以下の例では、それらのパラメーター内の値セットを指定する仕方を示しています。
このビット・ストリーム内で「タグの長さ」 が 4、「エンコード長の長さ」 が 3、「エンコード長の余分の文字」 が 0 の場合、 TagA の後に 3 文字の長さのフィールドが続きます。これは、以下のデータ (dataAAA) が 7 文字の長さであることを示しています。 それから、次のフィールドである tagB が同様に考慮されます。
このビット・ストリーム内で「タグの長さ」 が 4、「エンコード長の長さ」 が 3、「エンコード長の余分の文字」 が 3 の場合、TagA の後に 3 文字の長さのフィールドが続きます。これは、その後のデータに追加の文字を加えると 12 文字になることを示しています。 長さフィールドの長さ (3) + データの長さ (9) = 12 です。 したがって、実際のデータの長さは 12-3 = 9 に過ぎません。 それから、次のフィールドである tagB が同様に考慮されます。 それぞれの場合で、ビット・ストリーム内で指定されている長さは、データの実際の長さよりも 3 長くなっています。
{tag1111:008data1tag222222222:010data2AAtag3333:009data3A}ここで、
{tag11008data1tag22010data2AAtag33009data3A}ここでのパラメーターは以下の点以外は、前述の場合と同じです。