WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

XMLNSC: エレメント値および混合内容

XMLNSC パーサーはコンパクト・パーサーなので、単一の内容のエレメントは単一の構文エレメントとして構文解析されます。 エレメントに子エレメントと何らかのテキストの両方がある場合、そのテキストは「混合内容」と呼ばれます。

単純内容を持つエレメント

次の単一内容の XML フラグメントが単一構文エレメントとして構文解析されます。
<simpleElement>simpleValue</simpleElement>
単純内容を持つエレメントの名前、フィールド・タイプ、および値を示す図
このエレメントの値は、以下の ESQL で照会することができます。
SET val = FIELDVALUE(InputRoot.XMLNSC.(XMLNSC.Field)simpleElement);
出力中に単純内容を持つエレメントを生成するには、次のようにします。
SET OutputRoot.XMLNSC.(PCDataField)simpleElement VALUE = 'simpleValue';  
メッセージ・ツリーを照会する際に XMLNSC.Field を使用したものの、出力メッセージを構成する際には XMLNSC.PCDataField を指定していることに注意してください。 メッセージ・ツリーを照会する際に XMLNSC.PCDataField を使用することもできましたが、次の例に示すように、入力メッセージが CData セクションを使用していると、それは機能しません。
<simpleElement><![CDATA[simpleValue]]></simpleElement>

混合内容を持つエレメント

エレメントが子エレメントを持つ場合、それは通常「フォルダー」であり、値を持ちません。 エレメントに子エレメントと何らかのテキストの両方がある場合、そのテキストは「混合内容」と呼ばれます。
<element>mixed1<child>simpleValue</child>mixed2</element>
デフォルトでは混合内容は廃棄されます。通常これはフォーマット設定用の空白に過ぎず、ビジネス上の意味を持たないためです。 ノード・プロパティーの「パーサー・オプション」ページ上で「混合内容の保存」チェック・ボックスを選択すれば、混合内容を保存することができます。

混合内容が保存される場合、XMLNSC パーサーは混合内容の個別の項目ごとに、「値」子エレメントを作成します。

この図は、混合内容のために作成された子エレメントを示しています。
混合内容は、以下の ESQL で照会することができます。
SET mixed1 = FIELDVALUE(InputRoot.XMLNSC.(element).*[1];
上の XML フラグメントを構成する ESQL は、以下のとおりです。
CREATE ref REFERENCE TO OutputRoot.XMLNSC.element; 
CREATE FIRSTCHILD OF ref TYPE XMLNSC.PCDataValue VALUE 'mixed1'; 
CREATE LASTCHILD OF ref NAME 'child' TYPE XMLNSC.PCDataField  VALUE 'simpleValue';  
CREATE LASTSTCHILD OF ref TYPE XMLNSC.PCDataValue VALUE 'mixed2';
以下の ESQL により、「混合内容の保存」 オプションは使用可能になります。
DECLARE X BLOB; 
-- assume that X contains an XML document 
CREATE LASTCHILD OF OutputRoot
    PARSE(X OPTIONS XMLNSC.MixedContentRetainAll); 

CData セクションを含むエレメント

CData セクションは、エレメントの内容に XML マークアップ文字を含めることができる XML 表記です。

以下の 2 つの XML フラグメントは、意味上は同一です。
<simpleElement>simpleValue</simpleElement>
<simpleElement><![CDATA[simpleValue]]></simpleElement>
CData セクションが唯一のテキスト内容である場合、XMLNSC パーサーはフィールド・タイプを XMLNSC.PCDataField の代わりに XMLNSC.CDataField に設定することによって、入力文書が CData セクションを含んでいたことを記憶します。

CData セクションが唯一のテキスト内容ではない場合、それは子の値エレメントとして、残りのテキスト内容を表す他の子の値エレメントと共に作成されます。 以下は、この一例です。

<simpleElement><![CDATA[CDataValue]]>normalText</simpleElement>
この図は、作成済みの CDataValue 子エレメントを示しています。

XML 文書中での正しい CData の使用法の詳細については、XMLNSC: CData の処理を参照してください。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:46:13


概念トピック概念トピック | バージョン 8.0.0.5 | ac67195_