是否具有XML名称空间前缀的不同名称?

问题描述 投票:1回答:1

长话短说,我正在更改应用程序的Web服务器容器。旧容器将发回SOAP响应,如下所示:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
      ... other elements ...
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

在新服务器中,我能够发回以下响应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     ... other elements ...
   </soap:Body>
</soap:Envelope>

正如您所看到的,唯一不同的是使用的名称空间前缀(SOAP-ENV与soap)。我对所有可能依赖这些Web服务的客户端没有透明度,但两个XML响应是否相同?任何客户端都可以看到(简单地)根Envelope和Body标签的不同名称空间前缀,即使它们最终指向相同的URI?

xml soap xml-namespaces
1个回答
1
投票

不,名称空间前缀名称除了与名称空间值的绑定之外是无关紧要的。

一些写得不好的软件可能会对XML名称空间前缀产生不正确的依赖。但是,根据良好采用的W3C标准,名称空间前缀名称仅通过绑定到名称空间值来获得意义。除了这种约束力之外,它们是微不足道的。

没有符合条件的XML处理器将依赖于特定的名称空间前缀名称本身。

© www.soinside.com 2019 - 2024. All rights reserved.