Datenverwaltungsfunktionen > Teilestrukturen verwalten > WindchillOptions- und Variantenfunktionen > Konfigurierbare Produktstrukturen mit dem Optionenfilter filtern > Standardmäßiger und alternativer Optionenfilter > Filterverhalten für den Optionenfilter-Delegate anpassen > Standard- und Alternativverhalten konfigurieren > Konfigurationsdatei für benutzerdefiniertes Filtern – Beispiel
  
Konfigurationsdatei für benutzerdefiniertes Filtern – Beispiel
In diesem Szenario hat ein Benutzer die Untertypen eines WTPart (ABCPart, CBSPart und NBCPart) sowie den Untertyp "FOXPartUsageLink" von WTPartUsageLink erstellt und die folgende Konfigurationsdatei erzeugt:
<?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>
Die Konfigurationsdatei definiert den Filteralgorithmus mit einfachen und erweiterten Ausdrücken wie folgt. Für einfache Ausdrücke werden die Auswahlmöglichkeiten gesammelt und mit der Auswahlmöglichkeit im Filter nur für das unterstützende Kind-Teil des Verwendungs-Links abgeglichen, wenn sie den Typ ABCPart oder NBCPart aufweisen. Auswahlmöglichkeiten von Verwendungs-Links und Kind-Teilen anderer Typen werden ignoriert. Es gibt vier Richtlinien für erweiterte Ausdrücke. Sie bedeuten Folgendes (in der Reihenfolge ihres Auftretens in der Datei):
Wenn das Eltern-Teil und das Kind-Teil des Verwendungs-Links den Typ ABCPart aufweisen, filtern Sie den Verwendungs-Link heraus, wenn der Ausdruck FALSE oder UNDEFINED ausgibt.
Wenn das Eltern-Teil und das Kind-Teil des Verwendungs-Links den Typ CBSPart und NBCPart aufweisen, filtern Sie den Verwendungs-Link heraus, wenn der Ausdruck FALSE oder UNDEFINED ausgibt.
Wenn das Elementteil (Kind) den Typ ABCPart aufweist, filtern Sie den Verwendungs-Link heraus, wenn der Ausdruck FALSE ausgibt.
Wenn der Verwendungs-Link den Typ FOXPartUsageLink aufweist, filtern Sie den Verwendungs-Link heraus, wenn weder dem Verwendungs-Link noch seinem Kind-Teil ein einfacher oder erweiterter Ausdruck zugewiesen ist.
Wenn ein Vorkommen für einen Verwendungs-Link zwischen den Teilen der Typen CBSPart und NBCPart keinen zugewiesenen Ausdruck aufweist, filtern Sie das Vorkommen heraus.