2015-12-16 112 views
0

我想在數據編​​織器中創建XML時實現默認命名空間。 我在數據編織器文檔和早先的帖子下面想到了。無法得到任何線索。我們如何聲明默認的命名空間。數據編織器中的默認命名空間聲明

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

我的投入將是從DB - 鏈表。輸出是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> 

回答

0

我無法找到解決辦法,可以DataWeave以實現請求XML結構默認命名空間。

雖然我可以使用下面的Dataweave類作爲臨時解決方案。在所有請求xml標籤中加入名稱空間「ns0#」。

請讓我知道,如果有任何最簡單的方法去做。

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