XML:子节点是否继承父节点的前缀?

Dmi*_*ykh 22 xml xml-namespaces

假设以下XML文档:

<root xmlns:foo="...">
  <foo:parent>
    <child/>
  </foo:parent>
</root>
Run Code Online (Sandbox Code Playgroud)

child元素属于对应于前缀命名空间foo?就像万一<foo:child/>

har*_*r07 29

号子节点继承默认前缀名字空间,正如你提到需要明确的前缀增加:<foo:child/>.

但它们确实继承了祖先的默认命名空间(没有前缀的命名空间),如果有的话:

<root xmlns:foo="...">
  <parent xmlns="bar">
    <child/>
  </parent>
</root>
Run Code Online (Sandbox Code Playgroud)

<parent><child>节点在URI的同一名称空间中bar.

  • 感谢您不仅回答问题,还回答相关的非前缀版本. (3认同)
  • 有办法防止这种情况吗? (2认同)
  • 我想为此添加XML参考文档:https://www.w3.org/TR/xml-names/#scoping(至少这是我从这部分了解的内容) (2认同)
  • @har07 这个答案的来源是什么? (2认同)