【发布时间】:2021-08-26 13:46:55
【问题描述】:
您好,我在理解命名空间和默认命名空间如何在 xml 中工作时遇到问题
在下面的示例中,我看到了 2 个默认命名空间(recherche 和 mots-clefs)和 2 个命名空间(xmlns:yahoo 和 xmlns:yahoo2,对吗?
<?xml version="1.0"?>
<recherche xmlns="http://www.google.com/" xmlns:yahoo="http://www.yahoo.com/">
<mots-clefs xmlns="http://www.yahoo.com/">fraise, orange</mots-clefs>
<yahoo:mot xmlns:yahoo2="http://www.yahoo.com/">
<nombre>3</nombre>
</yahoo:mot>
</recherche>
【问题讨论】:
-
对于您的
yahoo:mot元素,由于 yahoo.com 命名空间在recherche祖先中声明,并带有yahoo前缀,并且用于yahoo:mot,因此不需要有xmlns:yahoo2="http://www.yahoo.com/"。它只是创建另一个(未使用的)命名空间前缀,绑定到已声明的同一个命名空间。这只是混乱。将命名空间前缀视为变量,命名空间是分配的值。如果它们具有相同的值,则不需要 yahoo 和 yahoo2。
标签: xml xml-namespaces