高度なカスタマイズ > サービスおよびインフラストラクチャのカスタマイズ > インポートとエクスポートのフレームワーク > ObjectSet アプリケーションによるオブジェクト構造のナビゲーション > ナビゲーション規則 > オブジェクトのナビゲーション
  
オブジェクトのナビゲーション
このメカニズムでは、XML 規則に従った Windchill オブジェクトの "ナビゲータ" を使用します。シード (トップレベル) オブジェクトを与えると、指定された規則を使用してオブジェクト間を移動します。ナビゲーションは、DB リンク、外部キー、または指定されたメソッドを使用して実行できます。以下に WTPart の規則定義の例を示します。シードは Folder オブジェクトです。
<Windchill>\codebase\registry\ixb\object_set_handlers\product_struct.xml
<handler>
wt.ixb.objectset.handlers.navigator.ProductStructureNavigator
</handler>
...
<schema>
...
<rule>
<for>wt.part.WTPart</for>
<go>
<byMethod>
<method>navigateFromWTPartToDescribeByDoc</method>
</byMethod>
</go>
</rule>
<rule>
<for>wt.part.WTPartDescribeLink</for>
<go>
<fromForeignKey>
<targetClass>wt.doc.WTDocument</targetClass>
<getMethodName>getDescribedBy</getMethodName>
</fromForeignKey>
</go>
</rule>
...
</schema>
上記の例には使用可能な両方のタイプのナビゲーションが示されています。ナビゲートメソッドを使用して WTPart から wt.part.WTPartDescribeLink に移動し、そこからメソッド getDescribedBy を使用して WTPart を説明する WTDocument を取得します。これにより、重要なセマンティック手順を実行できます。
オブジェクトを収集した後、定義済みのフィルタセットを使用してオブジェクトを除外できます。フィルタ定義は、同じオブジェクト設定レジストリに保存されています。以下に、日付/時刻フィルタの例を示します。
<Windchill>\codebase\registry\ixb\object_set_handlers\ filter_by_time.xml
<setFilter>
<id>filterByTime</id>
<handler>wt.ixb.objectset.handlers.FilterByTime</handler>
<dialogClassName>
wt.clients.ixb.exp.FilterByTimeDialog
</dialogClassName>
<localizedName>
<localizedString>
<class>wt.ixb.objectset.objectSetResource</class>
<key>FILTER_BY_TIME_NAME</key>
</localizedString>
</localizedName>
<parameters>
</parameters>
</setFilter>
オブジェクト収集と同様に、フィルタメカニズムも StandardIXBService レベルでエクスポートアプリケーションと組み合わされます。分離も可能です。