JP1/Integrated Management - Manager 機能拡張
定義ファイルを構成する要素には,大きく分けて,ステートメント,ブロック,およびコメントがあります。定義ファイルは,そのファイル全体の属性を表すステートメント(定義情報ヘッダー)から開始し,定義内容を記述するブロック,および任意選択のコメントが続きます。
定義ファイルを構成するこれらの要素について説明します。
- <この項の構成>
- (1) ステートメント
- (2) ブロック
- (3) コメント
- (4) 共通ステートメントの生成規則
(1) ステートメント
(a) ステートメントの構造
ステートメントとは,複数の構成要素が組み合わされて一つの意味を形成するようになった列のことです。ステートメントは必ず行頭から開始しなければなりません。また,ステートメントは「;」と改行で区切らなければなりません。
(b) ステートメントの種別
ステートメントは,記述できる場所によって「ファイル内ステートメント」と「ブロック内ステートメント」に分けられます。
- ファイル内ステートメント
- ファイル内ステートメントは,定義ファイルの属性を表すステートメントです。ファイル内ステートメントには,さらに「定義情報ヘッダー用ステートメント」と「ブロック制御用ステートメント」の二つがあります。
- ファイル内ステートメントには「@」のプリフィックスが付きます。
- ブロック内ステートメント
- ブロック内ステートメントは,ブロック内の属性を表すステートメントです。ブロック内ステートメントは,ブロック開始ステートメント(@define-block)からブロック終了ステートメント(@define-block-end)までの間に記述できるステートメントのうち,コメント以外のものを指します。記述できるブロック内ステートメントは,ブロックごとに決まっています。
- ブロック内ステートメントには「@」などのプリフィックスは付きません。
(2) ブロック
(a) ブロックの構造
ブロックはステートメントの集合体です。ブロックは,ブロックの開始を宣言するステートメント(@define-block),実際の定義を記述するブロック内ステートメント,コメント,およびブロックの終了を宣言するステートメント(@define-block-end)によって構成されます。
定義ファイルの中でブロックをネストすることはできません。
(b) ブロックの種別
ブロック種別は,ブロック開始ステートメント(@define-block)の「type=」パラメーターで指定します。ブロック種別の詳細については,「(4) (a) @define-blockステートメント」を参照してください。
(c) ブロックの優先順位
ブロックには,定義内でユニークでなければならないキー項目があります。キー項目が定義内に複数個存在した場合は,優先順位に従ってブロック単位で取捨選択されます。ブロックの優先順位は次のようになります。
- ファイル名を昇順にソートして後の方のファイル内のブロック
- ファイル内で記述場所が後ろの方に存在するブロック
言い換えると,「定義ファイルをファイル名で昇順にソートして一つのファイルに連結し,連結したファイル内で後に記述されているものが優先される」ということになります。
(3) コメント
コメントとは,行頭が「#」のステートメント,または1行が空白,タブ,または改行だけで構成される行です。コメントは定義情報としての意味を持ちません。
コメントは一つのステートメントとして処理されます。コメントは行単位で判断されるので,「;」で区切る必要はありません。コメントの末尾に「;」を付けた場合は,「;」もコメントの一部として解釈されます。
(4) 共通ステートメントの生成規則
ファイル内ステートメントには,定義情報ヘッダー用ステートメントとブロック制御用ステートメントの二つがあります。
ファイル内ステートメントの一覧を次に示します。
表5-9 ファイル内ステートメントの一覧
ステートメント名 意 味 種 別 @file 定義バージョン,文字コードを宣言する 定義情報ヘッダー用 @product 定義中のPP情報を宣言する 定義情報ヘッダー用 @define-block ブロックの開始を宣言する ブロック制御用 @define-block-end ブロックの終了を宣言する ブロック制御用 これらのステートメントのうち,定義情報ヘッダー用ステートメントは,一つの定義ファイル全体に共通する属性を定義します。使用できる定義情報ヘッダー用ステートメントは定義ファイルごとに異なります。また,定義情報ヘッダー用ステートメントのパラメーターも,定義ファイルごとに異なります。
ブロック制御用ステートメントは,その定義ファイル内で定義するブロックの単位を宣言するために使用します。ブロック制御用ステートメントの生成規則は,すべての定義ファイルで共通です。
このあとに,ブロック制御用ステートメントの生成規則を示します。定義情報ヘッダー用ステートメントの生成規則については,個々の定義ファイルの説明を参照してください。
(a) @define-blockステートメント
- 構文
- @define-block type="ブロック種別";
- 機能
- ブロックの開始を宣言します。このステートメントから @define-block-endステートメントまでを一つの定義ブロックとして扱います。
- パラメーター
- type="ブロック種別"
定義ブロックの種類を指定します。指定できるブロック種別を次に示します。
表5-10 ブロック種別一覧
無効なブロック種別が指定された場合は,ブロック全体が無視されて警告が表示されますが,ファイルの解析処理は続行されます。
ブロック名 パラメーターでの指定値 イベント属性定義ブロック "event-attr-def" イベント属性グループ定義ブロック "event-attr-group-def" イベント表示順序定義ブロック "event-attr-order-def" アプリケーション実行定義ブロック "application-execution-def" 機能ツリーメニュー定義ブロック "function-tree-def"
- 注意事項
- 定義ブロックをネストすることはできません。
- 定義例
- @define-block-endステートメントの説明を参照してください。
(b) @define-block-endステートメント
- 構文
- @define-block-end;
- 機能
- @define-blockから始まる定義ブロックの終了を宣言します。
- 注意事項
- 対応する@define-blockステートメントがない場合は,ファイルの解析処理を中止します。
- 定義例
- @define-blockステートメントおよび@define-block-endステートメントの定義例を示します。
@define-block type="event-attr-def"; block lang="Japanese", platform="base"; attr name="E.SEVERITY", title="重大度"; attr name="B.TIME", title="登録時刻"; attr name="B.SOURCESERVER", title="登録ホスト"; attr name="E.USER_NAME", title="ユーザー名"; @define-block-end;
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.