「データ・エレメント分離」をメソッド「データ・パターンの使用」に設定すると、文字セットまたはストリング・セットのうちの 1 つで区切られたフィールドを持つメッセージを構文解析することができます。
例えば、区切り文字として ';' または '/' のいずれかの文字を使用できる 2 つの数値フィールドをもった単純なメッセージを考慮してみます。使用できるアプローチには、次の 2 とおりがあります。
Composition = Sequence Data Element Separation = Use Data Pattern FieldA Data Pattern = [0-9]* Delim Data Pattern = [;/] optionally with a default value. FieldB Data Pattern = [0-9]*
構文解析後のエレメント FieldA および FieldB には、数字 0 - 9 の中の任意の数字が入り、エレメント Delim には ";" または "/" が入っています。
Composition = Choice Data Element Separation = Use Data Pattern SubType1 Data Pattern = [0-9]*;[0-9]* (Composition = Sequence Data Element Separation = All Elements Delimited Delimiter = ';') FieldA FieldB SubType2 Data Pattern = [0-9]*/[0-9]* (Composition = Sequence Data Element Separation = All Elements Delimited Delimiter = '/') FieldA FieldB
これらの正規表現では、メッセージ内に出現する可能性のある 2 つのオプションが区別され、それらは通常の区切られた構造として構文解析されます。 構文解析後のエレメント FieldA および FieldB にはそれぞれ数字 0 - 9 の中の任意の数字が入っています。入力メッセージ内で検出された区切り文字はエレメント内に保管されません。
このアプローチを洗練するには、子に別々の名前を使うか、または SubType1 および SubType2 に別々のエレメントを使って、どの区切り文字が使用されるかを知らせたり、どの区切り文字を出力メッセージに組み込むかを制御したりすることができます。