XML 属性 final と ignore の指定
同じ規則または規則のセットに、final と ignore の両方の属性を指定できます。たとえば、サイトコンテキストで、以下の規則が設定されているとします。
<AttributeValues objType="wt.doc.WTDocument">
<AttrValue id="number" final="true" ignore="true"/>
</AttributeValues>
この規則の例は、関連付けられているすべてのコンテキストでドキュメントが作成されるときに、デフォルトの番号値が設定されないことを示しています。この規則はサイトコンテキストで設定され、final="true" が設定されているので、すべてのコンテキストで使用されます。 子コンテキストでドキュメントフォルダの値にその他の規則が作成された場合、(final="true" 属性が指定されていても) それらの規則は複合規則で使用されません。final="true" を含む親規則が必ず使用されます。
異なるコンテキストで同じオブジェクトタイプと属性値を持つ 2 つの規則が作成され、一方の規則では final="true" が指定され、もう一方の規則では ignore="true" が指定されている場合、final="true" が指定されている規則が優先されます。たとえば、サイトコンテキストで次の規則が設定されているとします。
<AttributeValues objType="wt.doc.WTDocument">
<AttrValue id="number"
algorithm="com.ptc.windchill.enterprise.revisionControlled.server.impl.NumberGenerator" final="true">
<Arg>{GEN:wt.enterprise.SequenceGenerator:WTDOCUMENTID_seq:10:0}</Arg>
</AttrValue>
</AttributeValues>
この規則のフォルダオブジェクトの AttrValue 要素には、オプションの final 属性が含まれます。
さらに、製品コンテキスト (サイトコンテキストの子) で次の規則が設定されているとします。
<AttributeValues objType="wt.doc.WTDocument">
<AttrValue id="number" ignore="true"/>
</AttributeValues>
これら 2 つの規則をマージして複合規則を形成すると、製品コンテキスト内で作成されたドキュメントに、サイトコンテキスト内で定義されたのと同じ番号値が設定されます。これは、サイトコンテキストで設定されている規則では final="true" が指定され、生成された番号がこの規則によって番号引数として設定されるためです。
これは役に立ちましたか?