エンタープライズ管理 > Windchill のエクスポートとインポート > インポートおよびエクスポートポリシー、マッピング規則、およびコンフリクトメッセージ > 特別な規則を使用したマッピング
  
特別な規則を使用したマッピング
マッピング規則を作成して、特定のエクスポートまたはインポート処理、またはエクスポートとインポート処理の組み合わせに適用できます。この規則は以下の 2 種類の ASCII XML ファイルのいずれか、または両方に存在します。これらのファイルには、インポート処理およびエクスポート処理を制御するプロパティを格納できます。
クライアントベースのファイル - グラフィカルユーザーインタフェースでブラウズして選択します。このマッピング規則ファイルは、任意の名前を指定し、ソフトウェアがアクセスして読み取れる任意の場所に配置できます。一般化ファイルとのコンフリクトがある場合は、このファイルが優先します。
一般化ファイル - このファイルには、インポート処理またはエクスポート処理のどちらかの規則が用意されています。ファイル名は .xml で終らなければなりません。これらのファイルは、以下の 2 つの場所のいずれかにあります。場所の名前でファイルの機能が定義されています。
\Windchill\codebase\registry\ixb\export_settings
\Windchill\codebase\registry\ixb\import_settings
マッピング規則ファイルでのプロパティの設定は、ファイルを編集することによって行います。xconfmanager ユーティリティをこの目的で使用することはできません。グラフィカルユーザーインタフェースを使用して、またはマッピングファイル内で、プロパティを設定しない場合は、xconfmanager ユーティリティを使用して、プロパティを追加または編集します。詳細については、xconfmanager ユーティリティの使用を参照してください。
以下の 2 つのセクションには、両方のタイプのファイルの例が含まれています。例の後に、プロパティと規則に関するセクションがあり、そこに規則の例が含まれています。
マッピングの優先度
コンフリクトの解決を制御する 4 つのソースの優先順位は、次のとおりです。
1. 「インポート」ウィンドウ - 「インポート」ウィンドウの「オーバーライド可能なコンフリクトを解決」チェックボックスで、wt.properties ファイルの wt.ixb.import.overrideConflicts プロパティを制御します。
このプロパティにより、フォルダコンフリクトおよびその他のコンフリクトを自動的に解決できます。グラフィカルユーザーインタフェースを使用して、またはマッピングファイル内で、プロパティを設定しない場合は、xconfmanager ユーティリティを使用して、プロパティを追加または編集できます。詳細については、xconfmanager ユーティリティの使用を参照してください。
2. クライアントベースのマッピング規則ファイル
3. マッピング規則の一般化ファイル
4. 「wt.properties」ファイル内のエントリ
クライアントベースのマッピング規則ファイル
クライアントベースのマッピングファイル内に記述されている規則およびプロパティ値は、Windchill のエクスポート処理とインポート処理を制御します。これらの規則および値は、「wt.properties」ファイルまたは一般のマッピング規則ファイル内の競合する規則および値に優先します。<debugProperties> 要素はプロパティの場所を指定するもので、必須ではありません。この要素には、XML パーサーが矛盾点を検知した場合にメッセージを生成してインポート処理をデバッグできるようにする import.parser.validate プロパティを含めることができます。フォルダコンフリクトおよびその他のコンフリクトの自動解決を可能にするプロパティの名前は import.overrideConflicts です。これはマッピングファイル内での名前です。
クライアントベースのマッピングファイルでは、マッピング規則は <mappingRules> 要素内で指定されます。
次のすべての例で、タグと値のペアを指定できます。
<path>…</path>
このタグと値のペアにより、マッピング規則に適合する要素を絞り込むことができます。たとえば、次のマッピング規則は、WTPart や WTDocument のインスタンスなどすべての XML ファイルで、タグ <number> の値が 1 の場合はそれを 4 に変更します。
<COPY_AS>
<tag>number</tag>
<value>1</value>
<newValue>4</newValue>
</COPY_AS>
上記の規則を WTPart のみに適用する場合は、マッピング規則の中で、タグ <path> とその値を指定します。
<COPY_AS>
<tag>number</tag>
<path>WTPart</path>
<value>1</value>
<newValue>4</newValue>
</COPY_AS>
この場合、WTDocument インスタンスの number が 1 であっても、その値は 4 にはならず、1 のままです。これはインポート、エクスポートの両方に当てはまります。
クライアントベースのマッピング規則ファイルの例
以下の例は、クライアントベースのマッピング規則ファイルの構文を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<userSettings>
<debugProperties>
import.keepAllFilesInMemory=true
client.log.level=10
import.parser.validate=true
import.default.lifecycleInfo.lifecycleState=RELEASED
import.default.lifecycleInfo.lifecycleTemplateName=Released
Data
import.reposGuidPrefix=77746
logLevel=5
debug.enable=true
mappingRules.log.enable=false
mappingRules.debug.dir=C:\\TUNER_RESU
</debugProperties>
<mappingRules>
<COPY_AS>
<tag>number</tag>
<value>1</value>
<newValue>4</newValue>
</COPY_AS>
<COPY_AS>
<tag>number</tag>
<value>2</value>
<newValue>5</newValue>
</COPY_AS>
<COPY_AS>
<tag>number</tag>
<value>*</value>
<newValue>N-05-*</newValue>
</COPY_AS>
<COPY_AS>
<tag>teamIdentity</tag>
<value>WWWWW*</value>
<newValue>System.Default</newValue>
</COPY_AS>

<COPY_AS>
<tag>folderPath</tag>
<value>*</value>
<newValue>/Administrator/NEW-FOLDER-22</newValue>
</COPY_AS>
<IGNORE_PARENT>
<tag>filename</tag>
<path>content</path>
<value>EngineReq</value>
</IGNORE_PARENT>

</mappingRules>
</userSettings>
一般マッピング規則ファイルの例
以下の例は、一般のマッピング規則ファイルの構文を示しています。このタイプのファイルには、<mappingRules> 要素も <debugProperties> 要素もありません。ファイルの最初に記述されているプロパティは、必須ではありませんが、「wt.properties」ファイルで繰り返し使用されます。「wt.properties」ファイルのエントリとのコンフリクトがある場合には、一般のマッピングファイル内の規則およびプロパティ値が優先されます。ただし、生成されたマッピングファイル内の規則およびプロパティ値よりも、クライアントベースのマッピングファイル内の競合する値が優先されます。
import.keepAllFilesInMemory=true
client.log.level=10
import.parser.validate=true
import.default.lifecycleInfo.lifecycleState=RELEASED
import.default.lifecycleInfo.lifecycleTemplateName=Released
Data
import.reposGuidPrefix=77746
logLevel=5
debug.enable=true
mappingRules.log.enable=false
mappingRules.debug.dir=C:\\TUNER_RESU
<COPY_AS>
<tag>number</tag>
<value>*</value>
<newValue>444-@@</newValue>
</COPY_AS>
<IGNORE_MASTER>
<path>content</path>
<tag>filename</tag>
<value>EngineReq</value>
</IGNORE_MASTER>
マッピング規則ファイルのプロパティ
上記の例では、マッピング規則ファイルにプロパティを格納する方法を示しました。Windchill のインポートの制御に使用できるプロパティについては、Windchill エクスポートとインポートに関するセクションを参照してください。マッピング規則ファイルでのプロパティの設定は、ファイルを編集することによって行います。xconfmanager ユーティリティをこの目的で使用することはできません。グラフィカルユーザーインタフェースを使用して、またはマッピングファイル内で、プロパティを設定しない場合は、xconfmanager ユーティリティを使用して、プロパティを追加または編集します。
詳細については、xconfmanager ユーティリティの使用を参照してください。
MCAD ドキュメントに対する番号属性のマッピング禁止について
Windchill データベースの MCAD ドキュメントの番号属性は、そのドキュメントの Creo Parametric ファイル名と同じ文字列です。マッピング規則を使用するかローカルディスクにあるオブジェクトを変更して MCAD ドキュメントの番号属性を変更すると、その後に作成するデータはそれを参照するアセンブリファイルと矛盾します。名前を変更したオブジェクトのチェックインは、既存のオブジェクトの重複としてソフトウェアが認識するので、オリジナル情報に戻して番号変更を修正しようとしても修正できません。
マッピング規則について
各マッピング規則は、マッピング規則ファイル内の XML 要素です。コピーを指定する要素を除くすべてのマッピング規則要素には、少なくとも 2 つのサブ要素、<tag> および <value> があります。これら 2 つのサブ要素を使用して、インポートまたはエクスポートした XML ファイルの指定の要素に規則が適用されるかどうかを決定できます。インポートまたはエクスポートしたファイルの 1 要素にマッピング規則ファイル内の複数の規則を適用しても、最初の規則のみが適用されます。
以下の例は、規則のタイプおよびさまざまな属性への規則の適用方法を示しています。この例にない属性を操作するには、XML を理解した上で、マッピングする XML ファイルに目を通す必要があります。
COPY 要素
デフォルトでは、ソース XML ファイルのすべての要素は、生成される XML ファイルにコピーされるので、変更を加えずに要素をコピーする規則を指定する必要はありません。要素のコピー以外の処理を指定する規則を設定した場合は、コピーは実行されず、その他の規則によって要素の結果が制御されます。コピーを指定する規則が持つ唯一の要素は COPY です。この要素はサブ要素を持ちません。
COPY_AS 要素
COPY_AS 要素を使用する規則は、ソース XML ファイルの要素を変更し、変更した要素を、生成される XML ファイルに配置します。<tag><value> に加え、必須のサブ要素 <newValue> を持ちます。以下の例は、使用可能な構文を示しています。
オブジェクトのビュー「Source_View」を「Local_View」にマッピングする方法
<COPY_AS>
<tag>view</tag>
<value>Source_View</value>
<newValue>Local_View</newValue>
</COPY_AS>
任意のオブジェクトのビューを「LOCAL_VIEW」にマッピングする方法
<COPY_AS>
<tag>view</tag>
<value>*</value>
<newValue>Local_View</newValue>
</COPY_AS>
オブジェクトの番号属性「2222」を「LOCAL_2222」にマッピングする方法
<COPY_AS>
<tag>number</tag>
<value>2222</value>
<newValue>Local_2222</newValue>
</COPY_AS>
任意のオブジェクトの番号属性を From_Site_AAA_<元の番号> という形式にマッピングする方法
ここでは、From_Site_AAA に任意の番号を付加する例を示します。たとえば、2222 という番号を、結果ファイルで From_Site_AAA_2222 にマッピングします。
<COPY_AS>
<tag>number</tag>
<value>*</value>
<newValue>From_Site_AAA_*</newValue>
</COPY_AS>
オブジェクトのバージョン「A」を「B」にマッピングする方法
<COPY_AS>
<tag>versionInfo/versionId</tag>
<value>A</value>
<newValue>B</newValue>
</COPY_AS>
任意のオブジェクトのバージョンをバージョン「A」および任意の作業版数を作業版数「1」にマッピングする方法
<COPY_AS>
<tag>versionInfo/iterationId</tag>
<value>*</value>
<newValue>1</newValue>
</COPY_AS>
「MyTeam」で始まる任意のオブジェクトのチームをデフォルトのチームにマッピングする方法
<COPY_AS>
<tag>teamIdentity</tag>
<value>MyTeam*</value>
<newValue>System.Default</newValue>
</COPY_AS>
任意のオブジェクトフォルダを「Administrator/NewFolder」にマッピングする方法
<COPY_AS>
<tag>folderPath</tag>
<value>*</value>
<newValue>/Administrator/NewFolder</newValue>
</COPY_AS>
「Marketing」フォルダのサブフォルダにあるオブジェクトを「Publication」フォルダの同名サブフォルダにマッピングする方法
<COPY_AS>
<tag>folderPath</tag>
<value>/Marketing/*</value>
<newValue>/Publications/*</newValue>
</COPY_AS>
フォルダマッピング規則で新しい値文字列および古い値文字列にアスタリスク記号 (*) を指定すると、アスタリスク記号の位置に新しいフォルダが作成されます。この新しいフォルダは、古いパスでアスタリスク記号の位置に存在しているフォルダの複製です。このようなマッピング規則で最も一般的な構文は以下のとおりです。
<COPY_AS>
<tag>folderPath</tag>
<value>PrefixOld*SuffixOld</value>
<newValue>PrefixNew*SuffixNew</newValue>
</COPY_AS>
PrefixOld、SuffixOld、PrefixNew、または SuffixNew の文字列は、空の文字列の場合があります。
IGNORE 要素
IGNORE 要素を使用する規則では、ソース XML ファイルの要素を生成される XML ファイルから除外します。サブ要素 <tag> および <value> は必須です。以下の例は、使用可能な構文を示しています。
ライフサイクル状態の情報を生成される XML ファイルから除外する方法
<IGNORE>
<tag>lifecycleState</tag>
<value>*</value>
</IGNORE>
IGNORE_PARENT 要素
IGNORE_PARENT 要素を使用する規則では、ソース XML ファイル内にある親要素とそのすべての子要素が、生成される XML ファイルから除外されます。サブ要素 <tag> および <value> は必須です。通常どおり、<path> 要素はオプションです。以下の例は、使用可能な構文を示しています。
「Price」という再利用可能属性値を WTPart などの再利用可能属性ホルダーから除外する方法
<IGNORE_PARENT>
<tag>ibaPath</tag>
<path>WTPart</path>
<value>Price/iba</value>
</IGNORE_PARENT>
上記の例では、以下の行が削除されている場合、<ibaPath>Price</ibaPath> を持つすべての XML ファイル内のすべての親要素が除外されます。
<path>WTPart</path>