uCosminexus Interschema ユーザーズガイド

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

6.6.2 サイズ決定式

サイズ決定式は,型コンポーネントのサイズが動的に決まる場合に,コンポーネントのサイズを定義する式です。サイズ決定式の評価結果によって,対応するコンポーネントのサイズが決まります。レングスタグ構造を持つデータなどに適用されます。サイズ決定式を評価した値は,正の整数でなければなりません。

サイズ決定式は通常入力側のコンポーネントに用いる式で,[サイズ決定式]ダイアログに記述します。[サイズ決定式]ダイアログは,式を定義するコンポーネントの[コンポーネントのプロパティ]ダイアログで[サイズ決定式]ボタンをクリックすると表示されます。

図6-9 [サイズ決定式]ダイアログ

[図データ]

サイズ決定式は,テキストを直接入力したり,ダイアログから演算子,関数などを選択したりして記述します。

次に例を示します。

図6-10 サイズ決定式の例

[図データ]

入力フォーマットである場合,トランスレータはコンポーネントLENの値をコンポーネントDATAのサイズと認識します。逆に,出力フォーマットの場合,LENの値をDATAの固定サイズとして処理します。出力フォーマットでDATAのサイズ決定式がない場合は,コンポーネントDATAのサイズは代入される値によって決まります。

出力フォーマットでは,可変長コンポーネントのサイズは,代入元のデータのサイズに従うのが一般的です。レングスタグ構造の長さコンポーネントは,評価順序遅延指定のマップ式でデータ長を代入します。図6-10の例では,マップ式は次のようになります。

 
LENの式   %delay %next = LENGTH(\1@DATA);
DATAの式  (任意の式);