2012-08-29 70 views
0

在我的項目中,有許多不同類型的XML文件,比如XSD,WSDL,參數映射等。它們都由IDE接收生成的名稱空間,但命名空間並不是唯一的(跨項目 - 具有相同名稱的元素獲得相同的命名空間),也沒有描述性(或混淆 - 它們都以「http://www.ibm.com/...」開頭,儘管它們定義了我自己的實體,而不是IBM的實體)。然後,命名空間重構是必需的。相同或不同的xml名稱空間?

我懷疑有以下幾種:

1)如果每一個元素都有自己的命名空間,或應有關的內容分享自己的命名空間?例如,

  • SOAP請求和響應消息應該屬於同一個命名空間,還是應該有它們自己的命名空間?
  • WSDL和相關的XSD應該使用相同的目標名稱空間還是不同的?

例如:

http://www.xarx.com/xmlns/TheProject/Administration/wsdl/StartProcess 
http://www.xarx.com/xmlns/TheProject/Administration/xsd/StartProcessRequest 
http://www.xarx.com/xmlns/TheProject/Administration/xsd/StartProcessResponse 

或萬事成

http://www.xarx.com/xmlns/TheProject/Administration 

2)生成的所有命名空間,這將是公開可見的,必須予以糾正,確保萬無一失。但是那些項目內部的那些呢 - 他們重構浪費時間?它們可能出現在管理控制檯或日誌中,錯誤的名稱空間可能會引起誤解。

回答

0

我們試圖使用相同的XML命名空間中的WebSphere ESB爲所有相關的元素,這裏是我的經驗:

所有相關的元素可以使用相同的命名空間,IDE和編譯器不打擾。具有不同用途的元素通常具有不同的名稱,因此它們不會導致名稱衝突。但是IDE會生成大量的XML文件,有時會發生生成的元素與您想要使用的名稱相同的名稱。 (通常,XXX_Request和XXX_Response是由Websphere Integration Developer生成的派生成WSDL文件的名稱,因此我們必須使用XXX_Req和XXX_Res代替我們的目的。)

相關問題