RuleID

:RuleID("ID") 

このコマンドはオプションです。

ルールを作成するときに、このコマンドを使用してそのルールに ID を割り当てることができます。ID は、:RuleID("ID") を付加することによって指定します。ここで "ID" は、ルールに付与する英数字の識別子です。ルールに識別子を割り当てない場合は、Spectrum™ Technology Platform が数値 ID をそのルール用に生成します。複数のルールが存在する場合は、実行順序に基づいて連続する番号が割り当てられます ("1"、"2"、"3" など)。

例:

%IgnoreCase;
%InputField("Name");
%OutputFields("FirstName", "LastName", "FirstName2", "LastName");

<root>=<FirstName><LastName> :RuleID("Name") |
		<FirstName> '&' <FirstName2> <LastName> :RuleID("CompoundName");
							
<FirstName>=@Table("Given Names");
<FirstName2>=@Table("Given Names");
<LastName>=@Table("Family Names");

上の例では、ルート ルールに 2 つのルールが含まれています。RuleID "Name" が付与された最初のルールは、FirstName と LastName をマッチングします: <FirstName><LastName> :RuleID("Name")

RuleID "CompoundName" が付与された 2 つめのルールは、FirstName と LastName をマッチングしますが、FirstName2 も含みます: <FirstName> '&' <FirstName2> <LastName> :RuleID("CompoundName")

これらのルールの出力は、以下のようになります。

次に、ユーザ定義 RuleID を持たないグラマーの例を示します。
%IgnoreCase;
%InputField("Name");
%OutputFields("FirstName", "LastName", "FirstName2", "LastName");

<root>=<FirstName><LastName> |
		<FirstName> '&' <FirstName2> <LastName> ;
							
<FirstName>=@Table("Given Names");
<FirstName2>=@Table("Given Names");
<LastName>=@Table("Family Names");

これらのルールの出力は、以下のようになります。

このコマンドを使用するには、次の手順に従います。

  1. コマンドを挿入する場所にカーソルを位置付けます。
  2. [コマンド] リストの [:RuleID] をダブルクリックします。
  3. テキスト ボックスに英数字の値を入力します。
  4. [OK] をクリックします。