付録H.2 データ定義情報のXML形式ファイルへの出力

<この項の構成>
(1) ファイルフォーマット
(2) DTD(Document Type Definiton)

(1) ファイルフォーマット

データ定義をXML形式ファイルに出力するときのファイルフォーマットを,次に示します。

表H-1 データ定義ファイル(.cse)のファイルフォーマット

タグ種
含まれるタグ要素型名タグ出現回数設定可能値説明備考
データ定義パッケージ:Construction
データ定義ファイル情報File1  
データ定義情報Data1  
データ定義ファイル情報:File
IDID1"P-2651-8324"PP型名 
種別Type1"DATADEFINITION"データ定義ファイルのファイル種別 
バージョンVersion1"01"ファイルバージョン 
ステータスStatus1文字列ファイルステータス 
データ定義情報:Data
データ定義名称Name0または1文字列名称([サイン]タブ)の内容 
作成者Author0または1文字列作成者([サイン]タブ)の内容 
概要Outline0または1文字列(改行を含む)概要([サイン]タブ)の内容 
種別Type1"FILE":ファイル
"RDB":RDB
"DAM":DAM
"TAM":TAM
"RPCIN":RPC入力パラメタ
"RPCREPLY":RPC応答領域
"MESSAGE":メッセージ
"USERJOURNAL":ユーザジャナル
"MESSAGELOG":メッセージログ
"WORK":ワーク
定義種別(定義種別選択ダイアログで選択) 
結合項目数ItemNum1文字列結合項目(レコード定義)の数 
レベル開始値InitialLevel1文字列生成時のレベル番号開始の値 
レベル増分値IncrementLevel1文字列生成時のレベル番号増分の値 
初期値生成InitValue1"TRUE":する
"FALSE":しない
生成時の初期値展開の値 
COBOLソースパスCobolSourcePath1文字列生成先パス(生成ダイアログ オプションがCOBOL)の値 
CソースパスCSourcePath1文字列生成先パス(生成ダイアログ オプションがC)の値 
ファイル名FileName1文字列ファイル名([ファイル]タブ)の内容ファイル情報
ファイル種別FileType1"SEQUENTIAL":順編成
"RELATIVE":相対編成
"INDEX":索引編成
"INDEXEDSEQUENTIAL":索引順編成
"TEXT":テキスト編成
"CSV":CSV編成
ファイル編成([ファイル]タブ)の内容ファイル情報
レコード形成FlRecForm1"FIXED":固定長
"VARIABLE":可変長
レコード形式([ファイル]タブ)の内容 
キー名FlKeyName1文字列キー([ファイル]タブ)の内容 
キー名OIDFlKeyObjectId1文字列キー([ファイル]タブ)のOID 
キー名日付FlKeyUpdateTime1文字列キー([ファイル]タブ)の日付 
長さ設定エリアAreaName1文字列  
EXTERNALExternal1文字列  
テーブル名TableName1文字列表名称([RDB]タブ)の内容RDB情報
DAMファイル名DamFailName1文字列ファイル名([DAM]タブ)の内容DAM情報
プロックサイズBlockSize1文字列プロックサイズ([DAM]タブ)の内容DAM情報
TAMテーブル名TamTableName1文字列テーブル名称([TAM]タブ)の内容TAM情報
キー項目名KeyName1文字列キー([TAM]タブ)の内容TAM情報
キー項目OIDKeyObjectId1文字列キー(データ項目)のOIDTAM情報
キー項目更新日付KeyUpdateTime1文字列テーブル名称([TAM]タブ)の内容TAM情報
ユーザジャーナルコードUserJournalCode1文字列コード([ユーザジャーナル]タブ)の内容ユーザジャーナル情報
定義種別DefinitionType1"0":結合項目名称
"1":レコード定義名称
結合項目名称,またはレコード定義名称の区分 
最上位結合項目名称HighOrderKeyName1文字列最上位結合項目(レコード定義)の名称 
最上位結合項目OIDHighOrderKeyObjectId1文字列最上位結合項目のOID 
最上位結合項目更新日時HighOrderKeyUpdateTime1文字列最上位結合項目(レコード定義)の更新日時 
パス使用有無UsePath1"USE":利用する
"NOUSE":利用しない
  
レコードファイル名フルパスRecFullName1文字列  
キー名使用有無KeyUse1"1":利用する
"0":利用しない
  
生成キーワード情報GenerateKeyword1  
結合項目下位情報Record1辞書(レコード定義)の情報 
生成キーワード情報:GenerateKeyword
英数字項目CobolX1文字列 辞書情報
数字編集項目CobolZ1文字列 辞書情報
漢字項目CobolN1文字列 辞書情報
符号なし外部10進項目Cobol91文字列 辞書情報
符号付き外部10進項目CobolS1文字列 辞書情報
符号なし内部10進項目CobolU1文字列 辞書情報
符号付き内部10進項目CobolP1文字列 辞書情報
符号なし2進項目CobolBU1文字列 辞書情報
符号付き2進項目CobolB1文字列 辞書情報
外部浮動小数点項目CobolE1文字列 辞書情報
内部浮動小数点項目CobolD1文字列 辞書情報
内部ブール項目Cobol11文字列 辞書情報
外部ブール項目Cobol81文字列 辞書情報
時刻項目CobolXT1文字列 辞書情報
日付項目CobolXD1文字列 辞書情報
アドレスデータ項目CobolT1文字列 辞書情報
フリー定義CobolFree1文字列 辞書情報
文字型Cchar1文字列 辞書情報
文字型(ポインタ)Cpchar1文字列 辞書情報
符号付き短整数型Cshort1文字列 辞書情報
符号なし短整数型Cushort1文字列 辞書情報
符号付き整数型Cint1文字列 辞書情報
符号なし整数型Cuint1文字列 辞書情報
符号付き長整数型Clong1文字列 辞書情報
符号なし長整数型Culong1文字列 辞書情報
単精度浮動小数点型Cfloat1文字列 辞書情報
倍精度浮動小数点型Cdouble1文字列 辞書情報
拡張精度浮動小数点型ClongDouble1文字列 辞書情報
時刻型Cchart1文字列 辞書情報
日付型Cchard1文字列 辞書情報
フリー定義Cfree1文字列 辞書情報
ユーザ定義型UserCustomType0以上文字列 辞書情報
結合項目下位情報:Record
結合項目OIDObjectId1文字列 辞書情報
データ項目数DataItemNum1文字列 辞書情報
データ項目情報DataItem1  
データ項目情報:DataItem
データ項目名Nname1文字列 辞書情報
データ項目OIDObjectId1文字列 辞書情報
データ項目種別Kind1文字列 辞書情報
データ項目レベル番号Level1文字列 辞書情報
標準名称StandardName4文字列標準名称辞書情報
フリガナKana4文字列 辞書情報
コメントComment4文字列 辞書情報
フィールドField20文字列 辞書情報
分類TypeGroup1文字列 辞書情報
分類文字数TypeGroupString1文字列 辞書情報
けた数Total1文字列 辞書情報
小数部けた数DecimalPart1文字列 辞書情報
反復回数Repeat1文字列 辞書情報
辞書参照状態DictStatus1文字列  
データ項目更新日付Date1文字列  
辞書情報Dict12辞書(レコード定義)の情報 
生成キーワードKeyword2  
レコード属性RecordAttribute2  
辞書情報:Dict
言語区分Lang0または1文字列 辞書情報
データ項目名Name0または1文字列 辞書情報
タイプType0または1文字列 辞書情報
タイプ文字列TypeString0または1文字列 辞書情報
フリー定義文字列FreeString0または1文字列 辞書情報
編集文字列EditString0または1文字列 辞書情報
初期値InitValue0または1文字列 辞書情報
フィールドField0または1文字列 辞書情報
生成キーワード:Keyword
@DATAITEMDataItem0または1文字列 辞書情報
@LENLen0または1文字列 辞書情報
@PLENPlen0または1文字列 辞書情報
@ILENIlen0または1文字列 辞書情報
@DLENDlen0または1文字列 辞書情報
@VALUEValue0または1文字列 辞書情報
@OCCURSOccurs0または1文字列 辞書情報
@EDITCAHREditchar0または1文字列 辞書情報
@COMPComp0または1文字列 辞書情報
@FREEFree0または1文字列 辞書情報
レコード属性:RecordAttribute
CHARCTER TYPECharType0または1文字列  
CHARCTER TYPE値CharTypeVal0または1文字列  
指標名Index0または1文字列  
可変反復回数項目名ValOccursName0または1文字列  
可変反復回数最小値ValOccursMini0または1文字列  
アドレス名Address0または1文字列  
再定義名Redefine0または1文字列  
EXTERNAL句External0または1文字列  
SYNC句Sync0または1文字列  
JUST句Just0または1文字列  
BRANK ZERO句BrankZero0または1文字列  

注1

斜体で表記している要素型名の設定可能値については,対応するタグ種を参照してください。

注2

属性値に含まれる「<」「&」「"」,および内容(文字データ)に含まれる「<」「&」は,それぞれ次のように置換します。

注※

備考に「辞書情報」と記載しているタグ情報でも,レコード定義ファイルを使用している場合には,レコード定義の内容によってレコード定義情報が設定されます。


(2) DTD(Document Type Definiton)

データ定義ファイルのDTDを次に示します。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE XMI [
<!ELEMENT XMI.content (Construction.File,Construction.Data)>
<!ELEMENT Construction.File (Construction.File.ID,Construction.File.Type,Construction.File.Version,Construction.File.Status)>
<!ELEMENT Construction.File.ID (#PCDATA)>
<!ELEMENT Construction.File.Type (#PCDATA)>
<!ELEMENT Construction.File.Version (#PCDATA)>
<!ELEMENT Construction.File.Status (#PCDATA)>
<!ELEMENT Construction.Data (Construction.Data.Name?,Construction.Data.Author?,
                            Construction.Data.Outline?,Construction.Data.Type,
                            Construction.Data.ItemNum,Construction.Data.InitialLevel,
                            Construction.Data.IncrementLevel,Construction.Data.InitValue,
                            Construction.Data.CobolSourcePath,Construction.Data.CSourcePath,
                            Construction.Data.FileName,Construction.Data.FileType,
                            Construction.Data.FlKeyName,Construction.Data.FlKeyObjectId,
                            Construction.Data.FlKeyUpdateTime,Construction.Data.AreaName,
                            Construction.Data.External,Construction.Data.TableName,
                            Construction.Data.DamFileName,Construction.Data.BlockSize,
                            Construction.Data.TamTableName,Construction.Data.KeyName,
                            Construction.Data.KeyObjectID,Construction.Data.KeyUpdateTime,
                            Construction.Data.UserJournalCode,Construction.Data.HighOrderKeyName*,
                            Construction.Data.HighOrderKeyObjectID*,Construction.Data.HighOrderKeyUpdateTime*,
                            Construction.Data.generatekeyword,Construction.Data.record*)>
<!ELEMENT Construction.Data.Name (#PCDATA)>
<!ELEMENT Construction.Data.Author (#PCDATA)>
<!ELEMENT Construction.Data.Outline (#PCDATA)>
<!ELEMENT Construction.Data.Type (#PCDATA)>
<!ELEMENT Construction.Data.ItemNum (#PCDATA)>
<!ELEMENT Construction.Data.InitialLevel (#PCDATA)>
<!ELEMENT Construction.Data.IncrementLevel (#PCDATA)>
<!ELEMENT Construction.Data.InitValue (#PCDATA)>
<!ELEMENT Construction.Data.CobolSourcePath (#PCDATA)>
<!ELEMENT Construction.Data.CSourcePath (#PCDATA)>
<!ELEMENT Construction.Data.FileName (#PCDATA)>
<!ELEMENT Construction.Data.FileType (#PCDATA)>
<!ELEMENT Construction.Data.TableName (#PCDATA)>
<!ELEMENT Construction.Data.DamFileName (#PCDATA)>
<!ELEMENT Construction.Data.BlockSize (#PCDATA)>
<!ELEMENT Construction.Data.TamTableName (#PCDATA)>
<!ELEMENT Construction.Data.KeyName (#PCDATA)>
<!ELEMENT Construction.Data.KeyObjectID (#PCDATA)>
<!ELEMENT Construction.Data.KeyUpdateTime (#PCDATA)>
<!ELEMENT Construction.Data.UserJournalCode (#PCDATA)>
<!ELEMENT Construction.Data.DefinitionType (#PCDATA)>
<!ELEMENT Construction.Data.HighOrderKeyName (#PCDATA)>
<!ELEMENT Construction.Data.HighOrderKeyObjectID (#PCDATA)>
<!ELEMENT Construction.Data.HighOrderKeyUpdateTime (#PCDATA)>
<!ELEMENT Construction.Data.UsePath (#PCDATA)>
<!ELEMENT Construction.Data.RecFlName (#PCDATA)>
<!ELEMENT Construction.Data.KeyUse (#PCDATA)>
<!ELEMENT Construction.Data.generatekeyword (Construction.GenerateKeyword)>
<!ELEMENT Construction.GenerateKeyword (Construction.GenerateKeyword.CobolX,Construction.GenerateKeyword.CobolZ,
                                       Construction.GenerateKeyword.CobolN,Construction.GenerateKeyword.Cobol9,
                                       Construction.GenerateKeyword.CobolS,Construction.GenerateKeyword.CobolU,
                                       Construction.GenerateKeyword.CobolP,Construction.GenerateKeyword.CobolBU,
                                       Construction.GenerateKeyword.CobolB,Construction.GenerateKeyword.CobolE,
                                       Construction.GenerateKeyword.CobolD,Construction.GenerateKeyword.Cobol1,
                                       Construction.GenerateKeyword.Cobol8,Construction.GenerateKeyword.CobolXT,
                                       Construction.GenerateKeyword.CobolXD,Construction.GenerateKeyword.CobolT,
                                       Construction.GenerateKeyword.CobolFree,Construction.GenerateKeyword.CChar,
                                       Construction.GenerateKeyword.CPChar,Construction.GenerateKeyword.CShort,
                                       Construction.GenerateKeyword.CUShort,Construction.GenerateKeyword.CInt,
                                       Construction.GenerateKeyword.CUInt,Construction.GenerateKeyword.CLong,
                                       Construction.GenerateKeyword.CULong,Construction.GenerateKeyword.CFloat,
                                       Construction.GenerateKeyword.CDouble,Construction.GenerateKeyword.CLongDouble,
                                       Construction.GenerateKeyword.CCharT,Construction.GenerateKeyword.CCharD,
                                       Construction.GenerateKeyword.CFree,Construction.GenerateKeyword.UserCustomType*)>
<!ELEMENT Construction.GenerateKeyword.CobolX (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolZ (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolN (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.Cobol9 (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolS (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolU (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolP (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolBU (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolB (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolE (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolD (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.Cobol1 (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.Cobol8 (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolXT (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolXD (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolT (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CobolFree (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CChar (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CPChar (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CShort (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CUShort (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CInt (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CUInt (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CLong (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CULong (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CFloat (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CDouble (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CLongDouble (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CCharT (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CCharD (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.CFree (#PCDATA)>
<!ELEMENT Construction.GenerateKeyword.UserCustomType (#PCDATA)>
<!ELEMENT Construction.Data.record (Construction.Record)>
<!ELEMENT Construction.Record (Construction.Record.ObjectID,Construction.Record.DataItemNum,Construction.Record.dataitem)>
<!ELEMENT Construction.Record.ObjectID (#PCDATA)>
<!ELEMENT Construction.Record.DataItemNum (#PCDATA)>
<!ELEMENT Construction.Record.dataitem (Construction.DataItem+)>
<!ELEMENT Construction.DataItem (Construction.DataItem.Name,Construction.DataItem.ObjectID,
                                       Construction.DataItem.Kind,Construction.DataItem.Level,
                                       Construction.DataItem.StandardName+,Construction.DataItem.Kana+,
                                       Construction.DataItem.Comment+,Construction.DataItem.Field+,
                                       Construction.DataItem.TypeGroup,Construction.DataItem.TypeGroupString,
                                       Construction.DataItem.Total,Construction.DataItem.DecimalPart,
                                       Construction.DataItem.Repeat,Construction.DataItem.RepeatSet,
                                       Construction.DataItem.dictstate,Construction.DataItem.date,
                                       Construction.DataItem.dict,Construction.DataItem.keyword,
                                       Construction.DataItem.recordattribute)>
<!ELEMENT Construction.DataItem.Name (#PCDATA)>
<!ELEMENT Construction.DataItem.ObjectID (#PCDATA)>
<!ELEMENT Construction.DataItem.Kind (#PCDATA)>
<!ELEMENT Construction.DataItem.Level (#PCDATA)>
<!ELEMENT Construction.DataItem.StandardName (#PCDATA)>
<!ELEMENT Construction.DataItem.Kana (#PCDATA)>
<!ELEMENT Construction.DataItem.Comment (#PCDATA)>
<!ELEMENT Construction.DataItem.Field (#PCDATA)>
<!ELEMENT Construction.DataItem.TypeGroup (#PCDATA)>
<!ELEMENT Construction.DataItem.TypeGroupString (#PCDATA)>
<!ELEMENT Construction.DataItem.Total (#PCDATA)>
<!ELEMENT Construction.DataItem.DecimalPart (#PCDATA)>
<!ELEMENT Construction.DataItem.Repeat (#PCDATA)>
<!ELEMENT Construction.DataItem.RepeatSet (#PCDATA)>
<!ELEMENT Construction.DataItem.DictState (#PCDATA)>
<!ELEMENT Construction.DataItem.Date (#PCDATA)>
<!ELEMENT Construction.DataItem.dict (Construction.Dict)>      
<!ELEMENT Construction.Dict (Construction.Dict.Lang,Construction.Dict.Name?,
                            Construction.Dict.Type?,Construction.Dict.TypeString?,
                            Construction.Dict.FreeString?,Construction.Dict.EditString?,
                            Construction.Dict.InitValue?,Construction.Dict.Field?)*>
<!ELEMENT Construction.Dict.Lang (#PCDATA)>
<!ELEMENT Construction.Dict.Name (#PCDATA)>
<!ELEMENT Construction.Dict.Type (#PCDATA)>
<!ELEMENT Construction.Dict.TypeString (#PCDATA)>
<!ELEMENT Construction.Dict.FreeString (#PCDATA)>
<!ELEMENT Construction.Dict.EditString (#PCDATA)>
<!ELEMENT Construction.Dict.InitValue (#PCDATA)>
<!ELEMENT Construction.Dict.Field (#PCDATA)>
<!ELEMENT Construction.DataItem.keyword (Construction.Keyword)>
<!ELEMENT Construction.Keyword (Construction.Keyword.DataItem,
                               Construction.Keyword.Len?,
                               Construction.Keyword.PLen?,
                               Construction.Keyword.ILen?,
                               Construction.Keyword.DLen?,
                               Construction.Keyword.Value?,
                               Construction.Keyword.Occurs?,
                               Construction.Keyword.Editchar?,
                               Construction.Keyword.Comp?,
                               Construction.Keyword.Free?)*>
<!ELEMENT Construction.DataItem.recordattribute (Construction.RecordAttribute)>
<!ELEMENT Construction.RecordAttribute (Construction.RecordAttribute.CharType?,
                               Construction.RecordAttribute.CharTypeVal?,
                               Construction.RecordAttribute.Index?,
                               Construction.RecordAttribute.ValOccursName?,
                               Construction.RecordAttribute.ValOccursMini?,
                               Construction.RecordAttribute.Address?,
                               Construction.RecordAttribute.Redefine?,
                               Construction.RecordAttribute.External,
                               Construction.RecordAttribute.Sync,
                               Construction.RecordAttribute.Just,
                               Construction.RecordAttribute.BrankZero)*>
<!ELEMENT Construction.Keyword.DataItem (#PCDATA)>
<!ELEMENT Construction.Keyword.Len (#PCDATA)>
<!ELEMENT Construction.Keyword.PLen (#PCDATA)>
<!ELEMENT Construction.Keyword.ILen (#PCDATA)>
<!ELEMENT Construction.Keyword.DLen (#PCDATA)>
<!ELEMENT Construction.Keyword.Value (#PCDATA)>
<!ELEMENT Construction.Keyword.Occurs (#PCDATA)>
<!ELEMENT Construction.Keyword.Editchar (#PCDATA)>
<!ELEMENT Construction.Keyword.Comp (#PCDATA)>
<!ELEMENT Construction.Keyword.Free (#PCDATA)>
]>