複数の区切り文字の使用

「データ・エレメント分離」 をメソッド「データ・パターンの使用」に設定すると、文字セットまたはストリング・セットのうちの 1 つで区切られたフィールドを持つメッセージを構文解析することができます。

たとえば、区切り文字として ';' または '/' のいずれかの文字を使用できる 2 つの数値フィールドをもった単純なメッセージを考慮してみます。使用できるアプローチには、次の 2 とおりがあります。

  1. メッセージ・ツリーに追加されるデータ・エレメントとして区切り文字をモデル化します。メッセージが再書き込みされると、入力メッセージのようになります。
    次のようなモデルを考慮してみます。
    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 には ";" または "/" が入っています。

  2. ツリーには追加されない 区切り文字として区切り文字を認識します。メッセージが再書き込みされるときには、望ましい方の区切り文字 (モデル内での指定どおりのもの) が使用されます。
    次のようなモデルを考慮してみます。
    構成 = 選択
    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 に別々のエレメントを使って、どの区切り文字が使用されるかを知らせたり、どの区切り文字を出力メッセージに組み込むかを制御したりすることができます。

関連概念
メッセージのモデル化
メッセージ・モデル
タグ付き/区切りストリング形式: 論理モデルとの関係
関連タスク
メッセージ・モデルの開発
メッセージ定義ファイルの処理
メッセージ・モデル・オブジェクトの処理
関連資料
メッセージ・モデル参照情報
メッセージ・モデル・オブジェクトのプロパティー
追加の MRM ドメイン情報
追加の TDS 情報
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2005 Last updated: 11/07/2005
ad09890_