カルチャーのグラマー ルールの定義

カルチャーのグラマー ルールを使用すると、グローバル カルチャーのパーシング グラマーの一部を、カルチャーや言語に特有の文字列、コマンド、または式で置き換えることができます。グラマー ルールを定義することで、グローバル カルチャーのパーシング グラマーの一部をレコードのカルチャーや言語に基づいてカスタマイズできます。これは、カルチャーごとにまったく別のパーシング グラマーを作成せず、代わりにグローバル カルチャーのグラマーを使用してカルチャーごとにグローバル カルチャー グラマーの特定の部分のみをカスタマイズする場合に役立ちます。

このトピックでは、カルチャーのグラマー ルールを作成する方法について説明します。

  1. Enterprise Designer で、[ツール] > [Open Parser ドメインエディタ] を選択します。
  2. [カルチャー] タブをクリックします。

    サポートされている全カルチャーの一覧は、レコードへのパーシング カルチャーの割り当てを参照してください。

  3. グラマー ルールを追加するカルチャーを選択し、[プロパティ] をクリックします。
  4. [グラマー ルール] タブをクリックします。表示される情報には、選択したカルチャーおよび関連付けられたソース カルチャー用に定義されたグラマー ルール名、定義済みのグラマー ルールの値、説明などがあります。
  5. [追加] をクリックします。
  6. [名前] フィールドにグラマー ルールの名前を入力します。
  7. [説明] フィールドにグラマー ルールの説明を入力します。
  8. [値] フィールドにグラマー ルールを入力します。

    グラマー ルールは、任意の有効な変数、文字列、コマンド、またはグループ化した式です。詳細については、グラマーを参照してください。

  9. テキスト ボックスの値をスクロールせずに表示するには、[右端での折り返しを有効にする] を選択します。
  10. [OK] をクリックします。

    入力したグラマー ルールの値が検証されます。値にグラマー構文のエラーが含まれる場合は、発生したエラーの説明、エラーが発生した行と列、エラーが発生したコマンド、グラマー ルール、または Regex タグに関するメッセージが表示されます。

グラマー ルールの例

欧米の名前をパースするグラマーがあります。おそらくパターンの構造はすべてのカルチャーで同じであり(<FirstName><MiddleName><LastName>)、ルールの多くは同じパターンまたはテーブルにマッチする可能性があります。ただし、姓についてカルチャー固有のテーブルもあるので、レコードのカルチャー コードに基づいて適切なテーブルを使用することもできます。

そのために、グローバル カルチャー内の <LastName> 要素をカルチャー固有のテーブルへの参照で置き換えた、各カルチャーのグラマー ルールを定義することができます。例えば、オランダの姓のテーブルがある場合、オランダ (nl) のカルチャーのグラマー ルールを次のように作成します。

[名前]: LastName
[説明]: オランダの姓
[値]: @Table("Dutch Last Names");