uCosminexus Interschema ユーザーズガイド
etmerge /ID 旧MDLファイル 新MDLファイル DTDファイル フォーマット名
[マップ式ファイル]
- /ID
- MDLファイルの既存のマップ式,コンポーネント未使用情報,グループ単位出力指定情報,MDL上で編集された式及び順序決定値を保持しながら,DTDファイルの変更内容をMDLファイルにマージする機能を実行するオプションです。
- 旧MDLファイル
- 変更前のMDLファイル名を指定します。種別は入力です。
- 新MDLファイル
- DTDファイルをマージした後のMDLファイル名を指定します。旧MDLファイルと同じファイルを指定してもかまいません。種別は出力です。
- DTDファイル
- MDLファイルにマージするDTDファイル名を指定します。種別は入力です。
- フォーマット名
- MDLファイルにマージするDTDフォーマット名を指定します。種別は入力です。
- マップ式ファイル
- 旧MDLファイルに定義されているすべてのマップ式を出力するマップ式ファイル名を指定します。種別は出力です。この指定は省略できます。省略した場合は,「MAPEXP.txt」ファイル(Interschemaのインストールディレクトリ\bin下に格納)にマップ式を出力します。
(3) /IDオプション指定時の注意事項
- マップ式などの保持は,コンポーネントのグローバル名をキーにして行います。したがって,グローバル名が変更された場合は,そのコンポーネントに定義されていたマップ式は保持されません。また,コンポーネントの削除や名前の変更があっても,そのコンポーネントを参照する式の内容は更新されないで元の文字列のまま引き継がれます。
- 保持した式で記述されているコンポーネントのパス名の正当性は,検証されません。DTDファイルのツリー構造やコンポーネント名を変更した場合などは,式を確認して再マッピングしてください。
- マップ式ファイルに記述されているコンポーネントのうち,MDLファイル中になかったコンポーネントは,該当するテキスト部分がマージログファイル「MERGELOG.txt」(Interschemaのインストールディレクトリ\bin下に格納)に出力されます。MDLファイル中にマージするコンポーネントがある場合で,そのコンポーネントの変数式で定義した変数がマージ後のフォーマットにないときは,コンポーネントのグローバル名及び変数式がマージログファイルに出力されます。
- 変数式は,マージ先に対応する変数がある場合だけ保持されるため,DTDマージでは結果として削除されます。
- マージするDTDフォーマットが再帰構造を含む場合,マージ前の展開ネスト数で再帰構造が展開されます。
マージ前に再帰構造がなかった場合の展開ネスト数は1となります。
マージ後のDTDフォーマットのルートとする要素の候補が複数存在する場合,マージ前と同じ名前の要素があれば,これがルートとして選択されます。同じ名前の要素がない場合は,自動的にルートとする要素が選択されます。マージ後のルートとする要素の候補が一つだけである場合は,マージ前と異なる名前であってもルートとして選択されます。
- 対象となるDTDフォーマットが再帰構造を含む場合,再帰構造を展開するときの最大コンポーネント数は100,000として処理されます。コンポーネント数が100,000を超える場合は,MDLエディタを使用してください。
- MDLエディタ上で直接編集した,又はマージツールの/ITオプションで設定した,順序決定式,順序決定値,デフォルト式,条件式,出現回数決定式,及びサイズ決定式の内容は,マージするコンポーネントがマージ先のフォーマットにある場合に保持されます。ただし,順序決定式を定義したコンポーネントが逐次構造になる場合など,コンポーネントの種別又は状態が,マージ先で式や値を定義できない状態に変換される場合は保持されません。
DTDマージ機能の実行例を次に示します。
旧MDLファイル「OLD.mdl」のDTDフォーマット「Format1」の内容を,DTDファイル「UPDATE.dtd」の内容にマージして,新MDLファイル「NEW.mdl」に出力します。旧MDLファイル「OLD.mdl」に定義されていたマップ式は,マップ式ファイル「MAPFILE.txt」に出力します。
etmerge /ID OLD.mdl NEW.mdl UPDATE.dtd 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.