カスタムフィルタのコンフィギュレーションファイルの例
このシナリオでは、ユーザーが WTPart のサブタイプ (ABCPart、CBSPart、NBCPart) および WTPartUsageLink のサブタイプ FOXPartUsageLink を作成し、次のコンフィギュレーションファイルを作成しました。
<?xml version="1.0" encoding="UTF-8"?>
<FilterStrategy handler="com.ptc.windchill.option.filter.DefaultFilterStrategyHandler">
<FilterNode type="wt.option.ExpressionAssignable" parentType="wt.part.ABCPart" childType="wt.part.ABCPart">
<ExpressionPolicy advanced="true" mode="STANDARD,UNDEFINED"/>
</FilterNode>
<FilterNode parentType="wt.part.CBSPart" childType="wt.part.NBCPart">
<ExpressionPolicy advanced="true" mode="STANDARD,UNDEFINED "/>
</FilterNode>
<FilterNode type="wt.part.ABCPart">
<ExpressionPolicy advanced="true" mode="STANDARD "/>
</FilterNode>
<FilterMissingExpression type="wt.part.FOXPartUsageLink"/>
<FilterMissingExpression type="wt.part.PartUsesOccurrence" parentType=”wt.part.CBSPart” childType=”wt.part.NBCPart”/>
</FilterStrategy>
このコンフィギュレーションファイルは、次のように基本定義式と高度な定義式を使用してフィルタアルゴリズムを定義しています。基本定義式では、親子リンクの ABCPart または NBCPart タイプのサポートしている子部品についてのみ、選択肢が収集されてフィルタ内の選択と照合されます。親子リンクおよびその他のタイプの子部品の選択肢は無視されます。高度な定義式には 4 つのポリシーがあります。ファイルにリストされている順に、次のような意味があります。
• 親子リンクの親部品と子部品のタイプが ABCPart である場合、その定義式の評価結果が FALSE または UNDEFINED であればその親子リンクはフィルタによって除外されます。
• 親子リンクの親部品のタイプが CBSPart で子部品のタイプが NBCPart である場合、その定義式の評価結果が FALSE または UNDEFINED であればその親子リンクはフィルタによって除外されます。
• アイテム (子) 部品のタイプが ABCPart である場合、その定義式の評価結果が FALSE であればその親子リンクはフィルタによって除外されます。
• 親子リンクのタイプが FOXPartUsageLink である場合、親子リンクとその子部品のいずれにも基本定義式と高度な定義式が割り当てられていない場合にのみ、その親子リンクがフィルタによって除外されます。
• CBSPart タイプの部品と NBCPart タイプの部品の間の親子リンクのオカレンスに定義式が割り当てられていない場合、そのオカレンスはフィルタによって除外されます。