資料管理能力 > 管理零件結構 > Windchill 選項及變體功能 > 使用選項篩選器篩選可供配置產品結構 > 標準與替代選項篩選器 > 自訂選項篩選委派的篩選行為 > 配置標準與替代行為
  
配置標準與替代行為
您可以為每種方法提供一個組態檔案,來自訂「標準」與「替代」選項篩選器的行為。組態檔案會在考量下列條件的情況下,指定篩選模組變體的條件:
指定的篩選類型:
標準
全域替代
父/子類型組合
指派運算式的位置:
在項目上
在使用關係連結上
在出現位置上
已指派運算式的評估結果:
TRUE
FALSE
未定義
WT_HOME/wt.properties 檔案中的內容之下註冊兩個組態檔案:
ato.filter.strategy.1 - 針對標準行為
ato.filter.strategy.2 - 針對替代行為
wt.properties 檔案中現成的內容值如下:
ato.filter.strategy.1=$(wt.home)/codebase/com/ptc/windchill/option/filter/StandardFilterStrategy.xml
ato.filter.strategy.2=$(wt.home)/codebase/com/ptc/windchill/option/filter/AlternateFilterStrategy.xml
自訂 XML 剖析器
任何「選項」篩選組態檔案的根元素都是 FilterStrategy。它的唯一屬性是 "handler",此屬性的值是剖析 XML 檔案之類別的完全合格名稱,且其會從 com.ptc.windchill.option.filter 封裝產生物件 FilterStrategy 的實例。具體而言,XML 處理常式必須使用定義的單一方法實行介面 com.ptc.windchill.option.filter.FilterStrategyhandler,並穿過 XML 檔案的根元素 FilterStrategy,如下列範例所示。
public FilterStretegy loadfilterStrategyHandler(org.w3c.dom.Element e);
此屬性可讓您為建立自訂篩選器策略提供您自己的 XML 格式。不過在大多數情況下,針對 OOTB XML 格式使用標準處理常式 com.ptc.windchill.option.filter.DefaultFilterStrategyHandler 就足夠了。標準處理常式定義為:
com.ptc.windchill.option.filter.DefaultFilterStrategyhandler
標準 XML 組態檔案的格式
根元素 FilterStrategyFilterNode 組成,其包含指定物件類型的運算式評估原則。
FilterNode 元素具有下列屬性,這些屬性完全描繪出了參與篩選流程之導覽單位節點物件的特徵:
屬性
定義與值
type
可篩選或支援物件的類型或類別類型。
parentType
可篩選物件之父物件的類型或類別類型。
childType
可篩選物件之已解決子物件的類型或類別類型。
例如,在通常情況下,可篩選物件是 WTPartUsageLink 的實例。其父物件是使用關係連結的父 WTPart,其子物件是使用關係連結之子 WTPartMaster 的已解決 WTPart。請注意,您至少必須指定 "FilterNode" 元素三個屬性中的其中一個屬性。會以在 XML 檔案中指定的順序比對篩選器節點與節點物件。這會傳回第一個相符原則。
運算式原則
每個 FilterNode 元素必須擁有一或兩個基本與/或進階 ExpressionPolicy 子元素。
ExpressionPolicy 元素擁有下列描述原則是適用於基本運算式,還是進階運算式的屬性,以及根據進階運算式是否存在及其值篩選結構節點的條件,如下表所示。
屬性
定義與值
進階
指定原則是適用於進階運算式 (如果值為 TRUE),還是適用於基本運算式 (如果值為 FALSE)。
模式
篩選出節點之條件的清單。模式可列出下列一或多個常數:
常數
描述
標準
當運算式值為 FALSE 時,會篩選出節點。
未定義
當運算式值為 UNDEFINED 時,會篩選出節點。
基本運算式的模式屬性
基本運算式的模式屬性如下:
屬性
定義與值
標準
選擇的標準篩選 (基本運算式) 與根據進階運算式進行篩選不同。在以選擇為基礎的演算法中,會將指派給可篩選物件 (使用關係連結) 的選擇與結束節點 (子零件) 物件組合在一起,然後以組合集合的形式與篩選器中的使用者選取項集進行比對。
未定義
如果您考慮其選擇已指派給物件的選項集,則只有在篩選器包含來自這個沒有使用者選取項之集合的選項時,模式為 UNDEFINED。