Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
986 views
in Technique[技术] by (71.8m points)

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

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?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...