2.5.2.3 XMLデータ・マッピング
ノート:
- 小数の値がない浮動小数点数は、整数として表現されます。たとえば、10.0は10と出力されます。これは現時点での制約です。
- HTTPモードにはインタフェースがないため、ネームスペースは生成または処理されません。
- シンプル・バッファ(
STRING
、CARRAY
、MBSTRING
、XML)は、XML処理なしにそのまま送受信されます。動作はJSON処理と同じです(つまり、マッピングは必要ありません)。 FML
およびFML32
のリクエストは、ルート要素でラップする必要があります(ルート要素の名前は、XMLが適切な形式であれば無視されます)。また、応答は、SALTDEPLOY
構成ファイルのHTTP/Service/@outputbuffer
属性に指定されているサブタイプと同じ名前の要素か、サブタイプが構成されていない場合は<root>
要素でラップします。VIEW
、VIEW32、X_COMMON
およびX_C_TYPE
バッファはサブタイプ名をルート要素名として使用します。
Oracle Tuxedoの様々なバッファ・タイプとXMLとの変換は、次の表に示すように行われます:
表2-17 XMLデータ・マッピング
Oracle Tuxedoバッファ・タイプ | 説明 | HTTP XMLマッピングの例 |
---|---|---|
STRING
|
Oracle Tuxedo STRING 型付きバッファは、NULL 文字で終わる文字列の格納に使用します。Oracle Tuxedo STRING 型付きバッファは自己記述型バッファです。
|
HELLO WORLD! |
CARRAY
|
Oracle Tuxedo CARRAY 型付きバッファには文字配列が格納されます(配列内には任意の位置にNULL を含んでよい)。CARRAY バッファはデータをオペークなものとして扱うバッファで、自己記述型ではありません。
|
バイナリ・コンテンツ |
MBSTRING
|
Oracle Tuxedo MBSTRING 型付きバッファは、マルチバイト文字配列に使用します。Oracle Tuxedo MBSTRING バッファは次の3つの要素により構成されます。
- コードセット文字エンコーディング - データ長 - エンコーディングの文字配列。 UTF-8以外のエンコーディングを転送するには、SALTDEPLOY構成の |
Content-Type設定に基づいてエンコードされたマルチバイト文字列。 |
XML
|
Oracle Tuxedo XML 型付きバッファにはXMLドキュメントが格納されます。
GWWSサーバーでは、実際のXMLデータが整形式であることが検証されます。それ以外の事項(スキーマ検証など)の適用については確認されない。 ペイロードには、単一ルートの 元のXMLドキュメントに含まれるプロローグ情報は、ペイロードに含めて伝送することはできません。
|
XMLフラグメントはそのままです |
X_C_TYPE
|
VIEW/VIEW32 と同じ
|
- |
X_COMMON
|
VIEW/VIEW32 と同じ
|
- |
X_OCTET
|
CARRAY と同じ
|
- |
VIEW/VIEW32
|
Oracle Tuxedo VIEW およびVIEW32 型付きバッファには、Oracle Tuxedoアプリケーションで定義されたC構造が格納されます。
VIEWでは次のフィールド型がサポートされています:
|
|
- | VIEW32 では、すべてのVIEW フィールド型、mbstring および埋込みVIEW32 型がサポートされています。
サブ要素の名前は |
- |
FML/FML32
|
Oracle Tuxedo FML およびFML32 型バッファは、Oracle Tuxedoシステムに特有の自己記述型バッファです。各データ・フィールドは独自の識別子、オカレンス番号、および可能であれば長さインジケータを保持します。
FMLでは次のフィールド型がサポートされています:
|
ネストFLD_VIEW32 : ビュー・サブタイプの名前は組込みVIEW32 の名前である必要があります。例:
|
RECORD
|
RECORD バッファ・タイプは、コピーブック・レコードを表します。RECORD 型には、個々のレコード構造体を示すサブタイプが必要です。
生成されるCOBOL型:
|
|
ノート:
非構造化バッファ・タイプ(STRING
、CARRAY
、 X_OCTET
、 MBSTRING
)はデータをXMLオブジェクトとしてラップしません。データはそのまま転送されます。