Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML名称空间前缀使用不同的名称是否重要?_Xml_Soap_Xml Namespaces - Fatal编程技术网

XML名称空间前缀使用不同的名称是否重要?

XML名称空间前缀使用不同的名称是否重要?,xml,soap,xml-namespaces,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> ... 其他元素。。。

长话短说,我正在更改应用程序的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-ENVSOAP)。我对所有可能依赖这些web服务的客户机没有透明度,但这两个XML响应是否相同?任何客户端是否会因为看到(简单地)根信封和正文标记的不同名称空间前缀而中断,即使它们最终指向相同的URI?

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

某些编写糟糕的软件可能对XML名称空间前缀有不正确的依赖关系。然而,根据采用良好的W3C标准,名称空间前缀名称只能通过绑定到名称空间值来获得含义。除此之外,它们是无关紧要的


任何符合规范的XML处理器都不会依赖于特定的名称空间前缀名称本身。

不,这不重要。尽管可能有一些实现不使用专用的XML库,而是严格解析内容。这些消费者可能会破产。我曾与我们的一位客户发生过这样的事件,但对于一个基于JSON的文档,他声称我们改变了任何东西,而他认为JSON元素总是按照与他手动解析内容相同的顺序发送,而不是使用专用的JSON库…这不会有任何区别,但从我们在这些页面上看到的对XML原则的一些无知来看,如果有人硬编码了前缀的依赖关系,我也不会感到惊讶。毕竟,我们仍然看到人们试图使用正则表达式分析XML文档。