特殊な管理 > ビジネスオブジェクトの調整 > オブジェクト初期化規則管理 > オブジェクト初期化規則について > オブジェクト初期化規則に使用される XML ドキュメントの内容の定義 > 条件付きロジックアルゴリズム > 条件付きロジックのアルゴリズムの例
  
条件付きロジックのアルゴリズムの例
* 
以下の例では、ページ幅を考慮して複数の行にわたっている XML 要素があります。ただし、XML ドキュメントをコーディングする場合は、各 XML 要素を 1 行に入力します。
以下の XML では、BooleanBranch アルゴリズムと EqualsTest アルゴリズムを使用して、genericType 属性で "バリエーション" として識別された特定のタイプの部品をテストするとともに、このタイプの部品の番号付け時に V プリフィックスを設定します。
<AttrValue id="number" algorithm="com.ptc.windchill.enterprise.revisionControlled.
server.impl.NumberGenerator">
<!-- add a V prefix for variant parts -->
<Value algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="wt.rule.algorithm.EqualsTest">
<Attr id="genericType"/>
<Arg>variant</Arg>
</Value>
<Arg>V</Arg>
<Arg></Arg>
</Value>
<!-- the sequence -->
<Arg>{GEN:wt.enterprise.SequenceGenerator:WTPARTID_seq:10:0}</Arg>
</AttrValue>
以下の例では、BooleanBranch アルゴリズムと IfContainerTypeEqualsProjectTest アルゴリズムを使用して、プロジェクトまたはプログラムの番号の一意の表示制約を設定します。この例では、プロジェクトまたはプログラムの番号が生成されて表示されますが、ユーザーが変更することができます。その他のコンテキストの番号は生成されても、ユーザーが変更することはできません。
<AttrConstraint id="number" algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="com.ptc.core.rule.server.impl.
IfContainerTypeEqualsProjectTest"/>
<Value algorithm="com.ptc.core.rule.server.impl.GatherAttribute
Constraints">
<Value algorithm="com.ptc.core.rule.server.impl.
GetServerAssignedConstraint"/>
</Value>
<Value algorithm="com.ptc.core.rule.server.impl.GatherAttribute
Constraints">
<Value algorithm="com.ptc.core.rule.server.impl.
GetServerAssignedConstraint"/>
<Value algorithm="com.ptc.core.rule.server.impl.GetImmutable
Constraint"/>
</Value>
</AttrConstraint>