特殊な管理 > ビジネスオブジェクトの調整 > オブジェクト初期化規則管理 > オブジェクトの初期化規則の操作 > 規則の指定 > VarDef タグの構文
  
VarDef タグの構文
規則を定義する XML ドキュメントには、1 つ以上の VarDef タグを追加できます。VarDef タグは、常に AttributeValues タグ内にネストします。
VarDef タグは変数名とその値を定義します。これらは、VarRef タグを使用して規則内で参照できます。変数の参照時 (VarRef タグを使用) に適用できる変数定義は、そのオブジェクトタイプとコンテキスト階層によって異なります。規則でこれらの階層がどのように使用されるかについては、規則をマージして複合規則を作成を参照してください。
たとえば、wt.doc.WTDocument オブジェクトタイプ用に定義した規則で使用できるサイトコンテキストで変数を定義したとします。この定義は、wt.doc.WTDocument オブジェクトタイプおよびそのすべてのサブタイプに対して定義された規則のすべてのコンテキストで使用できます。規則を適用するオブジェクトが子コンテキスト内にあるか、サブタイプに関連付けられている場合は、サイトコンテキスト内で定義する前に、サイトの子コンテキスト内にある、または wt.doc.WTDocument のサブタイプに関連付けられている、同じ変数を定義するのが一般的です。
変数の値は、変数を参照する規則要素が処理されるまで計算されません。VarDef タグで定義されている特定の変数を参照するには、VarRef タグの ID 属性内で、VarDef タグの ID 属性で指定されている値を使用します。規則が適用されるときに特定の変数参照を持つ最初の要素が処理され、変数の値が計算されて、キャッシュされます。規則の適用中に処理される変数へのすべての参照に、キャッシュされた値が使用されます。
VarDef タグの構文は以下のとおりです。
<VarDef id="変数名"
algorithm="デフォルト値アルゴリズム">
アルゴリズムの引数
</VarDef>
ここで、variable_name は、VarRef タグ内の変数を参照するときに使用する変数の名前です。この名前は、ユーザーにとって意味を持つ任意の有効な XML 名で構成することができます。
以下の例は、GeneratedNumber 変数を定義しています。この変数を使用してドキュメントの番号を生成し、ドキュメントの名前を生成した番号に設定することができます。ドキュメントの作成時にこの変数を使用するには、wt.doc.WTDocument オブジェクトタイプの AttributeValues タグにこの XML をネストします。
<VarDef id="GeneratedNumber"
algorithm=”com.ptc.windchill.enterprise.revisionControlled.server.impl.NumberGenerator">
<Arg>{GEN:wt.enterprise.SequenceGenerator:WTDOCUMENTID_seq:10:0}</Arg>
</VarDef>
* 
VarDef タグに定義された変数の値は、同じ規則内の別の値の計算から導出することはできません。たとえば、同じ規則の AttrValue タグによって設定された番号属性値から、WTPart の GeneratedNumber 変数を定義できません。詳細については、変数を参照してください。
さらに、次の場合は、オプションの XML 属性VarDef タグに追加できます。
複合規則で使用する絶対定義として指定された変数定義を設定する。
親コンテキストから定義が継承されたときに指定した定義を無視する。