我理解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是由不存在的网址组成的?谁验证/验证了真实性?我可以给一些随机关键字,它仍然可以工作?那么重点是什么呢?是否有一些中央存储库被调查?请以外行的方式澄清。
答案 0 :(得分:1)
An XML namespace name URI need not be retrievable,并且没有中央权限来管理名称空间的使用或创建。有一个隐含的规范,只有域的持有者可以基于该域创建命名空间。
更新以在评论中解决OP的问题:
但我打算知道如果有两个人不情愿地使用同样的东西 命名空间,他们无法知道?
许多人可以在没有协调的情况下使用许多名称空间;这是命名空间的重点。
只有名称空间所在域的持有者才能使用该域定义命名空间。
此外,我在本地为2个不同的元素使用相同的命名空间 冲突会在当地发生吗?
使用具有相同名称空间的不同元素没有内在问题;事实上它很常见。
谁在本地检查了我的xml文件?有一些验证步骤吗?
可以针对XSD验证XML文件,XSD可以在定义中指定用于定义XML文件有效性的词汇表和语法规则的命名空间。