Skip to main content
條件對映編輯器支援向目標節點新增條件,以便僅在條件為真時它們才包含在輸出文件中。該編輯器還允許根據源的值設定目標節點的值。可以透過新增單個規則和/或規則組來構建複雜的條件,然後指定滿足條件時對映應採取的操作。 要開啟編輯器,請將滑鼠懸停在目標文件中的節點上,然後單擊過濾器 filter 圖示。 為條件命名,然後單擊新增規則新增組 構建規則時,請使用下拉功能表進行選擇。可以從以下選項中進行選擇:
  • 輸入 XML
    • 值:正在評估的 XPath 處的值
    • 值型別:值的資料型別(字串、數字、日期時間)
  • 訊息頭
    • 值:正在評估的訊息頭的值
    • 值型別:值的資料型別(字串、數字、日期時間)
    • 出現次數:XPath 在文件中出現的次數
    • 索引:表示正在評估的 Foreach 迴圈當前迭代的索引
  • 變數
    • 值:被評估變數的值
    • 值型別:值的資料型別(字串、數字、日期時間)
為條件選擇 XPath 時,編輯器會顯示文件的樹形表示形式,以便可以輕鬆找到所需的 XPath,如下圖所示。 可以對規則和組重新排序。單擊手柄 handle 並將物件拖動到新位置。 完成條件定義後,使用運算子右側的文字方塊指定滿足條件時應發生的情況。 選擇以下狀態:
  • 成功
  • 警告
  • 錯誤
選中傳送通知並填寫傳送給主題欄位,以傳送有關條件狀態的電子郵件。
單擊配置警示開啟新的瀏覽器索引標籤,可以在設定頁面的警示索引標籤上設定電子郵件設定。如果這些配置不正確,電子郵件通知將失敗。
最後,使用文字方塊的 Else 部分來指定當條件不滿足時應該發生什麼。 使用 否則,將操作設定為 下拉式清單選擇是否:
  • 排除元素,從對映中完全排除元素
  • 對映值,無論如何都對映該值
  • 分配不同的值,分配不同的值(儲存條件後定義為運算式或自定義指令碼)
狀態和通知選項的工作方式與頂部部分相同。 儲存條件時,它會出現在對映編輯器中,並且其行為方式與對映中任何其他葉節點相同。可以從源端拖放元素,為其編寫運算式或自定義指令碼等。 條件邏輯也可以使用前瞻語法來實現。父元素通常由子元素限定,子元素會為父元素中的值提供上下文。在這些情況下,使用前瞻語法可能比建立多個條件來排除不需要的值更容易。有關使用前瞻語法的更多詳細資訊,請參閱前瞻

指令碼模式

可以使用 ArcScript 語法來指定自定義條件,只需開啟右上角的“指令碼模式”開關即可。

對映條件中的指令碼模式

開啟指令碼模式後,使用視窗編寫自定義條件,然後使用頁面右側的選項,按照上述方法操作:
  • 設定訊息的狀態
  • 傳送通知
  • Else 條件新增到對映中,包括在不滿足條件時從對映中排除元素
  • 編輯器會在輸入時驗證條件。如果看到無效條件訊息,則表示存在某種語法問題,需要解決。
  • 如果建立的 ArcScript 條件無法在設計器中呈現,則當切換回設計器模式時,系統會警告 無法在設計器模式下呈現此配置。如果切換到設計器模式,將丟失對現有配置的所有更改。
自定義條件編輯器的一種常見用途是比較源文件中的兩個動態值(而不是將單個動態值與靜態值進行比較)。 例如,可以使用以下自定義條件來檢視源 XML 中的兩個值是否相等: '[xpath(element1)]' == '[xpath(data/element2)]'
上例中的單引號是必需的。
還可以使用 ArcScript 格式化器在自定義條件中執行布林邏輯,如下例所示: [xpath(element1) | equals([xpath(data/element2])])] 請注意,此語法不需要單引號。 有關所有 ArcScript 格式化器的詳細資訊,請參閱格式化器