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

1

6

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?

Dull answered 20/2, 2019 at 16:28 Comment(2)
No, it shouldn't matter. Though there might be implementations out there that do not use dedicated XML libraries and instead parse the content strict. Such consumers might break. I had such a incident with one of our customers, though for a JSON based document, who claimed that we had changed anything when instead he assumed that JSON elements would always be sent in the same order as he manually parsed the content instead of using a dedicated JSON library ...Cathartic
It shouldn't make any difference, but judging from some of the ignorance of XML principles that we see on these pages, it wouldn't surprise me if someone has hard-coded a dependency on the prefix. After all, we still see people trying to analyse XML documents using regular expressions.Statued
T
4

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.

Tapioca answered 20/2, 2019 at 16:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.