Sun Java System Messaging Server 6 2005Q4 管理ガイド

SMS マッピングテーブルの例

例 D–1 に、SMS_TEXT マッピングテーブルの例を示します。各行の終わりにある括弧の中の数字は、このテーブルのあとに示す 「説明テキスト」というタイトルのセクションでの項目番号と対応しています。


例 D–1 SMS_TEXT マッピングテーブルの例


SMS_TEXT

   H|From:*        H|F:$0$R$Y       (1)
   H|Subject:*     H|S:$0$R$Y       (1)
   H|F:*<*>*       H|F:$1$R$Y       ()
   H|F:*(*)*       H|F:$0$2$R$Y     (2)
   H|F:*"*"*       H|F:$0$2$R$Y     (3)
   H|F:*@*         H|F:$0$R$Y       (4)
   H|%:$ *         H|$0:$1$R$Y      (5)
   H|%:*$          H|$0:$1$R$Y      (5)
   H|%:*$ $ *      H|$0:$1$ $2$R$Y  (6)
   B|*--*          B|$0-$1$R        (7)
   B|*..*          B|$0.$1$R        (7)
   B|*!!*          B|$0!$1$R        (7)
   B|*??*          B|$0?$1$R        (7)
   B|*$ $ *        B|$0$ $1$R       (6)
   B|$ *           B|$0$R           (5)
   B|*$            B|$0$R           (5)

               

説明テキスト

上記の例の SMS_TEXT マッピングテーブルのエントリの説明を以下に示します。

上記の例では、マッピングの反復的適用の実装と制御にメタキャラクタ「$R」が使用されています。これらのマッピングを反復することによって、強力なフィルタリングが実行されます。たとえば、前後に付いている単一のスペースを削除する (6)、または 2 つのスペースを 1 つに削減する (7) という単純なマッピングは、全体として採用された場合に、前後に付いているすべてのスペースを削除し、連続する複数のスペースを単一のスペースに削減するフィルタとなります。このようなフィルタリングによって、各 SMS メッセージのサイズを小さくできます。

  1. これらの 2 つのエントリによって、From: および Subject: ヘッダー行が SMS メッセージに含められます。From: および Subject: は、それぞれ F:S: として略記されます。これら以外のエントリにも、From: および Subject: ヘッダー行にさらに影響を与えるものがあります。

    このエントリは、<...> パターンを含む From: ヘッダー行を角括弧内のテキストのみにします。例:

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    これは、次のように置き換えられます。

    F: jdoe@siroe.com

  2. このエントリは、From: ヘッダー行の (...) パターン内のすべてを包括的に削除します。例:

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    これは、次のように置き換えられます。

    F: "John C. Doe" <jdoe@siroe.com>

  3. このエントリは、From: ヘッダー行の "..." パターン内のすべてを包括的に削除します。例:

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    これは、次のように置き換えられます。

    F: <jdoe@siroe.com> (Hello)

  4. このエントリは、From: ヘッダー行のアットマーク (@) の右側にあるものをすべて包括的に削除します。例:

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    これは、次のように置き換えられます。

    F: "John C. Doe" <jdoe@

  5. これらの 4 つのエントリは、メッセージヘッダーと本文の行から前後に付いているスペースを削除します。

  6. これら 2 つのエントリは、メッセージのヘッダーと本文の行の 2 つのスペースを 1 つのスペースに削減します。

  7. これらの 4 つのエントリは、二重になっているダッシュ、ピリオド、感嘆符、および疑問符を一致する文字の単一の不定発生に削減します。これによっても、SMS メッセージのバイト数を節約できます。

エントリの順序は非常に重要です。たとえば、所定の順序で、次のようなメッセージの From: ヘッダー行から始めます。

From: "John C. Doe" (Hello)

これは次のように短縮されます。

jdoe

この結果までの手順は次のとおりです。

  1. 次の From: ヘッダー行から始めます。

    From: "John C. Doe" (Hello)

    最初のマッピングエントリのパターンがこれと一致し、次の結果になります。

    F: "John C. Doe" (Hello)

    結果文字列の「$R」メタキャラクタによって、結果文字列は再度マッピングされます。

  2. 直前の手順の結果文字列にマッピングが適用されます。これによって、次の結果になります。

    F: jdoe@siroe.com

    マッピングの「$R」によって、一連のマッピング全体がこの手順の結果に再び適用されます。

  3. 次に、マッピングが適用され、次の結果になります。

    F: jdoe

    マッピングの「$R」によって、一連のマッピング全体がこの手順の結果に再び適用されます。

  4. 次に、マッピングが適用され、次の結果になります。

    F:jdoe

    マッピングの「$R」によって、一連のマッピング全体がこの手順の結果に再び適用されます。

  5. ほかのエントリは一致しないため、最終的な結果文字列は次のとおりになります。

    F:jdoe

    これが SMS メッセージに取り込まれます。


    注 –

    imsimta test-mapping ユーティリティーを使用してマッピングテーブルをテストすることができます。次に例を示します。


    # imsimta test -mapping -noimage_file -mapping_file=test.txt
    Enter table name: SMS_TEXT
    Input string: H|From: "John C. Doe"  (Hello)
    Output string: H|F:jdoe
    Output flags: [0,1,2,89]
    Input string: ^D
    #

    imsimta test ユーティリティーの詳細については、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』「imsimta test」を参照してください。