付録G.3 プログラム定義情報のXML形式ファイルへの出力

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

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

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

表G-2 プログラム定義ファイル(.csq)のファイルフォーマット

タグ種
含まれるタグ要素型名タグ出現回数設定可能値説明備考
プログラム定義パッケージ:Construction
プログラム定義ファイル情報File1  
プログラム定義情報Program1  
共通可変記号情報CommonValiableSymbol1  
共通ユーザ追加処理情報CommonUOC1  
プログラム定義ファイル情報:File
IDID1"P-2651-8324"PP型名 
種別Type1"PROGRAMDEFINITION"プログラム定義ファイルのファイル種別 
バージョンVersion1"02"ファイルバージョン 
ステータスStatus1文字列ファイルステータス 
プログラム定義情報:Program
名称Name1文字列名称(サインタブ)の内容 
作成者Author1文字列作成者(サインタブ)の内容 
概要Outline1文字列(改行を含む)概要(サインタブ)の内容 
プログラミング言語ProgramLang1文字列言語種別(@@lang文)の値テンプレート情報
メモMemo1文字列(改行を含む)メモ(メモタブ)の内容 
テンプレートファイル情報TemplateFile1テンプレートファイル情報 
リソースファイル情報ResourceFile0以上リソースファイル情報 
業務ルール情報Rule0以上展開業務ルール情報 
テンプレートファイル情報:TemplateFile
ファイル名Name1文字列テンプレートファイルのファイル名 
更新日付UpdateTime1文字列:"YYYY/MM/DD"形式テンプレートファイルの更新日付 
パス参照フラグPathUse1"USE":参照あり
"NOUSE":参照なし
環境設定パス(テンプレートパス)の参照有無 
リソースファイル情報:ResourceFile
ファイル名Name1文字列リソースファイルのファイル名 
属性Kind1"DATADEFINITION":データ定義
"PARTS":部品
"USERPARTS":追加部品
"LOGICDESIGN":論理設計図
"XMAP3":マップ定義
"XML":XMLファイル
"GENERATE":生成ファイル
リソースファイルのファイル種別 
ファイルパスPath1文字列リソースファイルのファイルパス 
更新日付UpdateTime1文字列:"YYYY/MM/DD"形式リソースファイルの更新日付 
パス参照フラグPathUse1"USE":参照あり
"NOUSE":参照なし
環境設定パス(リソースパス)の参照有無 
更新カウンタReferenceCount1文字列リソースファイルの参照数 
業務ルール情報:Rule
業務ルール名Name1文字列業務ルール名 
OIDObjectID1文字列業務ルールOID 
更新日付UpdateTime1文字列:"YYYY/MM/DD"形式業務ルール更新日付 
更新カウンタReferenceCount1文字列業務ルールの参照数 
共通可変記号情報:CommonValiableSymbol
プログラミング言語ProgramLang1文字列言語種別(@@lang文)の値テンプレート情報
プログラミング言語の文字列区分LangStringType1"SYSTEM":システム
"USER":ユーザ
言語種別(@@lang文)の区分テンプレート情報
言語種別LangType1"ABSOLUTENESS":絶対
"NAME":名称
言語種別(@@lang文)の種別テンプレート情報
リポジトリの言語区分 RepositoryLang1文字列FOR_REPOSITORY(@@lang文)の値テンプレート情報
拡張子Extension1文字列EXTENSION(@@lang文)の値テンプレート情報
連結文字ModifyConnect1文字列MODIFY_CONNECT(@@lang文)の値テンプレート情報
修飾順序ModifyOrder1"ASCEND":昇順
"DESCEND":降順
MODIFY_ORDER(@@lang文)の値テンプレート情報
可変記号先頭文字 TopChar1文字可変記号先頭文字(ExpandChar)の値レジストリ情報
可変記号情報ValiableSymbol0以上   
可変記号情報:ValiableSymbol
可変記号名Name1文字列可変記号名(@@interface文)の値テンプレート情報
属性Kind1"STANDARD":標準)
"DATA":データ定義)
"DATAITEM":データ項目)
"PARTS":部品)
"IDL":IDL)
"INTERFACE":インタフェース)
"OPERATION":オペレーション)
"XMAP3":マップ定義)
"XML":XML
"XMLELEMENT":XMLELEMENT
可変記号の属性 ATTR(@@interface文)の値テンプレート情報
説明Comment1文字列(改行を含む)可変記号の説明COMMENT(@@interface文)の値テンプレート情報
配列最大数ArrayMax1文字列可変記号の配列最大数ARRAY_MAX(@@interface文)の値テンプレート情報
標準可変記号情報StandardValiableSymbol0または1標準可変記号の場合 
標準可変記号補足情報StandardValiableSymbolAuxiliary0または1標準可変記号の場合 
データ定義可変記号情報DataValiableSymbol0または1データ定義可変記号(ATTR=データ定義種別)の場合 
データ定義可変記号補足情報DataValiableSymbolAuxiliary0または1データ定義可変記号(ATTR=データ定義種別)の場合 
データ項目可変記号情報DataItemValiableSymbol0または1データ項目可変記号(ATTR=ITEM)の場合 
データ項目可変記号補足情報DataItemValiableSymbolAuxiliary0または1データ項目可変記号(ATTR=ITEM)の場合 
部品可変記号情報PartsValiableSymbol0または1部品可変記号(ATTR=PARTS)の場合 
インタフェース可変記号情報InterfaceValiableSymbol0または1インタフェース可変記号(ATTR=IDL/INTERFACE/OPERATION)の場合 
インタフェース可変記号補足情報InterfaceValiableSymbolAuxiliary0または1インタフェース可変記号(ATTR=IDL/INTERFACE/OPERATION)の場合 
マップ定義可変記号情報XMAP3ValiableSymbol0または1マップ定義可変記号(ATTR=XMAP3)の場合 
マップ定義可変記号補足情報XMAP3ValiableSymbolAuxiliary0または1マップ定義可変記号(ATTR=XMAP3)の場合 
XML可変記号情報XMLValiableSymbol0または1XML可変記号(ATTR=XML)の場合 
XML可変記号補足情報XMLValiableSymbolAuxiliary0または1XML可変記号(ATTR=XML)の場合 
XMLElement可変記号情報XMLElementValiableSymbol0または1XMLElement可変記号(ATTR=ELEMENT)の場合 
XMLElement 可変記号補足情報XMLElementValiableSymbolAuxiliary0または1XMLElement可変記号(ATTR=ELEMENT)の場合 
標準可変記号情報:StandardValiableSymbol
Value1文字列可変記号の値 
子可変記号情報ValiableSymbol1  可変記号情報
標準可変記号補足情報:StandardValiableSymbolAuxiliary
Value1文字列VALUE(@@interface文)の値テンプレート情報
子可変記号情報ValiableSymbol1 可変記号情報
データ定義可変記号情報:DataValiableSymbol
Value1文字列可変記号の値(データ定義ファイル名) 
データ定義ファイル情報ResourceFile1 リソースファイル情報
子可変記号情報ValiableSymbol1 可変記号情報
データ定義可変記号補足情報:DataValiableSymbolAuxiliary
種別Kind1"FILE":ファイル
"DB":DB
"TAM":TAM
"DAM":DAM
"RPCINPUTPARM":RPC入力パラメタ
"RPCREPLYPARM":RPC応答領域
"MESSAGE":メッセージ
"USERJOURNAL":ユーザジャーナル
"MESSAGELOG":メッセージログ
"WORK":共通作業領域
データ定義種別 ATTR(@@interface文)の値テンプレート情報
入出力種別IOKind1"NONE":なし
"IN":入力
"OUT":出力
"INOUT":入出力
データ定義の入出力の区分IO(@@interface文)の値テンプレート情報
子可変記号情報ValiableSymbol1 可変記号情報
データ項目可変記号情報:DataItemValiableSymbol
Value1文字列可変記号の値(データ項目名) 
標準名称StandardName4文字列標準名称辞書情報
上位データ項目UpperDataItem1文字列上位データ項目名 
データ定義可変記号名ValiableSymbolName1文字列データ項目を選択したデータ定義可変記号 
データ定義可変記号添字Contarray1文字列データ項目を選択したデータ定義可変記号の配列添字 
子可変記号情報ValiableSymbol1 可変記号情報
データ項目可変記号補足情報:DataItemValiableSymbolAuxiliary
参照区分ReferenceKind1"OWN":自データ定義可変記号
"VALIABLESYMBOL":指定データ定義可変記号
"ALL":全データ定義可変記号
データ定義可変記号の参照区分REF(@@interface文)の値テンプレート情報
参照先可変記号ReferenceValiableSymbol1文字列参照データ定義可変記号
参照区分が"ALL"の場合
 
子可変記号情報ValiableSymbol1 可変記号情報
部品可変記号情報:PartsValiableSymbol
部品ファイル情報ResourceFile1 リソースファイル情報
プロシジャ情報Procedure1  
プロシジャ情報:Procedure
プロシジャ名Name1文字列プロシジャの名称(@@proc文)の値テンプレート情報
コメントComment1文字列プロシジャの説明(@@proc文)の値テンプレート情報
引数情報Parameter1  
引数情報:Parameter
引数名Name1文字列引数の名称(@@proc文)の値テンプレート情報
コメントComment1文字列引数の説明(@@proc文)の値テンプレート情報
タイプType1"DIRECT":直接
"REFERENCE":参照
引数の値の参照区分(引数値設定ダイアログ)の値 
Value1文字列引数の値 タイプが"DIRECT"の場合 
参照可変記号名ValiableSymbolName1文字列引数の値を参照する可変記号名 タイプが"REFERENCE"の場合 
参照可変記号情報ValiableSymbol1引数の値を参照する可変記号の情報
タイプが"REFERENCE"の場合
可変記号情報
参照可変記号添字Contarray1文字列引数の値を参照する可変記号名の配列添字
タイプが"REFERENCE"の場合
 
インタフェース可変記号情報:InterfaceValiableSymbol
Value1文字列可変記号の値(論理設計図ファイル名) 
論理設計図ファイル情報ResourceFile1 リソースファイル情報
IDLファイル名IDLFileName1文字列選択IDLファイルの名称(インタフェース項目設定ダイアログ) 
インタフェース名InterFaceName1文字列選択インタフェースの名称(インタフェース項目設定ダイアログ) 
オペレーション名OperationName1文字列選択オペレーションの名称(インタフェース項目設定ダイアログ) 
IDLファイルオブジェクト情報IDLFileObject1選択IDLファイルの情報 
インタフェース定義オブジェクト情報InterfaceObject1選択インタフェースの情報 
オペレーション情報Operation1選択オペレーションの情報 
子可変記号情報ValiableSymbol1 可変記号情報
IDLファイルオブジェクト情報:IDLFileObject
インタフェースオブジェクト情報InterfaceObject0以上選択インタフェースの情報 
インタフェース定義オブジェクト情報:InterfaceObject
IDLファイル名IDLFileName1文字列IDLファイルのファイル名論理設計図ファイル情報
モジュール情報Module1  
インタフェース情報Interface1  
属性情報Attribute1  
オペレーション情報Operation1  
モジュール情報:Module
モジュール名Name1文字列モジュールの名称論理設計図ファイル情報
日本語名AliasName1文字列モジュールの日本語名論理設計図ファイル情報
コメントComment1文字列モジュールのコメント論理設計図ファイル情報
修飾名ScopeName1文字列モジュールの修飾名論理設計図ファイル情報
インタフェース情報:Interface
インタフェース名Name1文字列インタフェースの名称論理設計図ファイル情報
日本語名AliasName1文字列インタフェースの日本語名論理設計図ファイル情報
コメントComment1文字列インタフェースのコメント論理設計図ファイル情報
オブジェクト名ObjectName1文字列オブジェクトの名称論理設計図ファイル情報
オブジェクト日本語名ObjectAliasName1文字列オブジェクトの日本語名論理設計図ファイル情報
修飾名ScopeName1文字列オブジェクトの修飾名論理設計図ファイル情報
ベースインタフェース名BaseInterfaceName1文字列ベースインタフェースの名称論理設計図ファイル情報
属性情報:Attribute
属性名Name1文字列属性の名称論理設計図ファイル情報
readonly属性Readonly1"READONLY"
"NOTREADONLY"
readonly属性論理設計図ファイル情報
型名TypeName1文字列属性の型名論理設計図ファイル情報
ユーザ定義型UserType1文字列属性の型名(ユーザ定義型の場合)論理設計図ファイル情報
修飾名ScopeName1文字列属性の修飾名論理設計図ファイル情報
データ項目OIDObjectID1文字列属性の型のデータ項目OID(ユーザ定義型の場合)論理設計図ファイル情報
インタフェースデータ項目情報InterfaceDataItem    
インタフェースデータ項目情報:InterfaceDataItem
データ項目OIDObjectID1文字列 
更新日付UpdateTime1文字列 
種別  Type
SIMPLE
COMPOSITE
 
レコード情報Record0以上文字列 
データ項目情報DataItem0以上文字列 
レコード情報:Record
結合項目OIDObjectID1文字列辞書情報
データ項目数DataItemNum1文字列辞書情報
データ項目情報DataItem1 
データ項目情報:DataItem
データ項目名Nname1文字列辞書情報
データ項目OIDObjectID1文字列辞書情報
データ項目種別Kind1文字列辞書情報
データ項目レベル番号Level1文字列辞書情報
標準名称StandardName4文字列辞書情報
フリガナKana4文字列辞書情報
コメントComment4文字列辞書情報
フィールドField20文字列辞書情報
分類TypeGroup1文字列辞書情報
分類文字数TypeGroupString1文字列辞書情報
けた数Total1文字列辞書情報
小数部けた数DecimalPart1文字列辞書情報
反復回数Repeat1文字列辞書情報
辞書情報Dict1 
生成キーワードKeyword1 
辞書情報:Dict
言語区分Lang1文字列辞書情報
データ項目名Name1文字列辞書情報
タイプType1文字列辞書情報
タイプ文字列TypeString1文字列辞書情報
フリー定義文字列FreeString1文字列辞書情報
編集文字列EditString1文字列辞書情報
初期値InitValue1文字列辞書情報
フィールドField1文字列辞書情報
生成キーワード:Keyword
@DATAITEMDataItem1文字列辞書情報
@LENLen1文字列辞書情報
@PLENPlen1文字列辞書情報
@ILENIlen1文字列辞書情報
@DLENDlen1文字列辞書情報
@VALUEValue1文字列辞書情報
@OCCURSOccurs1文字列辞書情報
@EDITCHAREditchar1文字列辞書情報
@COMPComp1文字列辞書情報
@FREEFree1文字列辞書情報
オペレーション情報:Operation
オペレーション名Name1文字列オペレーションの名称論理設計図ファイル情報
日本語名AliasName1文字列オペレーションの日本語名論理設計図ファイル情報
コメントComment1文字列オペレーションのコメント論理設計図ファイル情報
oneway属性Oneway1"ONEWAY"
"NOTONEWAY"
オペレーションのoneway属性論理設計図ファイル情報
戻り値型名ReturnTypeName1文字列戻り値の型名論理設計図ファイル情報
戻り値ユーザ定義型ReturnUserType1文字列戻り値の型名(ユーザ定義型の場合)論理設計図ファイル情報
修飾名ScopeName1文字列戻り値の修飾名論理設計図ファイル情報
データ項目OIDObjectID1文字列戻り値の型のデータ項目OID論理設計図ファイル情報
引数情報Argument1  
例外情報Exception1  
リクエストコンテキスト情報RequestContext1  
引数情報:Argument
引数名Name1文字列引数の名称論理設計図ファイル情報
モードMode1"IN":入力
"OUT":出力
"INOUT":入出力
引数の入出力区分論理設計図ファイル情報
型名TypeName1文字列引数の型名論理設計図ファイル情報
ユーザ定義型UserType1文字列引数の型名(ユーザ定義型の場合)論理設計図ファイル情報
修飾名ScopeName1文字列引数の修飾名論理設計図ファイル情報
データ項目OIDObjectID1文字列引数の型のデータ項目OID論理設計図ファイル情報
インタフェースデータ項目情報InterfaceDataItem0以上   
例外情報:Exception
例外名Name1文字列例外の名称論理設計図ファイル情報
ユーザ定義型UserType1文字列例外の型名(ユーザ定義型の場合)論理設計図ファイル情報
修飾名ScopeName1文字列例外の修飾名論理設計図ファイル情報
データ項目OIDObjectID1文字列例外の型のデータ項目OID論理設計図ファイル情報
インタフェースデータ項目情報InterfaceDataItem0以上   
リクエストコンテキスト情報:RequestContext
プロパティ名Name1文字列プロパティの名称論理設計図ファイル情報
コメントComment1文字列リクエストコンテキストのコメント論理設計図ファイル情報
インタフェース可変記号補足情報:InterfaceValiableSymbolAuxiliary
子可変記号情報ValiableSymbol1 可変記号情報
マップ定義可変記号情報:XMAP3ValiableSymbol
Value1文字列可変記号の値(マップ定義ファイル名) 
マップ定義ファイル情報ResourceFile1 リソースファイル情報
子可変記号情報ValiableSymbol1 可変記号情報
マップ定義可変記号補足情報:XMAP3ValiableSymbolAuxiliary
入出力種別IOKind1"NONE":なし
"IN":入力
"OUT":出力
"INOUT":入出力
マップ定義ファイルの入出力の区分(@@interface文)の値テンプレート情報
子可変記号情報ValiableSymbol1 可変記号情報
XML可変記号情報:XMLValiableSymbol
Value1文字列可変記号の値(XMLファイル名) 
XMLファイル情報ResourceFile1 リソースファイル情報
パースレベルParseLevel1文字列パースレベル PARSE_LEVEL(@@interface文)の値テンプレートファイル情報
子可変記号情報ValiableSymbol1 可変記号情報
XML可変記号補足情報:XMLValiableSymbolAuxiliary
パースレベルParseLevel1文字列パースレベル PARSE_LEVEL(@@interface文)の値テンプレートファイル情報
子可変記号情報ValiableSymbol1 可変記号情報
XMLElement可変記号情報:XMLElementValiableSymbol
Value1以上文字列可変記号の値(ELEMENT)テンプレートファイル情報
子可変記号情報ValiableSymbol1 可変記号情報
XMLElement可変記号補足情報:XMLElementValiableSymbolAuxiliary
タグ名TagName1以上文字列タグ名 TAG_NAME(@@interface文)の値テンプレートファイル情報
属性名AttributeName1文字列属性名 ATTR_NAME(@@interface文)の値テンプレートファイル情報
子可変記号情報ValiableSymbol1 可変記号情報
共通ユーザ追加処理情報:CommonUoc
言語区分番号ProgramNO1文字列リポジトリアクセスの言語区分番号 
ユーザ追加処理情報UocBlock1  
ユーザ追加処理情報:UocBlock
ブロックIDID1文字列UOC名(@@uoc文)/ブロック名(@@diagram文)/業務ルール展開名(@@rule文)/ファイル名(@@file文)/部品ブロック名(@@parts文)テンプレートファイル情報
親ブロックIDParentID1文字列親ブロック名PARENT(@@uoc文/@@diagram文/@@rule文/@@file文/@@parts文)の値テンプレートファイル情報
種別Kind1"UOC":ユーザ追加処理
"BLOCK":ブロック
"RULE":業務ルール
"FILE":ファイル
"PARTS":部品
ブロックの種別 
コメントComment1文字列ブロックの説明 COMMENT(@@uoc文/@@diagram文/@@rule文/@@file文/@@parts文)の値テンプレートファイル情報
ユーザ追加処理テキストText1文字列ユーザ追加処理のテキスト(種別が"UOC"の場合) 
対応ソースファイル情報MutiSrc1対応ソースファイル情報 
業務ルール文情報RuleSentence1業務ルール文情報(種別が"RULE"の場合) 
業務ルール展開情報RuleExpand1業務ルール展開情報(種別が"RULE"の場合) 
対応ソースファイル情報:MultiSrc
対応ソースファイル名FileName1文字列ソースファイル名テンプレートファイル情報
業務ルール文情報:RuleSentence
適用条件Usage1"USE":利用する
"NOUSE":利用しない
適用条件有無 WITH USAGE(@@rule文)の値 
業務ルール文詳細情報RuleSentenceFull1  
業務ルール文詳細情報:RuleSentenceFull
種別Kind1"IN":入力
"OUT":出力
"NONE":なし
適用条件の種別 USAGE(@@rule文)の値テンプレートファイル情報
業務ルール可変記号情報RuleValiableSymbol1  
業務ルール可変記号情報:RuleValiableSymbol
可変記号Name1文字列REF(@@rule文)の可変記号名テンプレートファイル情報
可変記号配列Array1文字列REF(@@rule文)の可変記号の添字テンプレートファイル情報
子可変記号ChildName1文字列REF(@@rule文)の可変記号の子可変記号名(ATTR=ITEMの場合)テンプレートファイル情報
子可変記号配列ChildArray1文字列REF(@@rule文)の可変記号の子可変記号の添字テンプレートファイル情報
データ項目OIDリストObjectID1以上文字列REF(@@rule文)の可変記号のデータ項目OIDテンプレートファイル情報
接頭語Prefix1文字列PREFIX句(@@rule文)の値テンプレートファイル情報
接尾語Suffix1文字列SUFFIX句(@@rule文)の値テンプレートファイル情報
TOP句TopSpecified1"NOSPECIFIED":TOP句なし
"SPECIFIED":TOP句あり
TOP句の有無 
最上位データ項目名TopItemName1文字列TOP句(@@rule文)の値テンプレートファイル情報
業務ルール展開情報:RuleExpand
業務ルール名Name1文字列業務ルールの名称辞書情報
業務ルールOIDObjectID1文字列業務ルールのOID辞書情報
更新日付UpdateTime1文字列:"YYYY/MM/DD"形式データ項目定義ファイルの更新日付 
業務ルール更新日付RuleUpdateTime1文字列:"YYYY/MM/DD"形式業務ルールの更新日付辞書情報辞書情報
展開順序Order1文字列業務ルールの展開順序(業務ルール展開設定ダイアログ) 
コメントComment1文字列業務ルールのコメント辞書情報
業務ルールデータ項目情報RuleDataItem1業務ルールの関連データ項目情報辞書情報
業務ルールスクリプトScript1文字列業務ルールのスクリプト辞書情報
業務ルールデータ項目情報:RuleDataItem
データ項目名Name1文字列データ項目名辞書情報
データ項目OIDObjectID1文字列データ項目のOID辞書情報
言語別名称LangName1文字列言語別名称辞書情報
標準名称StandardName4文字列標準名称辞書情報
キーワードKeyword1文字列キーワード辞書情報
適用条件ApplyCondition1"IN":入力
"OUT":出力
"NONE":なし
適用条件辞書情報
業務ルール可変記号情報RuleValiableSymbol1関連業務ルール可変記号情報 
業務ルールデータ項目階層情報RuleDataItemStructure1データ項目階層情報辞書情報
業務ルールデータ項目階層情報:RuleDataItemStructure
データ項目名Name1文字列データ項目名辞書情報
データ項目OIDObjectID1文字列データ項目のOID辞書情報
言語別名称LangName1文字列言語別名称辞書情報
注1:
斜体で表記している要素型名の設定可能値については,対応するタグ種を参照してください。
注2:
属性値に含まれる「<」「&」「"」,および内容(文字データ)に含まれる「<」「&」は,それぞれ次のように置換します。
  • <:&lt;
  • &:&amp;
  • ":&quot;
注※:
備考に「辞書情報」と記載しているタグ情報でも,レコード定義ファイルを使用している場合には,レコード定義の内容によってレコード定義情報が設定されます。

(2) DTD(Document Type Definiton)

プログラム定義ファイルのDTDを次に示します。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE XMI [
<!ELEMENT XMI.content (Construction.File,
                      Construction.Program,
                      Construction.CommonValiableSymbol,
                      Construction.CommonUoc)>
<!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.Program (Construction.Program.Name?,
                               Construction.Program.Author?,
                               Construction.Program.Outline?,
                               Construction.Program.ProgramLang,
                               Construction.Program.Memo?,
                               Construction.Program.templatefile,
                               Construction.Program.resourcefile*,
                               Construction.Program.rule*)>
<!ELEMENT Construction.Program.Name (#PCDATA)>
<!ELEMENT Construction.Program.Author (#PCDATA)>
<!ELEMENT Construction.Program.Outline (#PCDATA)>
<!ELEMENT Construction.Program.ProgramLang (#PCDATA)>
<!ELEMENT Construction.Program.Memo (#PCDATA)>
<!ELEMENT Construction.Program.templatefile (Construction.TemplateFile)>
<!ELEMENT Construction.TemplateFile (Construction.TemplateFile.Name,
                                    Construction.TemplateFile.UpdateTime,
                                    Construction.TemplateFile.PathUse)>
<!ELEMENT Construction.TemplateFile.Name (#PCDATA)>
<!ELEMENT Construction.TemplateFile.UpdateTime (#PCDATA)>
<!ELEMENT Construction.TemplateFile.PathUse (#PCDATA)>
<!ELEMENT Construction.Program.resourcefile (Construction.ResourceFile*)>
<!ELEMENT Construction.ResourceFile (Construction.ResourceFile.Name,
                                    Construction.ResourceFile.Kind,
                                    Construction.ResourceFile.Path?,
                                    Construction.ResourceFile.UpdateTime,
                                    Construction.ResourceFile.PathUse,
                                    Construction.ResourceFile.ReferenceCount?)>
<!ELEMENT Construction.ResourceFile.Name (#PCDATA)>
<!ELEMENT Construction.ResourceFile.Kind (#PCDATA)>
<!ELEMENT Construction.ResourceFile.Path (#PCDATA)>
<!ELEMENT Construction.ResourceFile.UpdateTime (#PCDATA)>
<!ELEMENT Construction.ResourceFile.PathUse (#PCDATA)>
<!ELEMENT Construction.ResourceFile.ReferenceCount (#PCDATA)>
<!ELEMENT Construction.Program.rule (Construction.Rule*)>
<!ELEMENT Construction.Rule (Construction.Rule.Name,
                            Construction.Rule.ObjectID,
                            Construction.Rule.UpdateTime,
                            Construction.Rule.ReferenceCount)>
<!ELEMENT Construction.Rule.Name (#PCDATA)>
<!ELEMENT Construction.Rule.ObjectID (#PCDATA)>
<!ELEMENT Construction.Rule.UpdateTime (#PCDATA)>
<!ELEMENT Construction.Rule.ReferenceCount (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol (Construction.CommonValiableSymbol.ProgramLang,
                                            Construction.CommonValiableSymbol.LangStringType,
                                            Construction.CommonValiableSymbol.LangType,
                                            Construction.CommonValiableSymbol.RepositoryLang?,
                                            Construction.CommonValiableSymbol.Extension,
                                            Construction.CommonValiableSymbol.ModifyConnect,
                                            Construction.CommonValiableSymbol.ModifyOrder,
                                            Construction.CommonValiableSymbol.TopChar,
                                            Construction.CommonValiableSymbol.valiablesymbol*)>
<!ELEMENT Construction.CommonValiableSymbol.ProgramLang (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol.LangStringType (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol.LangType (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol.RepositoryLang (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol.Extension (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol.ModifyConnect (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol.ModifyOrder (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol.TopChar (#PCDATA)>
<!ELEMENT Construction.CommonValiableSymbol.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol (Construction.ValiableSymbol.Name,
                                      Construction.ValiableSymbol.Kind,
                                      Construction.ValiableSymbol.Comment?,
                                      Construction.ValiableSymbol.ArrayMax,
                                      Construction.ValiableSymbol.standardvaliablesymbol*,
                                      Construction.ValiableSymbol.standardvaliablesymbolauxiliary*,
                                      Construction.ValiableSymbol.datavaliablesymbol*,
                                      Construction.ValiableSymbol.datavaliablesymbolauxiliary*,
                                      Construction.ValiableSymbol.dataitemvaliablesymbol*,
                                      Construction.ValiableSymbol.dataitemvaliablesymbolauxiliary*,
                                      Construction.ValiableSymbol.partsvaliablesymbol*,
                                      Construction.ValiableSymbol.interfacevaliablesymbol*,
                                      Construction.ValiableSymbol.interfacevaliablesymbolauxiliary*,
                                      Construction.ValiableSymbol.xmap3valiablesymbol*,
                                      Construction.ValiableSymbol.xmap3valiablesymbolauxiliary*,
                                      Construction.ValiableSymbol.xmlvaliablesymbol*,
                                      Construction.ValiableSymbol.xmlvaliablesymbolauxiliary*,
                                      Construction.ValiableSymbol.xmlelementvaliablesymbol*,
                                      Construction.ValiableSymbol.xmlelementvaliablesymbolauxiliary*
                                       )>
<!ELEMENT Construction.ValiableSymbol.Name (#PCDATA)>
<!ELEMENT Construction.ValiableSymbol.Kind (#PCDATA)>
<!ELEMENT Construction.ValiableSymbol.Comment (#PCDATA)>
<!ELEMENT Construction.ValiableSymbol.ArrayMax (#PCDATA)>
<!ELEMENT Construction.ValiableSymbol.standardvaliablesymbol (Construction.StandardValiableSymbol*)>
<!ELEMENT Construction.StandardValiableSymbol (Construction.StandardValiableSymbol.Value,
                                              Construction.StandardValiableSymbol.valiablesymbol*)>
<!ELEMENT Construction.StandardValiableSymbol.Value (#PCDATA)>
<!ELEMENT Construction.StandardValiableSymbol.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.standardvaliablesymbolauxiliary (Construction.StandardValiableSymbolAuxiliary)>
<!ELEMENT Construction.StandardValiableSymbolAuxiliary (Construction.StandardValiableSymbolAuxiliary.Value,
                                                       Construction.StandardValiableSymbolAuxiliary.valiablesymbol)>
<!ELEMENT Construction.StandardValiableSymbolAuxiliary.Value (#PCDATA)>
<!ELEMENT Construction.StandardValiableSymbolAuxiliary.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.datavaliablesymbol (Construction.DataValiableSymbol*)>
<!ELEMENT Construction.DataValiableSymbol (Construction.DataValiableSymbol.Value,
                                          Construction.DataValiableSymbol.resourcefile,        
                                          Construction.DataValiableSymbol.valiablesymbol)>
<!ELEMENT Construction.DataValiableSymbol.Value (#PCDATA)>
<!ELEMENT Construction.DataValiableSymbol.resourcefile (Construction.ResourceFile*)>
<!ELEMENT Construction.DataValiableSymbol.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.datavaliablesymbolauxiliary (Construction.DataValiableSymbolAuxiliary*)>
<!ELEMENT Construction.DataValiableSymbolAuxiliary (Construction.DataValiableSymbolAuxiliary.Kind,
                                                   Construction.DataValiableSymbolAuxiliary.IOKind,
                                                   Construction.DataValiableSymbolAuxiliary.valiablesymbol)>
<!ELEMENT Construction.DataValiableSymbolAuxiliary.Kind (#PCDATA)>
<!ELEMENT Construction.DataValiableSymbolAuxiliary.IOKind (#PCDATA)>
<!ELEMENT Construction.DataValiableSymbolAuxiliary.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.dataitemvaliablesymbol (Construction.DataItemValiableSymbol*)>
<!ELEMENT Construction.DataItemValiableSymbol (Construction.DataItemValiableSymbol.Value,
                                              Construction.DataItemValiableSymbol.StandardName,
                                              Construction.DataItemValiableSymbol.UpperDataItem,
                                              Construction.DataItemValiableSymbol.ValiableSymbolName,
                                              Construction.DataItemValiableSymbol.Contarray,
                                              Construction.DataItemValiableSymbol.valiablesymbol)>
<!ELEMENT Construction.DataItemValiableSymbol.Value (#PCDATA)>
<!ELEMENT Construction.DataItemValiableSymbol.StandardName (#PCDATA)>
<!ELEMENT Construction.DataItemValiableSymbol.UpperDataItem (#PCDATA)>
<!ELEMENT Construction.DataItemValiableSymbol.ValiableSymbolName (#PCDATA)>
<!ELEMENT Construction.DataItemValiableSymbol.Contarray (#PCDATA)>
<!ELEMENT Construction.DataItemValiableSymbol.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.dataitemvaliablesymbolauxiliary (Construction.DataItemValiableSymbolAuxiliary)>
<!ELEMENT Construction.DataItemValiableSymbolAuxiliary (Construction.DataItemValiableSymbolAuxiliary.ReferenceKind,
                                                       Construction.DataItemValiableSymbolAuxiliary.ReferenceValiableSymbol?,
                                                       Construction.DataItemValiableSymbolAuxiliary.valiablesymbol)>
<!ELEMENT Construction.DataItemValiableSymbolAuxiliary.ReferenceKind (#PCDATA)>
<!ELEMENT Construction.DataItemValiableSymbolAuxiliary.ReferenceValiableSymbol (#PCDATA)>
<!ELEMENT Construction.DataItemValiableSymbolAuxiliary.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.partsvaliablesymbol (Construction.PartsValiableSymbol*)>
<!ELEMENT Construction.partsvaliablesymbol (Construction.PartsValiableSymbol.resourcefile,
                                           Construction.PartsValiableSymbol.procedure)>
<!ELEMENT Construction.PartsValiableSymbol.resourcefile (Construction.ResourceFile*)>
<!ELEMENT Construction.PartsValiableSymbol.procedure (Construction.Procedure*)>
<!ELEMENT Construction.Procedure (Construction.Procedure.Name,
                                 Construction.Procedure.Comment?,
                                 Construction.Procedure.parameter)>
<!ELEMENT Construction.Procedure.Name (#PCDATA)>
<!ELEMENT Construction.Procedure.Comment (#PCDATA)>
<!ELEMENT Construction.Procedure.parameter (Construction.Parameter*)>
<!ELEMENT Construction.Parameter (Construction.Parameter.Name,
                                 Construction.Parameter.Comment?,
                                 Construction.Parameter.Type,
                                 Construction.Parameter.Value?,
                                 Construction.Parameter.ValiableSymbolName?,
                                 Construction.Parameter.Contarray)>
<!ELEMENT Construction.Parameter.Name (#PCDATA)>
<!ELEMENT Construction.Parameter.Comment (#PCDATA)>
<!ELEMENT Construction.Parameter.Type (#PCDATA)>
<!ELEMENT Construction.Parameter.Value (#PCDATA)>
<!ELEMENT Construction.Parameter.ValiableSymbolName (#PCDATA)>
<!ELEMENT Construction.Parameter.Contarray (#PCDATA)>
<!ELEMENT Construction.ValiableSymbol.interfacevaliablesymbol (Construction.InterfaceValiableSymbol*)>
<!ELEMENT Construction.InterfaceValiableSymbol (Construction.InterfaceValiableSymbol.Value,
                                               Construction.InterfaceValiableSymbol.resourcefile,
                                               Construction.InterfaceValiableSymbol.IDLFileName,
                                               Construction.InterfaceValiableSymbol.InterfaceName,
                                               Construction.InterfaceValiableSymbol.OperationName?,
                                               Construction.InterfaceValiableSymbol.IDLFileObject,
                                               Construction.InterfaceValiableSymbol.interfaceobject,
                                               Construction.InterfaceValiableSymbol.operation,
                                               Construction.InterfaceValiableSymbol.valiablesymbol)>
<!ELEMENT Construction.InterfaceValiableSymbol.Value (#PCDATA)>
<!ELEMENT Construction.InterfaceValiableSymbol.resourcefile (Construction.ResourceFile*)>
<!ELEMENT Construction.InterfaceValiableSymbol.IDLFileName (#PCDATA)>
<!ELEMENT Construction.InterfaceValiableSymbol.InterfaceName (#PCDATA)>
<!ELEMENT Construction.InterfaceValiableSymbol.OperationName (#PCDATA)>
<!ELEMENT Construction.InterfaceValiableSymbol.IDLFileObject (Construction.IDLFileObject*)>
<!ELEMENT Construction.IDLFileObject (Construction.IDLFileObject.interfaceobject?)>
<!ELEMENT Construction.IDLFileObject.interfaceobject (Construction.InterfaceObject*)>
<!ELEMENT Construction.InterfaceValiableSymbol.interfaceobject (Construction.InterfaceObject*)>
<!ELEMENT Construction.InterfaceObject (Construction.InterfaceObject.IDLFileName,
                                       Construction.InterfaceObject.module,
                                       Construction.InterfaceObject.interface,
                                       Construction.InterfaceObject.attribute,
                                       Construction.InterfaceObject.operation)>
<!ELEMENT Construction.InterfaceObject.IDLFileName (#PCDATA)>
<!ELEMENT Construction.InterfaceObject.module (Construction.Module*)>
<!ELEMENT Construction.Module (Construction.Module.Name?,
                              Construction.Module.AliasName?,
                              Construction.Module.Comment?,
                              Construction.Module.ScopeName?)>
<!ELEMENT Construction.Module.Name (#PCDATA)>
<!ELEMENT Construction.Module.AliasName (#PCDATA)>
<!ELEMENT Construction.Module.Comment (#PCDATA)>
<!ELEMENT Construction.Module.ScopeName (#PCDATA)>
<!ELEMENT Construction.InterfaceObject.interface (Construction.Interface*)>
<!ELEMENT Construction.Interface (Construction.Interface.Name,
                                 Construction.Interface.AliasName,
                                 Construction.Interface.Comment?,
                                 Construction.Interface.ObjectName,
                                 Construction.Interface.ObjectAliaseName,
                                 Construction.Interface.ScopeName,
                                 Construction.Interface.BaseInterfaceName?)>
<!ELEMENT Construction.Interface.Name (#PCDATA)>
<!ELEMENT Construction.Interface.AliasName (#PCDATA)>
<!ELEMENT Construction.Interface.Comment (#PCDATA)>
<!ELEMENT Construction.Interface.ObjectName (#PCDATA)>
<!ELEMENT Construction.Interface.ObjectAliaseName (#PCDATA)>
<!ELEMENT Construction.Interface.ScopeName (#PCDATA)>
<!ELEMENT Construction.Interface.BaseInterfaceName (#PCDATA)>
<!ELEMENT Construction.InterfaceObject.attribute (Construction.Attribute*)>
<!ELEMENT Construction.Attribute (Construction.Attribute.Name,
                                 Construction.Attribute.Readonly,
                                 Construction.Attribute.TypeName,
                                 Construction.Attribute.UserType,
                                 Construction.Attribute.ScopeName,
                                 Construction.Attribute.ObjectID,
                                 Construction.Attribute.interfacedataitem)>
<!ELEMENT Construction.Attribute.Name (#PCDATA)>
<!ELEMENT Construction.Attribute.Readonly (#PCDATA)>
<!ELEMENT Construction.Attribute.TypeName (#PCDATA)>
<!ELEMENT Construction.Attribute.UserType (#PCDATA)>
<!ELEMENT Construction.Attribute.ScopeName (#PCDATA)>
<!ELEMENT Construction.Attribute.ObjectID (#PCDATA)>
<!ELEMENT Construction.Attribute.interfacedataitem (Construction.InterfaceDataItem*)>
<!ELEMENT Construction.InterfaceDataItem (Construction.InterfaceDataItem.ObjectID,
                                         Construction.InterfaceDataItem.UpdateTime,
                                         Construction.InterfaceDataItem.Type,
                                         Construction.InterfaceDataItem.record*,
                                         Construction.InterfaceDataItem.dataitem*)>
<!ELEMENT Construction.InterfaceDataItem.ObjectID (#PCDATA)>
<!ELEMENT Construction.InterfaceDataItem.UpdateTime (#PCDATA)>
<!ELEMENT Construction.InterfaceDataItem.Type (#PCDATA)>
<!ELEMENT Construction.InterfaceDataItem.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.dict,
                                       Construction.DataItem.keyword)>
<!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.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.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)>
<!ELEMENT Construction.InterfaceDataItem.dataitem (Construction.DataItem+)>
<!ELEMENT Construction.InterfaceObject.operation (Construction.Operation*)>
<!ELEMENT Construction.Operation (Construction.Operation.Name,
                                 Construction.Operation.AliasName,
                                 Construction.Operation.Comment?,
                                 Construction.Operation.Oneway,
                                 Construction.Operation.ReturnTypeName,
                                 Construction.Operation.ReturnUserType?,
                                 Construction.Operation.ScopeName?,
                                 Construction.Operation.ObjectID?,
                                 Construction.Operation.interfacedataitem,
                                 Construction.Operation.argument,
                                 Construction.Operation.exception,
                                 Construction.Operation.requestcontext)>      
<!ELEMENT Construction.Operation.Name (#PCDATA)>
<!ELEMENT Construction.Operation.AliasName (#PCDATA)>
<!ELEMENT Construction.Operation.Comment (#PCDATA)>
<!ELEMENT Construction.Operation.Oneway (#PCDATA)>
<!ELEMENT Construction.Operation.ReturnTypeName (#PCDATA)>
<!ELEMENT Construction.Operation.ReturnUserType (#PCDATA)>
<!ELEMENT Construction.Operation.ScopeName (#PCDATA)>
<!ELEMENT Construction.Operation.ObjectID (#PCDATA)>
<!ELEMENT Construction.Operation.interfacedataitem (Construction.InterfaceDataItem*)>
<!ELEMENT Construction.Operation.argument (Construction.Argument*)>
<!ELEMENT Construction.Argument (Construction.Argument.Name,
                                Construction.Argument.Mode,
                                Construction.Argument.TypeName,
                                Construction.Argument.UserType?,
                                Construction.Argument.ScopeName?,
                                Construction.Argument.ObjectID,
                                Construction.Argument.interfacedataitem)>
<!ELEMENT Construction.Argument.Name (#PCDATA)>
<!ELEMENT Construction.Argument.Mode (#PCDATA)>
<!ELEMENT Construction.Argument.TypeName (#PCDATA)>
<!ELEMENT Construction.Argument.UserType (#PCDATA)>
<!ELEMENT Construction.Argument.ScopeName (#PCDATA)>
<!ELEMENT Construction.Argument.ObjectID (#PCDATA)>
<!ELEMENT Construction.Argument.interfacedataitem (Construction.InterfaceDataItem*)>
<!ELEMENT Construction.Operation.exception (Construction.Exception*)>
<!ELEMENT Construction.Exception (Construction.Exception.Name,
                                 Construction.Exception.UserType,
                                 Construction.Exception.ScopeName,
                                 Construction.Exception.ObjectID,
                                 Construction.Exception.interfacedataitem)>
<!ELEMENT Construction.Exception.Name (#PCDATA)>
<!ELEMENT Construction.Exception.UserType (#PCDATA)>
<!ELEMENT Construction.Exception.ScopeName (#PCDATA)>
<!ELEMENT Construction.Exception.ObjectID (#PCDATA)>
<!ELEMENT Construction.Exception.interfacedataitem (Construction.InterfaceDataItem*)>
<!ELEMENT Construction.Operation.requestcontext (Construction.RequestContext*)>
<!ELEMENT Construction.RequestContext (Construction.RequestContext.Name,
                                      Construction.RequestContext.Comment?)>
<!ELEMENT Construction.RequestContext.Name (#PCDATA)>
<!ELEMENT Construction.RequestContext.Comment (#PCDATA)>
<!ELEMENT Construction.ValiableSymbol.interfacevaliablesymbolauxiliary (Construction.InterfaceValiableSymbolAuxiliary*)>
<!ELEMENT Construction.InterfaceValiableSymbolAuxiliary (Construction.InterfaceValiableSymbolAuxiliary.valiablesymbol*)>
<!ELEMENT Construction.InterfaceValiableSymbolAuxiliary.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.xmap3valiablesymbol (Construction.Xmap3ValiableSymbol*)>
<!ELEMENT Construction.Xmap3ValiableSymbol (Construction.Xmap3ValiableSymbol.Value,
                                          Construction.Xmap3ValiableSymbol.resourcefile,
                                          Construction.Xmap3ValiableSymbol.valiablesymbol)>
<!ELEMENT Construction.Xmap3ValiableSymbol.Value (#PCDATA)>
<!ELEMENT Construction.Xmap3ValiableSymbol.resourcefile (Construction.ResourceFile*)>
<!ELEMENT Construction.Xmap3ValiableSymbol.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.xmap3valiablesymbolauxiliary (Construction.Xmap3ValiableSymbolAuxiliary*)>
<!ELEMENT Construction.Xmap3ValiableSymbolAuxiliary (Construction.Xmap3ValiableSymbolAuxiliary.IOKind,
                                                    Construction.Xmap3ValiableSymbolAuxiliary.valiablesymbol)>
<!ELEMENT Construction.Xmap3ValiableSymbolAuxiliary.IOKind (#PCDATA)>
<!ELEMENT Construction.Xmap3ValiableSymbolAuxiliary.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.xmlvaliablesymbol (Construction.XMLValiableSymbol)*>
<!ELEMENT Construction.XMLValiableSymbol (Construction.XMLValiableSymbol.Value,
                                         Construction.XMLValiableSymbol.resource,
                                         Construction.XMLValiableSymbol.ParseLevel,
                                         Construction.XMLValiableSymbol.valiablesymbol)>
<!ELEMENT Construction.XMLValiableSymbol.Value (#PCDATA)>
<!ELEMENT Construction.XMLValiableSymbol.resourcefile (Construction.ResourceFile*)>
<!ELEMENT Construction.XMLValiableSymbol.ParseLevel (#PCDATA)>
<!ELEMENT Construction.XMLValiableSymbol.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.xmlvaliablesymbolauxiliary (Construction.XMLValiableSymbolAuxiliary)>
<!ELEMENT Construction.XMLValiableSymbolAuxiliary (Construction.XMLValiableSymbolAuxiliary.ParseLevel,
                                                  Construction.XMLValiableSymbolAuxiliary.valiablesymbol)>
<!ELEMENT Construction.XMLValiableSymbolAuxiliary.ParseLevel (#PCDATA)>
<!ELEMENT Construction.XMLValiableSymbolAuxiliary.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.xmlelementvaliablesymbol (Construction.XMLElementValiableSymbol*)>
<!ELEMENT Construction.XMLElementValiableSymbol (Construction.XMLElementValiableSymbol.Value,
                                                Construction.XMLElementValiableSymbol.valiablesymbol)>
<!ELEMENT Construction.XMLElementValiableSymbol.Value (#PCDATA)>
<!ELEMENT Construction.XMLElementValiableSymbol.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.ValiableSymbol.xmlelementvaliablesymbolauxiliary (Construction.XMLElementValiableSymbolAuxiliary)*>
<!ELEMENT Construction.XMLElementValiableSymbolAuxiliary (Construction.XMLElementValiableSymbolAuxiliary.TagName,
                                                         Construction.XMLElementValiableSymbolAuxiliary.AttributeName,
                                                         Construction.XMLElementValiableSymbolAuxiliary.valiablesymbol)>
<!ELEMENT Construction.XMLElementValiableSymbolAuxiliary.TagName (#PCDATA)>
<!ELEMENT Construction.XMLElementValiableSymbolAuxiliary.AttributeName (#PCDATA)>
<!ELEMENT Construction.XMLElementValiableSymbolAuxiliary.valiablesymbol (Construction.ValiableSymbol*)>
<!ELEMENT Construction.CommonUoc (Construction.CommonUoc.ProgramNo,
                                 Construction.CommonUoc.uocblock)>
<!ELEMENT Construction.CommonUoc.ProgramNo (#PCDATA)>
<!ELEMENT Construction.CommonUoc.uocblock (Construction.UocBlock*)>
<!ELEMENT Construction.UocBlock (Construction.UocBlock.ID,
                                Construction.UocBlock.ParentID?,
                                Construction.UocBlock.Kind,
                                Construction.UocBlock.Comment?,
                                Construction.UocBlock.Text?,
                                Construction.UocBlock.Thinkaid?,
                                Construction.UocBlock.multisrc,
                                Construction.UocBlock.rulesentence,
                                Construction.UocBlock.ruleexpand)>
<!ELEMENT Construction.UocBlock.ID (#PCDATA)>
<!ELEMENT Construction.UocBlock.ParentID (#PCDATA)>
<!ELEMENT Construction.UocBlock.Kind (#PCDATA)>
<!ELEMENT Construction.UocBlock.Comment (#PCDATA)>
<!ELEMENT Construction.UocBlock.Text (#PCDATA)>
<!ELEMENT Construction.UocBlock.Thinkaid (#PCDATA)>
<!ELEMENT Construction.UocBlock.multisrc (Construction.MultiSrc*)>
<!ELEMENT Construction.MultiSrc (Construction.MultiSrc.FileName)>
<!ELEMENT Construction.MultiSrc.FileName (#PCDATA)>
<!ELEMENT Construction.UocBlock.rulesentence (Construction.RuleSentence*)>
<!ELEMENT Construction.RuleSentence (Construction.RuleSentence.Usage,
                                    Construction.RuleSentence.rulesentencefull)>
<!ELEMENT Construction.RuleSentence.Usage (#PCDATA)>
<!ELEMENT Construction.RuleSentence.rulesentencefull (Construction.RuleSentenceFull*)>
<!ELEMENT Construction.RuleSentenceFull (Construction.RuleSentenceFull.Kind,
                                        Construction.RuleSentenceFull.rulevaliablesymbol)>
<!ELEMENT Construction.RuleSentenceFull.Kind (#PCDATA)>
<!ELEMENT Construction.RuleSentenceFull.rulevaliablesymbol (Construction.RuleValiableSymbol*)>
<!ELEMENT Construction.RuleValiableSymbol (Construction.RuleValiableSymbol.Name,
                                          Construction.RuleValiableSymbol.Array,
                                          Construction.RuleValiableSymbol.ChildName?,
                                          Construction.RuleValiableSymbol.ChildArray,
                                          Construction.RuleValiableSymbol.ObjectID+,
                                          Construction.RuleValiableSymbol.Prefix?,
                                          Construction.RuleValiableSymbol.Suffix?,
                                          Construction.RuleValiableSymbol.TopSpecified,
                                          Construction.RuleValiableSymbol.TopItemName?)>
<!ELEMENT Construction.RuleValiableSymbol.Name (#PCDATA)>
<!ELEMENT Construction.RuleValiableSymbol.Array (#PCDATA)>
<!ELEMENT Construction.RuleValiableSymbol.ChildName (#PCDATA)>
<!ELEMENT Construction.RuleValiableSymbol.ChildArray (#PCDATA)>
<!ELEMENT Construction.RuleValiableSymbol.ObjectID (#PCDATA)>
<!ELEMENT Construction.RuleValiableSymbol.Prefix (#PCDATA)>
<!ELEMENT Construction.RuleValiableSymbol.Suffix (#PCDATA)>
<!ELEMENT Construction.RuleValiableSymbol.TopSpecified (#PCDATA)>
<!ELEMENT Construction.RuleValiableSymbol.TopItemName (#PCDATA)>
<!ELEMENT Construction.UocBlock.ruleexpand (Construction.RuleExpand*)>
<!ELEMENT Construction.RuleExpand (Construction.RuleExpand.Name,
                                  Construction.RuleExpand.ObjectID,
                                  Construction.RuleExpand.UpdateTime,
                                  Construction.RuleExpand.RuleUpdateTime,
                                  Construction.RuleExpand.Order,
                                  Construction.RuleExpand.Comment?,
                                  Construction.RuleExpand.ruledataitem,
                                  Construction.RuleExpand.Script)>
<!ELEMENT Construction.RuleExpand.Name (#PCDATA)>
<!ELEMENT Construction.RuleExpand.ObjectID (#PCDATA)>
<!ELEMENT Construction.RuleExpand.UpdateTime (#PCDATA)>
<!ELEMENT Construction.RuleExpand.RuleUpdateTime (#PCDATA)>
<!ELEMENT Construction.RuleExpand.Order (#PCDATA)>
<!ELEMENT Construction.RuleExpand.Comment (#PCDATA)>
<!ELEMENT Construction.RuleExpand.ruledataitem (Construction.RuleDataItem*)>
<!ELEMENT Construction.RuleDataItem (Construction.RuleDataItem.Name,
                                   Construction.RuleDataItem.ObjectID,
                                   Construction.RuleDataItem.LangName,
                                   Construction.RuleDataItem.StandardName+,
                                   Construction.RuleDataItem.Keyword,
                                   Construction.RuleDataItem.Applycondition,
                                   Construction.RuleDataItem.rulevaliablesymbol,
                                   Construction.RuleDataItem.ruledataitemstructure)>
<!ELEMENT Construction.RuleDataItem.Name (#PCDATA)>
<!ELEMENT Construction.RuleDataItem.ObjectID (#PCDATA)>
<!ELEMENT Construction.RuleDataItem.LangName (#PCDATA)>
<!ELEMENT Construction.RuleDataItem.StandardName (#PCDATA)>
<!ELEMENT Construction.RuleDataItem.Keyword (#PCDATA)>
<!ELEMENT Construction.RuleDataItem.Applycondition (#PCDATA)>

<!ELEMENT Construction.RuleDataItem.rulevaliablesymbol (Construction.RuleValiableSymbol*)>
<!ELEMENT Construction.RuleDataItem.ruledataitemstructure (Construction.RuleDataItemStructure*)>
<!ELEMENT Construction.RuleDataItemStructure (Construction.RuleDataItemStructure.Name,
                                             Construction.RuleDataItemStructure.ObjectID,
                                             Construction.RuleDataItemStructure.LangName)>
<!ELEMENT Construction.RuleDataItemStructure.Name (#PCDATA)>
<!ELEMENT Construction.RuleDataItemStructure.ObjectID (#PCDATA)>
<!ELEMENT Construction.RuleDataItemStructure.LangName (#PCDATA)>
<!ELEMENT Construction.RuleExpand.Script (#PCDATA)>
]>