请注意,将输入消息元素复制到输出元素时,不但要将输出元素的值设置为输入元素的值,而且要将输出元素的类型也设置为输入元素的类型。举例来说,这表示如果您有一个带有属性的输入 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;