別のルールセットから辞書フィールドを参照する

あるルール・セットのディクショナリ・フィールドを別のルール・セットで使用できる。 他のルールセットを参照して、どのパターンを使うべきかを判断するのに役立つテストケースを作成するとよいだろう。

参照構文は以下の通り: {<DictionaryFieldName> OF <RuleSetName>}.

標準化ステージでは、以前に処理したルールセットの辞書フィールドから条件とアクションを確認し、現在のルールセット内の同じパターンに対して異なるアクションセットが必要かどうかを判断できます。 参照されるルールセットと参照するルールセットの両方が、同じ Standardize ステージで指定されていることを確認する必要があります。 参照するルールセットが、ルールセットのステージ・プロパティ・リストにおいて、参照するルールセットの前にあることを確認する。 たとえば、USADDRがUSAREAを参照している場合、USAREAルールセットは、Standardizeステージの Properties ウィンドウのルールセットのリストでUSADDRを続行する必要があります。

areaとaddressという2つのルールセットのドメインは、より多くの例を提供することができる。 住所はエリアとは無関係に処理される。 この例では、CAAREAルールセットが、関連する州としてケベック州を生成するかどうかをチェックする。 ケベック州がカナダの州である場合、CAADDRに、カナダの他の州のアドレス・パターンの処理方法とは異なる方法でアドレスを処理させたい。

CAADDRルールセットでCAAREA辞書フィールドを参照する。 標準化の段階では、CAAREAが定義され、CAADDRの前にリストされていることを確認する。

CAADDR.PAT ファイルでは、パターンが辞書フィールドの内容をチェックし、 ProvinceAbbreviation of CAAREAQC。 以下のパターンは、CAADDRで参照を作成する方法を示している:

^ | T | ? | $  [ {ProvinceAbbreviation OF CAAREA} ="QC" ]
COPY [1] {CivicNumber}
COPY_A [2] {StreetSuffixType}
COPY_S [3] {StreetName}
RETYPE [1] 0
RETYPE [2] 0
RETYPE [3] 0
RETURN

先のパターンは、ケベック州では、( CAADDR.CLS で定義され、Tで表される)ストリート・タイプが、マッチングを容易にするために、 StreetSuffixType, に移動することを指定している。

その後、その他のカナダの州については、ストリートタイプは StreetPrefixType に移動する。
^ | T | ? | $
COPY [1] {CivicNumber}
COPY_A [2] {StreetPrefixType}
COPY_S [3] {StreetName}
RETYPE [1] 0
RETYPE [2] 0
RETYPE [3] 0
RETURN

カナダの住所は次のようになる:498 Rue Bordeaux. ルールセットからの出力は以下のようになる:

ケアリア CivicNumber StreetPrefixType StreetName StreetSuffixType
Quebec 498   ボルドー ヘンルーダ
カナダの他の州 498 ヘンルーダ ボルドー