跳轉到主要內容
編譯 Extraction Rules 活動以驗證元素屬性與搜尋條件,然後將活動與文件進行比對,以定位物件並驗證其偵測結果的準確性。 Extraction Rules 活動會進行編譯,以檢查用於指定影像物件搜尋條件的元素屬性是否有效。

編譯檢查

會執行下列檢查:
  1. 元素屬性。 用於指定物件參數與搜尋區域的元素屬性只能連結到位於正在搜尋之元素上方的 Search Elements 樹中的元素。若不符合此條件,程式會指出無效的元素。
  2. 欄位屬性。 欄位屬性不得包含指向已排除元素或不存在元素的連結。
  3. FlexiLayout 語言中的正則運算式
    • 程式碼不得包含任何語法錯誤。
    • Search Conditions 區段中指定的額外條件只能參照位於正在搜尋之元素上方的 Search Elements 樹中所描述的元素。在 Hypotheses Evaluation 區段中指定的額外條件只能參照正在搜尋的元素本身以及在 Search Elements 樹中位於其上方的元素。
    • 程式碼中使用的所有全域常數都必須已定義。
    • 程式碼中使用的所有變數都必須已定義並完成初始化。
    • 程式碼本身只能呼叫在該特定程式碼區段中可用的實體。
    • 一種類型的元素不得被指派另一種類型元素的屬性(例如 Static Text 不能具有 Max width 屬性)。
當您離開活動編輯器,或按一下 MatchTest Activity 時,Extraction Rules 活動會自動編譯。若在編譯期間偵測到任何錯誤,就無法繼續進行比對。任何具有錯誤的搜尋元素都會以錯誤圖示標示。將滑鼠游標停留在此圖示上即可查看詳細的錯誤說明。若要繼續,您必須更正這些錯誤,並確保您的活動符合上述條件。

比對流程

比對 是一個過程,Advanced Designer 會尋找符合元素屬性中指定條件的影像物件。程式會依序沿著 Search Elements 樹狀結構向下搜尋,嘗試定位所有由各元素所描述的物件。

比對範例

假設我們有一個群組元素 A,由兩個簡單元素 ab 組成,另有一個群組元素 B,由元素 aabb 組成。再進一步假設,我們另外有兩個簡單元素 cd。元素 Acd 位於相同的巢狀層級。在比對 Extraction Rules 活動時,程式會嘗試依下列順序尋找對應的物件:abaabbcd
Element A
    Element a
    Element b
    Element B
        Element aa
        Element bb
Element c
Element d
如果程式能找到與所有必要元素對應的物件,比對就會成功。若程式未能偵測到任一必要物件,比對將會停止,您必須編輯該活動。

比對命令

若要對 Extraction Rules 活動執行比對,您可以使用下列其中一個命令:
  • Match 會將活動與所選文件進行比對,但不會在 Activity Editor 的 Results 索引標籤中顯示結果。此方法可在偵錯活動時使用,以檢查特定元素屬性的有效性。
  • Test Activity 會將活動與活動集中的每個文件進行比對。比對結果會顯示在統計資訊中,並用來比較目前版本的 Extraction Rules 活動與其先前版本的比對品質。
注意: Extraction Rules 活動的編譯與比對狀態會顯示在通知記錄中(可按一下右上角的鐘形圖示開啟)。您可以使用通知記錄,按一下對應的通知以導覽至比對結果。

驗證活動

若要快速檢查擷取規則活動是否有錯誤,請按一下「更多」圖示,然後按一下 Verify Activity。擷取規則活動會被編譯,但不會執行比對。