2012-08-29 45 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代替我们的目的。)

相关问题