Does having a different name for the XML namespace prefix matter?

蹲街弑〆低调 提交于 2021-02-04 07:17:16

问题


Long story short, I'm changing the web-server container for an application. The old container would send back SOAP responses as follows:

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

In the new server, I'm able to send back the following responses:

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

As you can see, the only thing different is the namespace prefix used (SOAP-ENV versus soap). I do not have transparency on all the clients who could be dependent on these web-services, but are the two XML responses identical? Could any client break as a result of seeing (simply) a different namespace prefix for the root Envelope and Body tags, even if they ultimately point to the same URI?


回答1:


No, namespace prefix names are insignificant apart from their bindings to namespace values.

It is possible that some poorly-written software will have an improper dependency on an XML namespace prefix. However, per well-adopted W3C standards, namespace prefix names only derive meaning through their binding to a namespace value. They are insignificant apart from that binding.

No conformant XML processor will depend upon the specific namespace prefix name itself.



来源:https://stackoverflow.com/questions/54791081/does-having-a-different-name-for-the-xml-namespace-prefix-matter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!