我知道 XML 命名空间必须是唯一的,以避免元素的名称冲突/冲突。但我不明白的是,这个冲突到底是在哪里检查的?谁将验证/确认命名空间的唯一性?
例如,考虑以下取自堆栈溢出的线程之一的示例:
<config xmlns:rnc="http://www.abcde.com/r1" xmlns:bsc="http//www.pqrs.com/r2">
<rnc:node>
<rnc:rncId>5</rnc:rncId>
</rnc:node>
<bsc:node>
<bsc:cId>5</bsc:cId>
</bsc:node>
</config>
现在 www.abcde.com 和 www.pqrs.com 是虚构的网址,但并不存在?那么谁来验证/验证真实性?我可以给出一些随机关键字,它仍然有效吗?那么重点是什么呢?是否有一些正在调查的中央存储库?请用通俗的语言解释一下。
最佳答案
An XML namespace name URI need not be retrievable ,并且没有中央机构来管理命名空间的使用或创建。有一个隐含的规范,即只有域的持有者才能基于该域创建命名空间。
更新以解决评论中OP的问题:
But i intend to know that if 2 people are unwillingly using the same namespace, there is no way for them to know?
许多人可以使用许多命名空间而无需协调;这就是命名空间的要点。
只有命名空间所基于的域的持有者才可以使用该域定义命名空间。
Also, i use the same namespace for 2 different elements locally, then will the conflict arise locally?
不同的元素具有相同的命名空间并不存在本质问题;事实上,这很常见。
Who checked my xml file locally? Is there some validation step?
XML 文件可以根据 XSD 进行验证,XSD 可以在定义、定义 XML 文件有效性的词汇和语法规则中指定命名空间。
关于xml - 谁检查 XML 命名空间是否唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39854313/