2.10.3.4 変換の制限事項
Tuxedoで提供されているXerces 3.2.3パーサーを使用したXMLデータとFML/FML32バッファ間の変換には、次の制限事項があります。
- XMLドキュメントは、柔軟なXML文法としてではなく、制限されたXMLメッセージ・セットとして処理されます。この制限は、FML/FML32ヘッダー・ファイルで指定されている定義に基づいています。
- デジタル署名されたXML、FML、FML32バッファは、自動変換時に署名のチェックに失敗します。デジタル署名用の
tpenvelope()
関数は、オンデマンド変換時にのみ使用できます。 - 解析の制限は、Xercesライブラリから継承されています。
- Xercesパーサーは、出力XML DTD/スキーマ検証をサポートしていません。
- XMLとFML/FML32バッファ間の変換によって、開始したときとまったく同一のXMLドキュメントが必ずしも作成されるわけではありません。Tuxedo FML/FML32バッファは、バッファ内の同じフィールド型をグループ化し、そのグループを基に出力順序を決めるため、入力XMLに基づく個々の要素の順序は失われます。Xercesパーサーは、FML/FML32フィールド入力順序を追跡したり、FML/FML32フィールド出力順序を制御したりすることはできません。
以下の点に注意してください。
- XML変換中に入力形式の構造はすべて失われます。
- view32メンバーの部分リストをXMLに入力できますが、XMLがFML32に変換される際に、FML32の出力には、VIEW定義ファイルで定義されたすべてのview32メンバーが含まれます。
- 自動変換の際に、入力XMLルート・タグ名は保存されず、デフォルトの出力XMLルート・タグ
<FML Type="FML">
または<FML Type="FML32">
が使用されます。
関連項目:
- 『Oracle Tuxedo ATMIアプリケーション開発のためのチュートリアル』の「XMLSTOCKAPP (CおよびC++ XMLパーサー・アプリケーション)のチュートリアル」
- 『Oracle Tuxedo ATMI C関数リファレンス』の
tpfml32toxml(3c)
、tpfmltoxml(3c)
、tpxmltofml32(3c)
およびtpxmltofml(3c)
に関する項 - 『Oracle Tuxedoファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』の
tuxenv(5)
およびUBBCONFIG(5)
に関する項 - VIEW型バッファの使用
- FML型バッファ
- MBSTRING型バッファの使用
親トピック: XMLデータとFML/FML32バッファ間の変換