我正在定义一个 XML 模式并为它编写一个解析器。这是完全合法的:
<?xml version="1.0"?>
<a:root xmlns:a="http://somewhere/a/">
<a:element/>
<a:element/>
<a:element/>
</a:root>
但是我对以下两个文件有疑问:
<?xml version="1.0"?>
<root>
<element/>
<element/>
<element/>
</root>
和
<?xml version="1.0"?>
<a:root xmlns:a="http://somewhere/a/" xmlns:b="http://somewhere/b/">
<a:element/>
<b:element/>
<element/>
<element/>
</a:root>
如果我把这两个文件给我的解析器,结果应该是什么?有没有关于这个主题的 w3 推荐?
为了您的兴趣,这就是我的想法:
对于没有任何
xmlns
声明的文档,结果应该是一个空对象;对于带有混合的文档
xmlns
,结果应该是一个只包含一个element
.