ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus開発者ガイド
11gリリース1 (11.1.1.6.2)
B61435-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

19 操作方法

この章では、Format Builderで一般的なタスクを実行する方法について説明します。

この項には次のトピックが含まれます:

19.1 メッセージ・フォーマットの作成

メッセージ・フォーマット定義ファイルを作成するには、まず、メッセージ・フォーマット(メッセージ・フォーマット・ファイルのルート・ノード)を作成します。

メッセージ・フォーマットを作成するには、次の手順を実行します。

  1. 「ファイル」「新規」を選択します。メッセージ・フォーマットの詳細ウィンドウが右ペインに表示されます。

  2. フィールドに適切なデータを入力します。フィールドの定義については、「メッセージ・フォーマットの詳細ウィンドウ」を参照してください。

19.2 グループの作成

グループは、何らかの関連がある複数のフィールドを定義します(たとえば、PAYDATEフィールド、HOURSフィールド、RATEフィールドをPAYINFOグループに入れることができます)。グループを、メッセージ・フォーマット項目の子、別のグループの子、あるいはグループまたはフィールドの兄弟として作成できます。

グループを作成するには、次の手順を実行します。

  1. 左ペインのツリー・ビューで項目を選択します。

  2. メッセージ・フォーマットまたは別のグループの子としてグループを作成する場合、「挿入」「グループ」子としてを選択します。別のグループまたはフィールドの兄弟としてグループを作成する場合、「挿入」「グループ」兄弟としてを選択します。グループの詳細ウィンドウが右ペインに表示されます。

  3. フィールドに適切なデータを入力します。フィールドの定義については、「グループの詳細ウィンドウ」を参照してください。

  4. 「適用」をクリックしてメッセージ・フォーマット・ファイルへの変更を保存するか、「リセット」をクリックして詳細ウィンドウへの変更を破棄し、すべてのフィールドを最後に保存された値にリセットします。


    注意:

    「適用」ボタンと「リセット」ボタンは、詳細パネルのコンポーネントを変更するまで使用できません。


19.3 フィールドの作成

フィールドとは、アプリケーションにとって何らかの意味を持つバイト・シーケンスです(たとえば、フィールドEMPNAMEには、従業員名が入力されます)。フィールドは、メッセージ・フォーマット項目の子、グループの子、あるいはグループまたは別のフィールドの兄弟として作成できます。

フィールドを作成するには、次の手順を実行します。

  1. 左ペインのツリー・ビューで項目を選択します。

  2. メッセージ・フォーマットまたはグループの子としてフィールドを作成する場合、「挿入」「フィールド」子としてを選択します。別のグループまたはフィールドの兄弟としてグループを作成する場合、「挿入」「フィールド」兄弟としてを選択します。フィールドの詳細ウィンドウが右ペインに表示されます。

  3. フィールドに適切なデータを入力します。フィールドの定義については、「フィールドの詳細ウィンドウ」を参照してください。

  4. 「適用」をクリックしてメッセージ・フォーマット・ファイルへの変更を保存するか、「リセット」をクリックして詳細ウィンドウへの変更を破棄し、すべてのフィールドを最後に保存された値にリセットします。


    注意:

    「適用」ボタンと「リセット」ボタンは、詳細パネルのコンポーネントを変更するまで使用できません。


19.4 コメントの作成

コメントは、メッセージ・フォーマットまたはメッセージ・フォーマットによって変換されるデータについてのメモです。コメントはメッセージ・フォーマット定義に含まれますが、情報提供のみを目的とします。コメントは、任意のメッセージ・フォーマット、グループ、またはフィールドの子または兄弟として作成できます。

コメントを作成するには、次の手順を実行します。

  1. 左ペインのツリー・ビューで項目を選択します。

  2. 選択した項目の子としてコメントを作成する場合、「挿入」「コメント」子としてを選択します。選択した項目の兄弟としてコメントを作成する場合、「挿入」「コメント」兄弟としてを選択します。コメントの詳細ウィンドウが右ペインに表示されます。

  3. 必要なコメント・テキストを入力します。詳細は、「コメントの詳細ウィンドウ」を参照してください。

  4. 「適用」をクリックしてメッセージ・フォーマット・ファイルへの変更を保存するか、「リセット」をクリックして詳細ウィンドウへの変更を破棄し、すべてのフィールドを最後に保存された値にリセットします。


    注意:

    「適用」ボタンと「リセット」ボタンは、詳細パネルのコンポーネントを変更するまで使用できません。


19.5 参照の作成

参照では、データを再入力しないで、事前に定義したフィールドまたはグループ・フォーマットの記述を再使用することを指定します。参照フィールドまたは参照グループのフォーマットは元のフィールドまたはグループと同じですが、参照フィールドまたは参照グループのOptional設定とOccurrence設定だけは変更できます。たとえば、「請求先」住所と「届け先」住所がデータに含まれ、その住所フォーマットが同じである場合、住所フォーマットの定義は1回で済みます。「請求先」住所定義を作成し、「届け先」住所には参照を作成します。


注意:

参照には、元の項目と同じ名前が付けられます。たとえば、「請求先」住所定義と「届け先」住所定義には同じ名前が付けられます。グループ定義を再使用する場合、汎用的なグループを作成し、そのグループを特定のグループに埋め込みます。たとえば、前の例では、「請求先」グループ内に「住所」グループを作成し、「届け先」グループ内で「住所」グループを参照します。


参照を作成するには、次の手順を実行します。

  1. ツリー・ペインでフィールドまたはグループを選択します。

  2. 「編集」「コピー」を選択します。

  3. ツリーで正しい兄弟を選択します。

  4. 「編集」「貼付け」参照としてを選択します。

  5. フィールドに適切なデータを入力します。フィールドの定義については、第13章「参照の詳細ウィンドウ」を参照してください。

  6. 「適用」をクリックしてメッセージ・フォーマット・ファイルへの変更を保存するか、「リセット」をクリックして詳細ウィンドウへの変更を破棄し、すべてのフィールドを最後に保存された値にリセットします。


    注意:

    「適用」ボタンと「リセット」ボタンは、詳細パネルのコンポーネントを変更するまで使用できません。


19.6 ドキュメントの保存

メッセージ・フォーマット・ファイルを初めて保存する場合は、以下の手順を実行します。

  1. 「ファイル」「別名保存」を選択します。「別名保存」ダイアログが表示されます。

  2. ファイルの保存先のディレクトリに移動します。

  3. 「ファイル名」テキスト・ボックスに、ファイルに割り当てる名前を入力します。

  4. 拡張子が指定されていない場合、Format Builderによって自動的に拡張子.MFLがメッセージ・フォーマット・ファイルに割り当てられます。

  5. 「別名保存」をクリックして、ファイルを指定した場所に指定した名前と拡張子で保存します。

同じ名前でメッセージ・フォーマット・ファイルを保存する場合、「ファイル」「保存」を選択します。ファイルは同じ場所に同じ名前と拡張子で保存されます。

別の名前でメッセージ・フォーマット・ファイルを保存する場合、「ファイル」「別名保存」を選択して上記のステップ1から5に従います。

19.7 Format Testerの使用

Format Testerでは、データを解析して再フォーマットする検証テストを行います。Format Testerを使用して、Format Builderで構築中のメッセージのフォーマットに問題がないことを確認します。

Format TesterはFormat Builderから使用できます。

Format Testerを起動するには、次の手順を実行します。

  1. Format Builderでメッセージ・フォーマット・ドキュメント(MFLファイル)を開きます。


    注意:

    Format Testerを実行するには、Format Builderでメッセージ・フォーマット・ドキュメントが開いている必要があります。


  2. Format Builderのメニュー・バーでツール「テスト」を選択します。

  3. Format Testerダイアログ・ボックスが表示されます。


    注意:

    Format Testerでは、現在ロードされているメッセージ定義ドキュメントが使用されます。


    詳細は、第17章「Format Tester」を参照してください。

19.8 フォーマット定義のデバッグ

19.9 値の検索

検索機能を使用して、非XMLデータ内の16進値やテキスト値を検索できます。

値を検索するには、次の手順を実行します。

  1. Format Tester内で「ファイル」非XMLを開くを選択して、検索する非XMLデータ・ファイルを開きます。

  2. 「編集」「検索」を選択します。「検索」ダイアログが開きます。

  3. フィールドに適切なデータを入力します(詳細は19.9項「値の検索」 を参照してください)。

  4. 「OK」をクリックして検索操作を開始します。

19.10 オフセットの検索

移動機能を使用して、非XMLエディタのカーソルを指定したバイト・オフセットに移動できます。

指定したオフセットに移動するには、次の手順を実行します。

  1. 「編集」「検索」を選択します。移動ダイアログが開きます。

  2. フィールドに適切なデータを入力します(詳細は19.10項「オフセットの検索」 を参照してください)。

  3. 「OK」をクリックして検索操作を開始します。

19.11 デバッグ・ログの使用

デバッグ・ログでは、デバッグ情報をテキスト・ファイルに保存できます。

デバッグ・ログを使用するには、「ファイル」デバッグ・ログを選択します。表示されたダイアログで、デバッグ情報の保存先として新しいパスとファイル名を入力するか、既存のファイルを選択できます。


注意:

既存のファイルを選択した場合、新しいデバッグ情報は、ファイルの最後に追加されます。


19.12 キャラクタ・デリミタ

Format Builderで正しい構文を入力して、デリミタを指定できます。たとえば、タブ文字(\u009)をデリミタとして指定する場合、これに一致する構文\tを入力します。

表19-1 キャラクタ・デリミタ

構文 一致する文字
x

文字x

\\

バックスラッシュ

\0n

8進値0n (<= n <= 7)を含む文字

\0nn

8進値0nn (0 <= n <= 7)を含む文字

\0mnn

8進値0mnn (0 <= m <= 3、0 <= n <= 7)を含む文字

\xhh

16進値0xhhを含む文字

\uhhhh

16進値0xhhhhを含む文字

\t

タブ文字(\u0009)

\n

改行(ライン・フィード)文字(\u000A)

\r

キャリッジ・リターン文字(\u000D)

\f

改ページ文字(\u000C)

\a

アラート(ベル)文字(\u0007)

\e

エスケープ文字(\u001B)

\cx

xに対応する制御文字


詳細は、http://java.sun.com/j2se/1.4/docs/api/java/util/regex/Pattern.htmlを参照してください。

19.13 デリミタの指定

デリミタは参照または値によって指定できます。

可変長のデータ型の終了点をデリミタで指定できます。デリミタとは、フィールドの終わりをマークする文字。フィールド・データはデリミタが見つかるまで続きます。

19.13.1 参照による指定

デリミタ文字を含む1つまたは複数のフィールドを指定します。フィールドが一覧表示されている順序でデリミタのマッチングが行われます。参照フィールド・ボタンをクリックすると、参照フィールドの選択ダイアログ・ボックスが開きます。このダイアログ・ボックスでは、参照フィールドを選択して、デリミタのマッチングを行う順序を設定します。

図19-1 参照フィールドの選択

図19-1の説明が続きます
「図19-1 参照フィールドの選択」の説明

図19-1では、左ペインに参照として使用できるフィールドが表示されます。フィールドをクリックして選択してから、二重矢印ボタンをクリックすると、フィールドが追加されます。フィールドを選択した後に、フィールドの順序を並べ替えることができます。それには、右ペインでフィールドを選択し、上矢印ボタンまたは下矢印ボタンをクリックして、フィールドを上下に移動します。「OK」をクリックします。選択したフィールド名が参照フィールド・ボタンの右側のフィールドに表示されます。図19-2を参照してください。

図19-2 参照フィールド

図19-2の説明が続きます
「図19-2 参照フィールド」の説明

19.13.2 値による指定

1つまたは複数のデリミタを、指定したセパレータ文字で区切って入力します。参照フィールド「値」の両方を指定した場合は、「Ref Fields」の方が優先されます。一致するデリミタが見つからない場合は、指定されたデリミタの値を使用して、デリミタのマッチングが行われます。値とセパレータの例は次のとおりです。

「値」= ,|~|;

セパレータ= |

このフィールドのデリミタはカンマ、ティルダ、またはセミコロンになります。

フィールドが省略可能である場合は、「オプション」チェック・ボックスがデフォルトで選択されて有効になっています。フィールドが存在しない場合でもバイナリ・データにデリミタが含まれるようにするには、「オプション」チェック・ボックスを選択解除する必要があります。

19.14 デリミタの一致ルール

フィールド・データ内に出現したデリミタをスキップして、デリミタではなくフィールド・データとして扱われるように、ルールを指定することができます。たとえば、デリミタ文字が;(セミコロン)で、フィールド・データがA;Bである場合、AとBの間にある;文字は、デリミタではなく、フィールド・データの一部として認識される必要があります。デリミタの一致ルールを指定するために、次のオプションを指定できます。

19.14.1 データ区切り文字

フィールド・データの最初と最後に置かれる文字を指定します。たとえば、Data Delim Charが"(二重引用符)である場合、データは"A;B";となります。図19-3を参照してください。

図19-3 データ区切り文字

図19-3の説明が続きます
「図19-3 データ区切り文字」の説明

19.14.2 エスケープ文字

フィールド・データ内に出現するデリミタの前に置かれるエスケープ文字を指定します。エスケープ文字の値は参照フィールドを通じて取得されます。エスケープ文字フィールドに値を指定します。たとえば、エスケープ文字が\\である場合、データはA\\;B;となります。図19-4を参照してください。

図19-4 エスケープ文字

図19-4の説明が続きます
「図19-4 エスケープ文字」の説明


注意:

そのフィールドが構造内で最後のフィールドでなくても、フィールド・デリミタ、および親構造のすべての共有デリミタがスキップされます。たとえば、次のようなMFL構造を考えてみます。

Root Element
Group1 with shared delimiter *
  Field1 with delimiter ,
  Field2 with delimiter "
Group2 with shared delimiter ~
 Field3 with delimiter ,
Optional field4 with delimiter ~

この例では、Field3データには*、~または,が含まれる可能性があります。これらのデリミタは、そのフィールドがGroup2の最後のフィールドでなくても、指定されたエスケープ文字によってスキップされます。


19.14.3 なし

デリミタの一致ルールが必要ない場合は、このオプションを選択します。