エレメントの省略および切り捨ては、 プロパティー「不在エレメント区切り文字の抑制」の設定値に依存します。 このことについては、複合タイプの TDS プロパティー、グローバル・グループの TDS プロパティー、 またはローカル・グループの TDS プロパティーで説明されています。
一部のエレメントがオプションであるメッセージを作成した場合、入力メッセージに収容されないエレメントが存在する可能性があります。 タイプの「データ・エレメント分離」プロパティーを「全エレメントを区切る」 または「可変長エレメントを区切る」 に設定して (この場合、 エレメントはそれぞれ区切り文字によって分離されて、タグは付いていない) 定義した複合タイプ内にエレメントがある場合に、 複合タイプの末尾から欠落しているエレメントがあれば、 メッセージを作成するアプリケーションが次の 2 つの方法のいずれかでそのエレメントを示さなければなりません。どちらの方法でも、不必要に長い区切り文字シーケンスを回避するためと、欠落したエレメントの一貫性のある表記を保つための技法が用いられます。
これは切り捨て方式と呼ばれますが、そこでは欠落エレメントはないものとして扱われ、データと区切り文字は両方ともビット・ストリームから除外されます。
例えば、4 つのエレメントを持つ複合エレメント C を定義したと想定します。 「区切り文字」プロパティーはプラス記号 (+) に設定しました。 複合エレメント P を定義して、 P の「区切り文字」プロパティーをアスタリスク (*) に設定しました。 最初はストリング、2 番目は複合エレメント C、そして 3 番目はストリングと、 3 つのエレメントを P に追加します。
メッセージの特定のインスタンスがブローカーによって受け取られたとき、 P のエレメントはすべて存在していますが、 C のエレメントは最初の 2 つだけが存在しています。 切り捨てメソッドが使用された場合、メッセージのデータは以下のように なります (Pn は P のエレメントの値、Cn は C のエレメントの値です)。
P1*C1+C2*P3
パーサーが 2 番目のアスタリスク区切り文字を検出したとき、 複合エレメント C の最後の 2 つのエレメントが存在しないこと、 および次のエレメントは P の 3 番目のエレメントであることが判別されます。
切り捨てられるエレメントが固定長でなければ、除外と切り捨てのどららでもパーサーが同一の動作を示す場合にのみ、正常に切り捨てを使用することができます。
これは除外メソッドと呼ばれ、欠落した単純エレメントは、2 つの区切り文字にはさまれた空の文字シーケンスで表されます。
例えば、P および C を前述の例のように定義して、 P の「区切り文字」プロパティーをプラス記号 (+) に設定したと想定します。 同じメッセージをブローカーが受け取ったとき (P のすべてのエレメントが存在し、 C の最初の 2 つのエレメントが存在する)、メッセージ内のデータは以下のようになります。
P1+C1+C2++P3
複合エレメント C の欠落しているエレメントに対する 2 つの区切り文字が、メッセージ・データ内に挿入されました。 もしも切り捨てメソッドが使用されたとすると、パーサーはデータ値 P3 を複合エレメント P の 3 番目の エレメントとしてではなく、複合エレメント C の 3 番目のエレメントとして解釈することになります。