数据编织器中的默认名称空间声明

时间:2015-12-16 18:07:15

标签: mule esb dataweave anypoint-studio

我正在尝试在数据编织器中创建XML时实现默认命名空间。 我想到了数据weaver文档和早期帖子。无法得到任何线索。我们如何声明默认命名空间。

https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-tutorial

我的输入将来自数据库链接列表。输出是XML。

%dw 1.0
%namespace ns0 urn:abc:def:Components
%output application/xml
---
{
    ns0#University: {
        college: payload.college[0],
        (payload map ((payload01 , indexOfPayload01) -> {
            dept: {
                deptName: payload01.dept,
                Noofstudents: payload01."No of students" as :number
            }
        }))
    }
}

当前输出

<ns0:University xmlns:ns0="urn:abc:def:Components">
<college>abc</college> <!-- this is simple tag/ It will not repeat -->
<dept> <!-- This is complex tag -->
   <dept Name>IT</dept Name>
   <No of students>5</No of students>
</dept>
<dept>
   <dept Name>IT</dept Name>
   <No of students>5</No of students>
</dept>
<dept>
   <dept Name>IT</dept Name>
   <No of students>5</No of students>
</dept>
</ns0:University>

预期输出

<University xmlns="urn:abc:def:Components">
<college>abc</college> <!-- this is simple tag/ It will not repeat -->
<dept> <!-- This is complex tag -->
   <dept Name>IT</dept Name>
   <No of students>5</No of students>
</dept>
<dept>
   <dept Name>IT</dept Name>
   <No of students>5</No of students>
</dept>
<dept>
   <dept Name>IT</dept Name>
   <No of students>5</No of students>
</dept>
<University>

1 个答案:

答案 0 :(得分:0)

要解决上述问题,您可以将xmlns="urn:abc:def:Components"作为属性添加到“大学”标签。请勿在此处使用名称空间逻辑,否则它将使用ns0#名称空间创建University标记。

像大学一样@(xmlns:“ urn:abc:def:Components”)

相关问题