メインコンテンツへスキップ
Extraction Rules アクティビティは、画像オブジェクトの検索条件を指定する際に使用される要素プロパティの妥当性を確認するためにコンパイルされます。

コンパイルチェック

次の項目がチェックされます。
  1. 要素のプロパティ。 オブジェクトのParameterや検索領域を指定するために使用される要素のプロパティは、検索対象の要素より上位にある Search Elements ツリー内の要素のみにリンクする必要があります。満たされない場合、プログラムが無効な要素を示します。
  2. Field のプロパティ。 Field のプロパティには、除外された要素や存在しない要素へのリンクを含めないでください。
  3. FlexiLayout language における正規表現:
    • コードに構文エラーがあってはなりません。
    • Search Conditions セクションで指定された追加条件は、検索対象の要素より上位にある Search Elements ツリー内で記述された要素のみを参照する必要があります。Hypotheses Evaluation セクションで指定された追加条件は、検索対象の要素および Search Elements ツリー内でその要素より上位にある要素のみを参照する必要があります。
    • コードで使用されるすべてのグローバル定数は定義されている必要があります。
    • コードで使用されるすべての変数は定義され、初期化されている必要があります。
    • コードは、そのセクションで利用可能なエンティティのみを呼び出す必要があります。
    • ある型の要素に別の型の要素のプロパティを付与してはなりません(例: Static Text に Max width プロパティを持たせることはできません)。
Extraction Rules アクティビティは、アクティビティエディターを終了する際と、Match または Test Activity をクリックしたときに自動的にコンパイルされます。コンパイルでエラーが検出された場合、マッチングは実行できません。エラーのある検索要素にはエラー icon が表示されます。この icon にマウスカーソルを合わせると、エラーの詳細が表示されます。続行するには、上記の条件を満たすようにエラーを修正してください。

マッチングプロセス

マッチング とは、Advanced Designer が要素のプロパティで指定された条件に合致する画像オブジェクトを検索する処理です。プログラムは Search Elements ツリーを上から順にたどり、要素で定義されたオブジェクトを一つずつ特定していきます。

マッチングの例

シンプル要素 ab の2つからなるグループ要素 A と、要素 aabb からなるグループ要素 B があるとします。さらに、シンプル要素 cd があるとします。要素 Acd は同じネストレベルにあります。Extraction Rules アクティビティでマッチングを行う際、プログラムは次の順序で対応するオブジェクトの特定を試みます:abaabbcd
要素 A
    要素 a
    要素 b
    要素 B
        要素 aa
        要素 bb
要素 c
要素 d
必須要素に対応するオブジェクトをプログラムがすべて検出できれば、照合は成功します。必須オブジェクトのうち少なくとも1つでも検出に失敗した場合、照合は中断され、アクティビティを編集する必要があります。

マッチングコマンド

Extraction Rules アクティビティをマッチングするには、次のいずれかのコマンドを使用します。
  • Match は、Activity Editor の Results タブに結果を表示せずに、選択したドキュメントに対してアクティビティを実行します。アクティビティのデバッグ時に、特定の要素のプロパティの妥当性を確認する用途に適しています。
  • Test Activity は、アクティビティセット内の各ドキュメントに対してアクティビティを実行します。マッチング結果は統計に表示され、Extraction Rules アクティビティの現行バージョンと過去バージョンのマッチング品質の比較に使用されます。
注: Extraction Rules アクティビティのコンパイルおよびマッチングのステータスは、通知ログ(右上のベルアイコンをクリックして表示)に表示されます。該当する通知をクリックすると、通知ログからマッチング結果に移動できます。

アクティビティの検証

抽出ルールのアクティビティにエラーがないかを素早く確認するには、その他のアイコンをクリックし、アクティビティの検証をクリックします。抽出ルールのアクティビティはコンパイルされますが、照合は実行されません。