uCosminexus Interschema ユーザーズガイド
etmerge /IF 旧MDLファイル 新MDLファイル FDLファイル フォーマット名
[マップ式ファイル]
- /IF
- MDLファイルの既存のマップ式,変数式,コンポーネント未使用情報,グループ単位出力指定情報,MDL上で編集された式,及び順序決定値を保持しながら,FDLファイルの変更内容をMDLファイルにマージする機能を実行するオプションです。
- 旧MDLファイル
- 変更前のMDLファイル名を指定します。種別は入力です。
- 新MDLファイル
- FDLファイルをマージした後のMDLファイル名を指定します。旧MDLファイルと同じファイルを指定してもかまいません。種別は出力です。
- FDLファイル
- MDLファイルにマージするFDLファイル名を指定します。種別は入力です。
- フォーマット名
- MDLファイルにマージするFDLファイル中のフォーマット名を指定します。種別は入力です。
- マップ式ファイル
- 旧MDLファイルに定義されているすべてのマップ式を出力するマップ式ファイル名を指定します。種別は出力です。この指定は省略できます。省略した場合は,「MAPEXP.txt」ファイル(Interschemaのインストールディレクトリ\bin下に格納)にマップ式を出力します。
(3) /IFオプション指定時の注意事項
- マップ式などの保持は,コンポーネントのグローバル名をキーにして行います。したがって,グローバル名が変更された場合は,そのコンポーネントに定義されていたマップ式は保持されません。また,コンポーネントの削除や名前の変更があっても,そのコンポーネントを参照する式の内容は更新されないで元の文字列のまま引き継がれます。
- 保持した式で記述されているコンポーネントのパス名の正当性は,検証されません。FDLファイルのツリー構造やコンポーネント名を変更した場合などは,式を確認して再マッピングしてください。
- マップ式ファイルに記述されているコンポーネントのうち,MDLファイル中になかったコンポーネントは,該当するテキスト部分がマージログファイル「MERGELOG.txt」(Interschemaのインストールディレクトリ\bin下に格納)に出力されます。MDLファイルにマージするコンポーネントがある場合で,そのコンポーネントの変数式で定義した変数が,マージ後のフォーマットにないときは,コンポーネントのグローバル名及び変数式がマージログファイルに出力されます。
- FDLファイル中のグループ単位出力指定に変更があっても,その変更内容はMDLファイルにマージされません(変更前の指定内容を保持します)。このような場合は,MDLエディタでMDLファイル中のグループ単位出力指定の内容を変更してから,マージツールを実行してください。
- 変数式は,コンポーネント単位で扱われます。そのため,マージ元に複数の変数の変数式が定義されていても,マージ後のフォーマットで一つの変数の変数式だけ定義した場合は,定義しなかった変数に対する変数式は消えてしまいます。また,マージ後のフォーマットに存在しない変数に対する変数式は,設定されません。
- MDLエディタ上で直接編集した,又はマージツールの/ITオプションで設定した,順序決定式,順序決定値,デフォルト式,条件式,出現回数決定式,及びサイズ決定式の内容は,マージするコンポーネントがマージ先のフォーマットにある場合に保持されます。ただし,順序決定式を定義したコンポーネントが逐次構造になる場合など,コンポーネントの種別又は状態が,マージ先で式や値を定義できない状態に変換される場合は保持されません。
FDLマージ機能の実行例を次に示します。
FDLファイル「UPDATE.fdl」中のフォーマット「Format1」の内容を,旧MDLファイル「OLD.mdl」にマージして,新MDLファイル「NEW.mdl」に出力します。旧MDLファイル「OLD.mdl」に定義されていたマップ式は,マップ式ファイル「MAPFILE.txt」に出力します。
etmerge /IF OLD.mdl NEW.mdl UPDATE.fdl Format1 MAPFILE.txt
All Rights Reserved, Copyright (C) 2000, Information-technology Promotion Agency, Japan.
All Rights Reserved. Copyright (C) 2005, 2008, Hitachi, Ltd.
All Rights Reserved, Copyright (C) 1985-1998, Microsoft Corporation.