ここでは、XML文書のフォーマット変換について説明します。
Formatmanagerは、Formatmanagerクライアントで生成された変換テーブルを参照して、XML文書とユーザ固有フォーマットとの相互変換を行います。フォーマット変換時に指定されたフラットID/複数一般ID/伝票形式ID/可変長IDを変換テーブルから検索し、ユーザ固有フォーマットとXML文書の対応を決定します。これに従って変換が実行されます。
図5.61 ユーザ固有フォーマットとXML文書の対応
Formatmanagerクライアントの「一般フォーマット登録」で登録した「フラット名称」がXML文書のルート要素名(ルートタグ名)に、「XML属性フィールド」がチェックされていないそれぞれの「フィールド名」がXML文書の要素名(タグ名)に、「XML属性フィールド」がチェックされている「フィールド名」がXMLタグ内の属性名に、「XML属性(固定値)」がXMLタグ内の属性名と属性値に対応します。ユーザ固有フォーマットの実際のデータは、XML文書の要素、または属性値に対応します。
内部サブセットのDTDをもつXML文書(DTD)を出力する場合には、「一般フォーマット登録」で登録したレイアウト情報に対応するDTDが、XML文書の内部DTDとして出力されます。
XML文書(Schema)を出力する場合には、Formatmanagerクライアントの「一般フォーマット登録」で登録した「XML Schema情報」がルート要素のXML属性として出力され、「接頭辞」が要素名の前に名前空間接頭辞として出力されます。
複数のレコードは、フラットID/複数一般ID/伝票形式ID/可変長IDに定義された項目群を1レコードとして、その項目群が複数回現れることで表現されます。Formatmanagerでは基本的に1レコードのXML文書を扱いますが、上図では例として2レコードを含むXML文書を示しています。
Formatmanagerクライアントの入力内容 | |||||
---|---|---|---|---|---|
DTD部 | XMLインスタンス部 | XML Schema参照部 | XMLインスタンス部 | ||
フラット名称 | 文書型宣言(DOCTYPE宣言)のルート要素名 | ルート要素名 | - | ルート要素名 | |
XML Schema情報 | 名前空間未指定時のXML Schemaファイル名 | - | - | xsi:noNamespaceSchemaLocation属性と属性値 | - |
名前空間URI | - | - | 名前空間の宣言 | - | |
接頭辞 | - | - | 名前空間の宣言 | - | |
XML Schemaファイル名 | - | - | xsi:schemaLocation属性と属性値 | - | |
フィールド名 | XML属性フィールド:OFF | 要素名 | 要素名 | - | 要素名 |
XML属性フィールド:ON | XML属性名 | XML属性名 | - | XML属性名 | |
接頭辞 | - | - | - | 要素名に付く名前空間接頭辞名 | |
XML属性(固定値) | 属性リスト宣言(ATTLIST宣言)のXML属性名 | XML属性名と属性値 | - | XML属性名と属性値 | |
属性が集団項目ヘッダのときのフィールド名 | 要素型宣言の要素名 | 要素名(通常のフィールド名の1階層上位) | - | 要素名(通常のフィールド名の1階層上位) |
-:対応しない項目
Formatmanagerクライアントの入力内容 | XML文書(DTD)の値 | XML文書(Schema)の値 | |||
---|---|---|---|---|---|
DTD部 | XMLインスタンス部 | XML Schema参照部 | XMLインスタンス部 | ||
複数一般名称 | 文書型宣言のルート要素名 | ルート要素名(1階層目) | - | ルート要素名(1階層目) | |
XML Schema情報 | 名前空間未指定時のXML Schemaファイル名 | - | - | xsi:noNamespaceSchemaLocation属性と属性値 | - |
名前空間URI | - | - | 名前空間の宣言 | - | |
接頭辞 | - | - | 名前空間の宣言 | - | |
XML Schemaファイル名 | - | - | xsi:schemaLocation属性と属性値 | - | |
フラット名称 | 要素型宣言の要素名 | 要素名 | - | 要素名 | |
XML属性(固定値) | 属性リスト宣言の属性名 | XML属性名と属性値 | - | XML属性名と属性値 |
-:対応しない項目
Formatmanagerクライアントの入力内容 | XML文書(DTD)の値 | XML文書(Schema)の値 | |||
---|---|---|---|---|---|
DTD部 | XMLインスタンス部 | XML Schema参照部 | XMLインスタンス部 | ||
伝票形式名称 | 文書型宣言のルート要素名 | ルート要素名(1階層目) | - | ルート要素名(1階層目) | |
XML Schema情報 | 名前空間未指定時のXML Schemaファイル名 | - | - | xsi:noNamespaceSchemaLocation属性と属性値 | - |
名前空間URI | - | - | 名前空間の宣言 | - | |
接頭辞 | - | - | 名前空間の宣言 | - | |
XML Schemaファイル名 | - | - | xsi:schemaLocation属性と属性値 | - | |
フラット名称 | 要素型宣言の要素名 | 要素名 | - | 要素名 | |
XML属性(固定値) | 属性リスト宣言の属性名 | XML属性名と属性値 | - | XML属性名と属性値 |
-:対応しない項目
Formatmanagerクライアントの入力内容 | XML文書(DTD)の値 | XML文書(Schema)の値 | |||
---|---|---|---|---|---|
DTD部 | XMLインスタンス部 | XMLインスタンス部 | XMLインスタンス部 | ||
可変長名称 | 文書型宣言のルート要素名 | ルート要素名 | - | ルート要素名 | |
XML Schema情報 | 名前空間未指定時のXML Schemaファイル名 | - | - | xsi:noNamespaceSchemaLocation属性と属性値 | - |
名前空間URI | - | - | 名前空間の宣言 | - | |
接頭辞 | - | - | 名前空間の宣言 | - | |
XML Schemaファイル名 | - | - | xsi:schemaLocation属性と属性値 | - | |
フラット名称 | 要素型宣言の要素名 | 要素名 | - | 要素名 | |
XML属性(固定値) | 属性リスト宣言の属性名 | XML属性名と属性値 | - | XML属性名と属性値 |
-:対応しない項目
ポイント
フィールド名、フラット名称、複数一般名称、伝票形式名称、可変長名称には、同一名称を指定できません。
フォーマット変換時には、内部サブセット、外部サブセットを問わず、DTDは参照されません。また、XML Schema文書も参照されません。変換時には変換テーブルが参照されます。
XML変換を行う場合には、XML規約で許されていない文字を以下に使用することはできません。
フィールド名
フラット名称
複数一般名称
伝票形式名称
可変長名称
XML属性(固定値)
XML Schema情報
接頭辞