入力メッセージ・エレメントを出力エレメントにコピーする際には、 出力エレメントの値 だけではなくタイプ も、入力エレメントに合せて設定するように注意してください。 つまり例えば、属性を持つ入力 XML 文書がある場合、 出力メッセージ内の Field エレメント (属性ではなく) を入力属性の値に合せて設定したいときは、 TYPE 文節キャストを含めることにより、エレメント・タイプを属性から Field に変更する必要があります。
<Field01 Attrib01='Attrib01_Value'>Field01_Value</Field01>これにより、以下の出力を作成するものとします。
<MyField_A MyAttrib_A='Attrib01_Value' MyAttrib_B='Field01_Value' > <MyField_B>Field01_Value</MyField_BC> <MyField_C>Attrib01_Value</MyField_C> </MyField_A'>以下の ESQL を使用することになります。
-- Create output attribute from input attribute SET OutputRoot.XMLNSC.MyField_A.MyAttrib_A = InputRoot.XMLNSC.Field01.Attrib01; -- Create output field from input field SET OutputRoot.XMLNSC.MyField_A.MyField_B = InputRoot.XMLNSC.Field01; -- Create output attribute from input field value, noting we have to -- "cast" back to an attribute element SET OutputRoot.XMLNSC.MyField_A.(XMLNSC.Attribute)MyAttrib_B = InputRoot.XMLNSC.Field01; -- Create output field from input attribute value, noting we have to -- "cast" back to a field element SET OutputRoot.XMLNSC.MyField_A.(XMLNSC.Field)MyField_C = InputRoot.XMLNSC.Field01.Attrib01;