uCosminexus DocumentBroker Version 3 システム導入・運用ガイド
ここでは,プロパティマッピング定義ファイルの記述形式について説明します。
プロパティマッピング定義の記述形式を次の図に示します。
図4-3 プロパティマッピング定義の記述形式
プロパティマッピング定義はセクション形式で指定します。プロパティマッピング定義は複数のセクションで構成され,それぞれのセクションは複数のエントリで構成されます。なお,1行の長さは,2,048バイトまで(改行文字を含む)です。
- <この項の構成>
- (1) セクションの文法
- (2) エントリの文法
- (3) コメントの文法
セクションを記述する場合の文法を次に示します。
- セクション名::=文字列
- 予約セクション名:EDM_MAPPING_CLASS_LIST
- その他のセクション名::={各セクションのエントリで定義したセクション名}
- セクション名に指定できる文字を次に示します。
- 半角英数字
- 半角記号
- ただし,「[」(左角括弧)および「]」(右角括弧)を除きます。
セクションの種類は,次に示す3種類があります。
- マッピング先クラス一覧セクション
- マッピング先クラス用セクション
- マッピング先VariableArray型プロパティ用セクション
以降,それぞれのセクションの文法について説明します。
(a) マッピング先クラス一覧セクション
マッピング先となるクラスを指定するセクションです。セクション名には, EDM_MAPPING_CLASS_LISTを指定してください。このセクションは,プロパティマッピング定義中に1か所だけ存在します。
エントリには,マッピング先クラス名と,マッピング内容を記述するセクションの名称(マッピング先クラス用セクション名)を定義します。エントリには使用するすべてのクラスについて定義します。エントリに定義するクラスは,dmaClass_ConfigurationHistoryクラスのサブクラスおよびdmaClass_DocVersionクラスのサブクラスです。それぞれ一つずつまたはどちらか一つについて定義します。
エントリの内容を次に示します。
- エントリの内容
マッピング先クラス名=マッピング先クラス用セクション名
このエントリは,必ず指定してください。
(b) マッピング先クラス用セクション
マッピング先となるプロパティ名とタグ名(属性名)の対応を定義するセクションです。セクション名には,「(a) マッピング先クラス一覧セクション」で定義したマッピング先クラス用セクション名を指定します。使用するすべてのマッピング先クラスについて,このセクションを定義します。エントリには,次に示す内容を定義します。
- カレントタグ階層の指定(EDM_TAGエントリ)
- マッピング先となるプロパティ名とタグ名の対応の定義(マッピング先プロパティ名エントリ)
マッピング先に指定できるプロパティはユーザ追加プロパティだけです。マッピング先がVariableArray型プロパティの場合,タグ名との対応は別セクションで定義するので,このセクションではVariableArray型プロパティ名とそのプロパティ用のセクションの名称(マッピング先VariableArray型プロパティ用セクション名)を定義します(VariableArray型プロパティ名エントリ)。エントリの内容を次に示します。
- エントリの内容
- EDM_TAG=タグ文字列
- マッピング先プロパティ名=
{タグ文字列|マッピング先VariableArray型プロパティ用セクション名}
マッピング先プロパティ名エントリは,必ず指定してください。
(c) マッピング先VariableArray型プロパティ用セクション
マッピング先VariableArray型プロパティ中の要素プロパティ名とタグ名(属性名)の対応を定義するセクションです。セクション名には「(b) マッピング先クラス用セクション」で定義したマッピング先VariableArray型プロパティ用セクション名を指定します。「(b) マッピング先クラス用セクション」で定義したすべてのマッピング先VariableArray型プロパティについて,このセクションを定義します。エントリには次に示す内容を定義します。
- マッピング対象となるタグ(属性)群(子タグ群)を取りまとめるタグ(親タグ)の定義(EDM_RECORDエントリ)
- カレントタグ階層の指定(EDM_TAGエントリ)
- マッピング先となるプロパティ名とタグ名の対応の定義(マッピング先プロパティ名エントリ)
まず,EDM_RECORDエントリで親タグを定義し,次に各要素プロパティ名とタグ(属性)名の対応を定義します。親タグは,すべての子タグの上位にあり,繰り返し出現するタグである必要があります。なお,EDM_RECORDエントリはセクションの先頭だけに記述できます。エントリの内容を次に示します。
- エントリの内容
- EDM_RECORD=タグ文字列
- EDM_TAG=タグ文字列
- マッピング先プロパティ名=タグ文字列
EDM_RECORDエントリおよびマッピング先プロパティ名エントリは必ず指定してください。
エントリを記述する場合の文法を次に示します。
- エントリ名::=文字列
- 予約エントリ名:EDM_TAGおよびEDM_RECORD
- その他のエントリ名::={クラス名|プロパティ名}
- データ::={タグ文字列|EDM_RECORD用タグ文字列|セクション名}
- タグ文字列::="{タグ名[/タグ名]...[/属性名] | 属性名}"
- 次のどちらかの形式で指定します。
- 1個以上のタグ名,および0個または1個の属性名を指定します。
- 1個の属性名を指定します。
- タグ名とタグ名との間,およびタグ名と属性名との間は「/」(スラント)で区切ります。
- EDM_RECORD用タグ文字列::="タグ名[/タグ名]..."
- EDM_RECORDエントリ専用の記述形式です。タグ名は1回以上指定します。タグ名とタグ名との間は「/」(スラント)で区切ります。
- タグ名::= {文字列 | .}
- タグ名または「.」(ピリオド)を指定します。
- 属性名::= @文字列
- 注意
- エントリ名に指定できる文字はメタ情報のクラス名(edmProp_DisplayNameプロパティに指定した値)として指定できる文字です。
- タグ名および属性名に指定できる文字列は,XMLの名前文字列として使用できる文字列です。XMLの名前文字列は,1文字目は,半角英字,全角文字(全角数字を除く),「_」(下線文字),または「:」(コロン)です。2文字目以降は,半角英数字,全角文字(全角数字を除く),「_」(下線文字),「:」(コロン),「.」(ピリオド),または「-」(マイナス記号)です。
エントリの種類は,次に示す5種類があります。
- クラス名エントリ
- EDM_TAGエントリ
- EDM_RECORDエントリ
- プロパティ名エントリ
- VariableArray型プロパティ名エントリ
以降,それぞれのエントリの文法について説明します。
(a) クラス名エントリ
マッピング先クラス一覧セクション内だけで記述できるエントリです。エントリ名でマッピング先クラスを定義すると同時に,データでマッピング内容を記述するセクションの名称を定義します。
クラス名には,次のクラスを指定できます。
- dmaClass_ConfigurationHistoryクラスを継承したユーザ追加のサブクラス
- dmaClass_DocVersionクラスを継承したユーザ追加のサブクラス
- edmClass_ComponentDocVersionクラスを継承したユーザ追加のサブクラス
- edmClass_VersionTracedDocVersionクラスを継承したユーザ追加のサブクラス
- edmClass_VersionTracedComponentDocVersionクラスを継承したユーザ追加のサブクラス
指定内容を次に示します。
- 指定内容
クラス名=セクション名
(b) EDM_TAGエントリ
プロパティ名エントリの解析時にカレントとして扱うタグ階層を指定するエントリです。このエントリ以降に出現するプロパティ名エントリでは,指定されたタグはこのエントリで指定したタグの下の階層に存在するものとして解析されます。マッピング先クラス用セクションとマッピング先VariableArray型プロパティ用セクションで記述できます。
このエントリの指定は,次のEDM_TAGエントリが出現するか,セクションが終了するまで有効です。ただし,このエントリの指定後にマッピング先VariableArray型プロパティ用セクション名が定義されている場合,そのマッピング先VariableArray型プロパティ用セクションには,このエントリの指定内容が引き継がれます。
マッピング先VariableArray型プロパティ用セクションでこのエントリを指定した場合,指定したタグ階層はEDM_RECORDエントリで指定したタグの下の階層に存在するものとして解析されます。
このエントリで「.」(ピリオド)だけを指定すると「セクションの基本のEDM_TAGエントリ指定にする」という意味になります。このように指定すると,マッピング先クラス用セクション内ではカレントとして扱うタグ階層がないことを示し,マッピング先VariableArray型プロパティ用セクション内ではEDM_RECORDエントリの指定タグ階層を示します。指定内容を次に示します。
- 指定内容
EDM_TAG=タグ文字列
(c) EDM_RECORDエントリ
VariableArray型プロパティにマッピングする子タグ群の親の位置に当たる繰り返しタグ(親タグ)を定義するエントリです。VariableArray型プロパティの配列数は,ここで定義したタグの出現回数になります。このエントリは上位セクションのEDM_TAGエントリの指定を引き継ぐので,定義したタグの前には引き継いできたタグ階層が追加されます(上位セクションのEDM_TAG+指定タグ)。マッピング先VariableArray型プロパティ用セクションの先頭に必ず記述してください。
このエントリ以降に出現するEDM_TAGエントリおよびプロパティ名エントリでは,指定されたタグは,すべてこのエントリで指定したタグの下の階層に存在するものとして解析されます。このエントリの指定は,セクションが終了するまで有効です。
このエントリを記述する場合の注意事項を次に示します。
- このエントリには属性名および「.」(ピリオド)は指定できません。
- このエントリの指定タグと,上位セクションから引き継いだEDM_TAG指定の合計が2階層以上必要です。
指定内容を次に示します。
- 指定内容
EDM_RECORD=タグ文字列
(d) プロパティ名エントリ
マッピング先プロパティとマッピングするタグ(属性)を定義するエントリです。指定値によってマッピングする対象が異なります。プロパティ名のタグの指定形式について次の表に示します。
表4-22 プロパティ名のタグの指定形式
タグの指定形式 マッピング対象 タグ名 指定したタグの開始タグおよび終了タグに囲まれた文字列(タグ間のテキスト)をマッピングします。 属性名 指定した属性の値をマッピングします。対象タグは上位のEDM_TAGエントリおよびEDM_RECORDエントリで指定したタグです。 「.」(ピリオド) タグ間テキストをマッピングします。対象タグは上位のEDM_TAGエントリおよびEDM_RECORDエントリで指定したタグです。 「(b) EDM_TAGエントリ」および「(c) EDM_RECORDエントリ」で説明したように,プロパティ名エントリで指定したタグは,これらの二つのエントリが上位に存在するかどうかで解析のしかたが変わります。上位エントリによる指定タグの解析の違いについて次の表に示します。
表4-23 上位エントリによる指定タグの解析の違い
上位エントリ 解析結果および説明 EDM_TAGエントリ有り
- EDM_TAG+指定タグ
- 説明
- このエントリで指定したタグの前にEDM_TAGエントリで指定したタグ階層を追加して解析します。
EDM_RECORDエントリ有り
- 上位セクションのEDM_TAG+EDM_RECORD+指定タグ
- 説明
- このエントリで指定したタグの前にEDM_RECORDエントリで指定したタグを追加して解析します。
両方有り
- 上位セクションのEDM_TAG+EDM_RECORD+EDM_TAG+指定タグ
- 説明
- このエントリで指定したタグの前にEDM_RECORDエントリで指定したタグとEDM_TAGエントリで指定したタグを追加して解析します。
両方なし
- 指定タグだけ
- 説明
- このエントリで指定したタグをそのまま解析します。解析結果にタグ名は必要なので,この場合,属性名だけの指定や,「.」(ピリオド)の指定はできません。
このエントリはマッピング先クラス用セクションとマッピング先VariableArray型プロパティ用セクションで記述できます。マッピング先VariableArray型プロパティ用セクションでは,EDM_RECORDエントリが上位セクションのEDM_TAGエントリを引き継いでいるので,タグの内容には注意する必要があります。
マッピング先として指定できるプロパティはユーザ追加プロパティだけです。ただし,マッピング対象となる属性にはマッピング元XMLタグ定義(DCD)によってデータ型が設定されているので,プロパティと属性のデータ型の組み合わせによってはマッピングできない場合があります。マッピングできるデータ型の組み合わせを次の表に示します。
表4-24 マッピングできるデータ型の組み合わせ
プロパティのデータ型 マッピング対象のマッピング元XMLタグ定義(DCD)データ型 DMA_DATATYPE_INTEGER32 string,number,int,fixed,decimal,i1,i2,i4,ui1,ui2,ui4,fixed14.4(値が整数値を表す文字列であること) DMA_DATATYPE_BOOLEAN 同上(ただし値が'0'または'1'であること) DMA_DATATYPE_STRING entity,entities,bin.hex,bin.base64以外の型
- 注1
- タグ間テキストのマッピング元XMLタグ定義(DCD)データ型はstring型です。
- 注2
- マッピング元XMLタグ定義(DCD)データ型のboolean型は,DMA_DATATYPE_STRING型にだけマッピングできます。
指定内容を次に示します。
- 指定内容
プロパティ名=タグ文字列
(e) VariableArray型プロパティ名エントリ
マッピング先VariableArray型プロパティのマッピング内容を記述するセクションのセクション名を定義するエントリです。マッピング先クラス用セクション内だけで記述できます。指定内容を次に示します。
- 指定内容
プロパティ名=セクション名
「;」(セミコロン)で始まる行はコメント行として扱われます。
All Rights Reserved. Copyright (C) 2012, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2012, Hitachi Solutions, Ltd.