我有这段代码:
<st:friend xmlns:st='areacode:819'>
<st:name xmlns:st='urn:555'>Company</st:name>
<type>B</type>
</st:friend>
有人可以解释为什么st被宣告两次吗?
答案 0 :(得分:2)
您的XML示例格式不正确,因为它没有关闭<st:friend>
元素,但我假设您打算在<type>
元素之后关闭它。
这里发生的是<st:name>
元素正在重新定义st
前缀引用的命名空间(到urn:555
)。此定义仅适用于<st:name>
元素(如果存在,也适用于子元素)。结束标记<st:name/>
后,st
前缀再次引用其原始名称空间(areacode:819
)。