XML名称空间前缀使用其他名称是否重要?

时间:2019-02-20 16:28:45

标签: xml soap xml-namespaces

长话短说,我正在更改应用程序的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响应是否相同?即使客户端最终指向相同的URI ,任何客户端都能看到(简单地)为根Envelope和Body标签使用不同的名称空间前缀而中断吗?

1 个答案:

答案 0 :(得分:1)

否,除了名称空间前缀与名称空间值的绑定以外,名称空间前缀是微不足道的。

某些写得不好的软件有可能对XML名称空间前缀有不当的依赖。但是,根据公认的W3C标准,名称空间前缀名称仅通过将它们绑定到名称空间值来获得含义。除了这种绑定之外,它们无关紧要。

没有一致的XML处理器将依赖于特定的名称空间前缀名称本身。