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

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

ネーム・スペースの処理

以下の例は、ESQL を使ってネーム・スペースを処理する方法を示しています。

メイン・モジュールの先頭でネーム・スペース定数が宣言されているので、ESQL ステートメントでネーム・スペースの URI 全体ではなく、接頭部を使用することができます。 このネーム・スペース定数は ESQL だけに影響を与え、出力メッセージ中に生成された接頭部を制御しません。 生成される出力メッセージ内の接頭部は、メッセージ・ツリー中のネーム・スペース宣言によって制御されます。 XML.NamespaceDecl フィールド・タイプを使用して、ネーム・スペース宣言をツリーに組み込むことができます。 その後、そのエレメントを使用して、出力メッセージ内にネーム・スペース宣言を生成します。

出力メッセージが生成されるとき、対応するネーム・スペース宣言を持たないネーム・スペースをパーサーが検出すると、NSn という形式の接頭部を使用して、接頭部が自動的に生成されます (n は正の整数)。

CREATE COMPUTE MODULE xmlns_doc_flow_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN 
BEGIN 
CALL CopyMessageHeaders();
-- Declaration of namespace constants -- 
These are only used by ESQL

DECLARE sp1 NAMESPACE 'http://www.ibm.com/space1'; 
DECLARE sp2 NAMESPACE 'http://www.ibm.com/space2'; 
DECLARE sp3 NAMESPACE 'http://www.ibm.com/space3';  

-- Namespace declaration for prefix 'space1'  
SET OutputRoot.XMLNS.message.(XML.NamespaceDecl)xmlns:space1 = 'http://www.ibm.com/space1';   
SET OutputRoot.XMLNS.message.sp1:data1 = 'Hello!';         

-- Default namespace declaration ( empty prefix )  
SET OutputRoot.XMLNS.message.sp2:data2.(XML.NamespaceDecl)xmlns = 'http://www.ibm.com/space2'; 
SET OutputRoot.XMLNS.message.sp2:data2.sp2:subData1 = 'Hola!'; 
SET OutputRoot.XMLNS.message.sp2:data2.sp2:subData2 = 'Guten Tag!';  
SET OutputRoot.XMLNS.message.sp3:data3 = 'Bonjour!';  
RETURN TRUE; 
END;  

CREATE PROCEDURE CopyMessageHeaders() 
BEGIN 
DECLARE I INTEGER 1; 
DECLARE J INTEGER CARDINALITY(InputRoot.*[]); 
WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; 
  SET I = I + 1; 
END WHILE; 
END;  
END MODULE;
この ESQL が処理されると、次の出力メッセージが生成されます。
<message xmlns:space1="http://www.ibm.com/space1">
 <space1:data1>Hello!</space1:data1>
 <data2 xmlns="http://www.ibm.com/space2">
  <subData1>Hola!</subData1>
  <subData2>Guten Tag!</subData2>
 </data2>
 <NS1:data3 xmlns="http://www.ibm.com/space3>Bonjour!</NS1:data3>
</message>
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

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

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


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | ac67172_