Are multiple XML default namespaces allowed?

namespaces, soap, xml

Solution

Yes.

The case where you have multiple default namespaces is covered in the spec:

The scope of a default namespace declaration extends from the beginning of the start-tag in which it appears to the end of the corresponding end-tag, excluding the scope of any inner default namespace declarations.

Problem

Consider the following xml ``` <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="mycompany.com.myservice"> <soap:Header> <To xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://mycompany.com/myservice</To> <Action xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">mycompany.com/myservice/dosomething</Action> </soap:Header> <soap:Body> <mypayload>hello world</mypayload> </soap:Body> </soap:Envelope> ``` is the use of multiple un-aliased default namespaces valid?

Original source