特殊な管理 > サポートされるビジュアリゼーションとパブリッシング > WVS パブリッシング規則 > パブリッシング規則での条件の使用 > 条件エレメント
  
条件エレメント
新しい <condition> エレメントにより、ユーザーは、ライフサイクル状態 (例: In WorkReleased)、CAD タイプ (例: PartAssembly)、コンテナなどのより多くの属性を EPMDocument で検索する規則をセットアップできます。これには、AND、OR、NOT などの多くの論理演算子の概要が含まれます。
Attribute - 基本属性エレメント。以下に例を示します。
<attribute name="epmdoc_lifeCycleState" value="Released" />
このエレメントの name 属性は、評価対象の EPMDocument でチェックされる属性です。使用可能なすべての属性を見つける 1 つの方法は、Creo View で製品表現を開いてプロパティを確認することです。パブリッシング規則で使用できる一連の epmdoc_* プロパティが表示されます。また、関連する WTPart のプロパティも使用できます。これらは Creo View にも表示され、part_* フォーマットで表示されます。
この例の value 属性は、比較対象の値です。EPMDocument の値がこのエレメントの value (大文字小文字を区別します) と等しい場合、この属性は真と見なされます。
value を使用する代わりに、次の例に示すように XML 属性 regex を使用して正規表現を使用できます。
<attribute name="epmdoc_CADName" regex=".*\.asm" />
この場合、正規表現パターンがこの EPMDocument に一致した結果を返さないかぎり、属性は真と見なされます。
attribute エレメントのもう 1 つの使用目的は、オブジェクトに属性が存在するかどうかを確認することですが、値は何でも構いません。これは nameregex も使用せず、次のようになります。
<attribute name="MyIBA" />
Instance-of - <instance-of> エレメントは <attribute> エレメントと同様に使用されますが、評価対象のオブジェクトが指定したタイプかどうかを確認するために使用されます。次のようになります。
<instance-of type=”wt.epm.EPMDocument” />
オブジェクトが EPMDocument の場合、これによってパブリッシング規則は真と評価されます。または、以下を使用できます。
<instance-of type="wt.doc.WTDocument" />
オブジェクトが WTDocument の場合、これによってパブリッシング規則は真と評価されます。
structure - <structure> エレメントは次のようになります。
<structure type=”epm” />
<structure> は既存の <structure-type type="epm"> エレメントと同様であり、同じように動作します。この新しいエレメントの詳細については、パブリッシング規則エレメントの互換性を参照してください。
論理演算子 - attribute エレメント、instance-of エレメント、および structure エレメントはそれ自体を使用できますが、論理演算子を使用してこれらを組み合わせるとはるかに強力になります。新しくサポートされるようになった演算子は、andor、および not です。例:
<and>
<attribute name="epmdoc_lifeCycleState" value="Released" />
<attribute name="epmdoc_docType" value="Assembly"/>
</and>
この例では、評価対象のオブジェクトはアセンブリとリリース済み状態の両方でなければなりません。or の使用方法はこれとよく似ています。
<or>
<attribute name="epmdoc_lifeCycleState" value="Released" />
<attribute name="epmdoc_lifeCycleState" value="In Work" />
</or>
この例では、オブジェクトは Released または In Work のどちらかです。<and> および <or> には 2 つよりも多いサブエレメントがある場合もあります。しかし、どちらも少なくとも 2 個を必要とします。例:
<and>
<attribute name="epmdoc_lifeCycleState" value="Released" />
<attribute name="epmdoc_docType" value="Assembly"/>
<instance-of type=”EPMDocument” />
</and>
<not> の使用方法も似ていますが、使用できるサブエレメントは 1 つのみです。以下の例は、評価対象のオブジェクトがリリース済み状態ではないことを示しています。
<not>
<attribute name="epmdoc_lifeCycleState" value="Released" />
</not>
これらのステートメントの容量を追加するには、互いにネストされている論理演算子を使用して複雑な評価を作成できます。次の例では、これが作業中またはリリース済みのどちらかのアセンブリであることを示します。
<and>
<attribute name="epmdoc_docType" value="Assembly"/>
<or>
<attribute name="epmdoc_lifeCycleState" value="In Work"/>
<attribute name="epmdoc_lifeCycleState" value="Released"/>
</or>
</and>
次の例はオブジェクトが描画作業中またはリリース済みアセンブリであることを示します。
<or>
<and>
<attribute name="epmdoc_lifeCycleState" value="In Work"/>
<attribute name="epmdoc_docType" value="Drawing"/>
</and>
<and>
<attribute name="epmdoc_docType" value="Assembly"/>
<attribute name="epmdoc_lifeCycleState" value="Released"/>
</and>
</or>
ネストは任意の深さのレベルにできます。
Condition Wrapper - 前述のすべてのエレメントはここに示すように <condition> エレメントにラッピングされている必要があります。
<condition name="In Work">
<attribute name="epmdoc_lifeCycleState" value="In Work" />
</condition>
この条件を参照するために、<if> エレメントで使用されるのは "name" 属性です (後述)。<condition> エレメントをルートの <rules> エレメントの下に置くことができます。これは、すべての <authoring-application> エレメントにも、特定の 1 つの <authoring-application> エレメントにも (その場合、そのコンテキストでのみ使用できます) 使用できることを意味します。"name" 属性はパブリッシング規則ドキュメントで一意でなければなりません。論理演算子を使用したもう 1 つの例を示します。
<condition name="Released Assembly”>
<and>
<attribute name="epmdoc_lifeCycleState" value="Released" />
<attribute name="epmdoc_docType" value="Assembly"/>
</and>
</condition>
if 条件 - 定義済みの <condition> エレメントを使用してパブリッシングを制御するには、次のように <if> エレメントを使用します。
<if condition="Released Assembly">
<publish on="checkin" />
<publish on="create-representation" />
<publish on="schedule" />
</if>
Released Assembly という名前の条件は、(前述のように) 規則で定義されています。