2013-03-06 88 views
4

考虑下面的XML是否允许多个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> 

是使用多个混叠的默认命名是否有效?

回答

5

是的。

,如果有多个默认命名空间是覆盖在the spec案例:

默认命名空间声明的范围从它出现在相应月底结束的开始标记的开始延伸-tag,不包括任何内部默认名称空间声明的范围。

+0

你愿意提供一个例子吗? – barrypicker 2013-06-05 16:16:00

+1

@barrypicker - 问题中的代码就是一个例子。 ''及其所有子节点都位于与''不同的命名空间中。 – Quentin 2013-06-05 16:17:37

+0

不是''上面的文本的子节点'“不包括任何内部默认名称空间声明的范围。令人困惑。 – ulab 2017-07-05 14:18:07

2

是的。

(这就是我要说的,但StackOverflow不喜欢简短的答案)。