uCosminexus Interschema ユーザーズガイド

[目次][用語][索引][前へ][次へ]

付録E.1 マップ式ファイル

マップ式ファイルは,マップ式をテキスト形式で記述したファイルです。対象となるフォーマットのルートコンポーネントから順番に,すべてのコンポーネントのマップ式や変数式などの情報を記述します。マップ式ファイルは,次のどちらかの方法で出力します。

出力したマップ式は,マップ式ファイル上で直接編集できます。マップ式ファイルの編集内容は,次のどちらかの方法でMDLファイルに反映できます。

<この項の構成>
(1) 記述形式
(2) 注意事項
(3) 記述例

(1) 記述形式

マップ式ファイルのフォーマットの記述形式を次に示します。なお,マップ式ファイルは項目ごとに改行されます。

表E-1 マップ式ファイルのフォーマットの記述形式

項目 説明
コンポーネントのグローバルパス名 コンポーネントのグローバルパス名です。
マップ式 マップ式文字列です。マップ式がない場合は空行になります。
%NOUSE% 未使用のコンポーネントを表します。
%IOCHANGE%n グループ単位出力指定があることを表します。nはラベル「1」〜「255」の数値です。
%ORDER% MDLエディタで編集した順序決定式があることを表します。選択構造コンポーネントの場合だけ出力されます。
順序決定式 順序決定式文字列です。MDLエディタで式を削除した場合は出力されません。
%CASE%%定数種別% MDLエディタで編集した順序決定値があることを表します。選択構造の子コンポーネントの場合だけ出力されます。
定数種別には,次のどれかが出力されます。
  • NUM:数値
  • STRING:文字列
  • STREAM:バイト列
順序決定値 順序決定値です。定数種別の値が次の形式で出力されます。
  • 数値:10進数表記の文字列
  • 文字列
  • バイト列:0x付きの16進文字列
ただし,MDLエディタで値を削除した場合は出力されません。
%DEFAULT% MDLエディタで編集したデフォルト式があることを表します。コンポーネントが型の場合だけ出力されます。
デフォルト式 デフォルト式文字列です。MDLエディタで式を削除した場合は出力されません。
%CONDITION% MDLエディタで編集したコンポーネントの条件式があることを表します。
条件式 条件式文字列です。MDLエディタで式を削除した場合は出力されません。
%DEPEND% MDLエディタで編集した出現回数決定式があることを表します。
出現回数決定式 出現回数決定式文字列です。MDLエディタで式を削除した場合は出力されません。
%SIZE% MDLエディタで編集したサイズ決定式があることを表します。
サイズ決定式 サイズ決定式文字列です。MDLエディタで式を削除した場合は出力されません。
%%-%% 変数式の区切りを表す記号文字列(固定文字列)です。変数ごとに,この区切りと変数式が繰り返されます。
変数式 1変数分の変数式文字列です。
%-% 1コンポーネントの終了を表す記号文字列(固定文字列)です。

(2) 注意事項

マップ式ファイルの注意事項を次に示します。

(3) 記述例

マップ式ファイルの記述例を次に示します。

 
OUT@ROOT@STRUCT
= IN@ROOT@MESSAGE[INDEX(0)];
%IOCHANGE%1
%ORDER%
OUT@v1
%%-%%
OUT@v1 = OUT@v1 + 1;
%%-%%
OUT@v2 = OUT@V1 * 10;
%-%
OUT@ROOT@STRUCT@data0
 
%NOUSE%
%-%
OUT@ROOT@STRUCT@data1
= $@data1;
%CASE%%NUM%
1
%CONDITION%
# > 0
%-%
OUT@ROOT@STRUCT@data2
= $@data2 + IN@ROOT@HEAD@num;
%CASE%%STRING%
N2
%DEFAULT%
= 0;
%SIZE%
10
%-%
OUT@ROOT@STRUCT@data3
= $@data3[INDEX(0)];
%CASE%%STREAM%
0x03
%DEPEND%
OUT@v2
%-%